Membership Platform, California
A community organization with nothing digital. Membership, payments, store, events and delivery had to exist in three months.
- 3 months
- idea to production
- 3k+
- monthly members
- $50k+
- monthly store turnover
- Region
- California, US
- Role
- Developer → team lead → head of all technology
- Duration
- Late 2024 – present · ~2 years, ongoing
- Status
- In production.
- Team
- 7 engineers at peak, 9 at most. 18 people across the digital program.
What they needed
Nothing existed. No member database, no events system, no store that worked. There was a store SaaS. It was bad enough that we rewrote it rather than integrate it.
The organization knew from day one this was a large program: membership tiers, payments, a store, events, a community space, and delivery for members who cannot come in person. Later a print production line with its own hardware joined the platform.
I joined as a developer at the end of 2024. By the time the first version shipped I was leading the dev team. Today I run all of the technology.
What I did
Membership is a gate, not a label
A non-member gets nothing. The funnel ends with a physical member card, issued in person after a document check. No KYC vendor.
WhyWe looked at building KYC and at buying it. For this community a person at a desk checking a driver's license is cheaper, faster and more trusted than any API. The software's job is to make that desk the only way in.
One classic stack, no experiments
Next.js and React on Vercel, Node and Express for services, Postgres on Supabase, Python for anything that needed a script. I wanted Vue at the time. We did not pick Vue.
WhyI was not ready to run commercial development on a framework I was still learning, and hiring would have been harder. The hire that mattered most was a front-end engineer, because front-end is the work I do slowest.
Hire DevOps early, let him leave early
Four months of a very strong DevOps engineer set up environments, deploys and monitoring. He consults for us now.
WhyThe platform would not have shipped in three months without that work. It also did not need a full-time DevOps engineer once it was done.
Integrate the point of sale, do not replace it
The store runs on our platform. Lightspeed POS is integrated for in-person sales and inventory. Payments go through several third-party APIs and our own crypto bridge.
WhyReplacing POS hardware across locations was not where the value was. Inventory and member identity were.
Keep the monolithic admin
The admin panel is large, heavy and collects a lot of operational statistics. It breaks occasionally. I am the only one who works on it.
WhyRewriting it costs more than maintaining it, and it does everything it was asked to do. Members never see it. Admin downtime is an inconvenience, not an incident.
Proof
- 3 months
- idea to production
- 3k+
- monthly members
- $50k+
- monthly store turnover
Four product lines, one member identity.
What I would do differently
Supabase. The platform needs plain Postgres that we operate. We should have left as soon as it was possible.
Vercel is fine. The next step is our own infrastructure, and early decisions make that move harder than it should be.
Staff payroll calculation broke several times: bonuses, staff loans, staff prices, per-person rates, and automatic time logging that depended on people clocking out. It should have been a separate, boring service from the start.
Stack
- Next.js
- React
- Node.js
- Express
- PostgreSQL
- Supabase
- Vercel
- Python
- Lightspeed POS
Tell me what is broken.
I will tell you what I see.
30 minutes. You describe the system, I ask questions. No pitch.