SimpleClosure

Full-Stack Engineer • Nov 2024–Present

Overview

SimpleClosure automates the legal, financial, and operational work of shutting down a company. I own technical design and end-to-end implementation of the projects I lead — taking features from architecture through to production.

Tech stack

  • Next.js/
  • React/
  • TypeScript/
  • GCP/
  • Firebase/
  • PostgreSQL/
  • Stripe API/
  • Drizzle ORM

People & Entities Layer

Every dissolution involves a web of people and organizations — founders, lawyers, shareholders, board members — each with different roles, relationships, and signing responsibilities. Before this system existed, that data lived inconsistently across accounts with no reliable way to query or act on it.

I designed and built the company’s first unified people-and-entities layer — a normalized relational data model that tracks every person and organization across all accounts, with deterministic dedup logic, atomic import pipelines, and live signing-state management. It made customer data queryable and usable for the first time and sits underneath the entire dissolution workflow. I now lead other engineers on this domain.

Payments Infrastructure

When I joined, billing was entirely manual — the ops team invoiced customers one by one. I designed and shipped Stripe end-to-end: card and ACH payments, single- and multi-invoice billing, an idempotent webhook pipeline processing 11 event types, refunds, and the full dispute lifecycle.

The integration now powers billing across the majority of our customers and has returned an estimated 2,000 hours of ops capacity in the past year.

Automation Engine

A large category of operational work — generating and sending documents, triggering downstream tasks, managing account state — was being done manually, one account at a time. I built the system that eliminated that entirely.

The automation engine turns manual document work into background jobs with no ops involvement required. I designed the trigger logic, state machine, and dependency cascade end-to-end. It has saved over 1,500 hours of manual work since launch.

Chat Support Infrastructure

Our support team was resolving paying-client issues over email, with a median time-to-resolution of around 25 hours. I led the end-to-end implementation of a new chat support stack — from vendor evaluation through to rollout — including identity-verified chat and a bidirectional sync of account and contact state.

Median time-to-resolution is now ~2.5 hours. Roughly 10x faster.