Case Study · 2019
From Parse.js to CQRS: Rebuilding a YC Startup's Backend
Recruited by the CTO as the first full-stack engineer to fix BUMP's scaling crisis. Migrated from a single-file Parse.js app to a production-grade NestJS + GraphQL architecture.
Client
BUMP
Date
2019-06
Service
Backend Architecture, CQRS, GraphQL, Event-Driven Systems
Key Results
- → Recruited by the CTO as the first engineer on the new full-stack team.
- → Migrated entire backend from a single-file Parse.js app to NestJS + GraphQL.
- → Architected CQRS-based event-driven order system for StockX-like verification flows.
- → Managed SCRUM processes and led end-to-end engineering hiring pipeline.
The Challenge
BUMP (YC W18) had a problem that would have killed most startups: their entire backend was a single-file Parse.js application.
As a StockX-like sneaker and streetwear marketplace handling high-value transactions, they needed authentication flows, order verification, payment processing, and inventory management—all running through one file.
The CTO knew this wouldn’t scale. He recruited me as the first engineer on a new full-stack team to fix it—while the mobile apps continued shipping features on top of the existing system.
No pause button. No rewrite-and-replace. The migration had to happen live.
What I Did
Backend Migration
The first priority was getting off Parse.js without breaking the mobile apps:
- Migrated the entire backend from a single-file Parse.js app to NestJS + GraphQL
- Designed typed APIs with full validation to catch errors before they hit production
- Coordinated closely with the mobile teams to ensure seamless FE integration during the transition
- Set up proper testing infrastructure to prevent regressions
Event-Driven Order System
BUMP’s marketplace had a complex verification flow—like StockX, every high-value item needed authentication before the transaction could complete:
- Architected a CQRS-based event-driven order system to handle the multi-step verification process
- Implemented proper saga patterns to ensure consistency across payment, verification, and shipping states
- Built the system to handle edge cases: failed verifications, payment disputes, shipping delays
- Ensured eventual consistency across distributed services without losing orders
Team Leadership
Beyond the technical work, I helped build the engineering function:
- Managed SCRUM ceremonies and sprint planning for the team
- Led the end-to-end engineering hiring pipeline—from job specs to interviews to offers
- Established code review practices and deployment processes
The Tech Stack
- NestJS (Node.js)
- GraphQL (Apollo)
- CQRS + Event Sourcing patterns
- Saga-based transaction management
- PostgreSQL
- Redis (caching + queues)
The Results
- Single-file → Microservices — Complete backend architecture overhaul
- Millions — In marketplace transactions processed
- Zero — Data loss during live migration
- Full team — Engineering function built from scratch
The new architecture handled the transaction volume that would have crashed the Parse.js system. Orders flowed through verification, payment, and shipping with proper state management. The mobile apps never skipped a beat.
More importantly, BUMP now had an engineering foundation that could scale with the business—and an engineering team to maintain it.
More Case Studies
View all →Ready to scale your startup?
Let's discuss how we can help transform your MVP into enterprise-grade infrastructure.