A consumer people-search platform
Full-stack developer, 2025–now
What I own
- Frontend
- Marketing and landing pages, the main site, search reports, billing, and sign-in.
- Backend
- An Express API with authentication, role-based authorization, and server-side validation on every request.
- Cloud
- Business logic on AWS Lambda, multi-step workflows on Step Functions, S3, SQS and SES, infrastructure in AWS CDK, and data in MySQL and Redis.
- Payments
- The full payment integration, from checkout to billing.
Making a massive report readable
Every search returns one enormous report from our data provider, with hundreds of records nested inside each other, and the structure changes from report to report. Hand-coding each section wasn’t an option, because I couldn’t know which sections a future report would contain. So I built the report page to work it out on its own: recursive functions walk the nested structure, discover whatever sections exist, and render each one, so new and changed sections appear without code changes. Formatting helpers turn raw dates, names and addresses into plain, readable text, and addresses appear on a Google Map.
Subscriptions across several payment processors
Subscriptions run on NMI, CyberSource and PayPal, with Apple Pay and Google Pay at checkout. Each processor has its own API and its own ways of failing, so the hard part was making billing behave the same everywhere: never charging anyone twice, and retrying failed renewals instead of quietly losing the subscriber.