30 days. One engineer.
Production platform.
89 commits. 24 API endpoints. 54 tests passing. Stripe billing, member portal, admin command center, custom design language — all built solo from scratch. This is what one month of working with me actually looks like.
What the business actually needed.
Real client. Real constraints. The honest version — not the after-the-fact press release.
Adventure Family Getaways LLC
A Los Angeles-area operator with three messy verticals: short-term vacation rentals, long-term furnished stays, and a tech-services side business. Owner is the operator, the salesperson, and the technician. Needed one digital storefront that didn’t make him look like three different businesses.
Recurring revenue that didn’t exist yet
The tech-services side was paid one-job-at-a-time. No retention, no LTV, no predictability. The brief evolved from “build me a marketing site” to “invent a membership product that turns my best customers into a recurring book of business, and ship the entire system — pitch page, Stripe billing, member portal, admin tools — in one month.”
The honest timeline.
Not every week was a clean ship. Two of them included rewrites. The point of showing the messy iteration is so you can see what your money actually buys.
Foundation + the wrong product
First-week sprint: get something live, even if the product positioning is wrong. Better to ship and pivot than to plan and never ship.
- Vercel serverless deployment configured + first production push
- Initial Express backend with Stripe subscription creation
- Cinematic builder + checkout flows (later rewritten twice)
- Investor ROI calculator + gig-worker vertical landing page
- Formspree wired for lead capture
Product pivot + cart architecture
Rewrote positioning around “tech concierge for the family” instead of “phone library.” Built a cart-style builder so customers could stack services. Quiet Luxury design language as a holding pattern before the Tesla overhaul in Week 3.
- Inner-Circle cart architecture — stack multiple subscriptions in one Stripe checkout
- Calendly integration for AI coaching session bookings
- Mobile menu fixes, checkout bug fixes
- Quiet Luxury aesthetic across all marketing pages
- Premium typography stack: Cormorant Garamond + Outfit + Inter
Tesla-style rewrite + AFG ecosystem
Biggest visual + architectural change of the project. Rewrote the entire design system in the Tesla.com minimal language. Restructured the brand so AFG became the parent and Inner-Circle became one product. 17 pages updated in one pass.
- Tesla-style design system: dark/light scroll-snap sections, Inter sans, red accent
- Bulk rewrite of 15 pages to match the new design language
- AFG ecosystem restructure: Short-Term + Long-Term + Events + Inner-Circle
- Subdomain routing (innercircle.* → membership landing)
- Cinematic intro animation: glowing orb, ring rotations, text stagger
- Vercel CDN-first deployment (HTML/assets static, only /api → Lambda)
- Stripe ensurePrices() made idempotent for restart-safety
The membership model + member portal
The week the membership product became real. Prototyped pricing, tested a stored-value approach, then landed on the clean three-package model that shipped — Essential / Plus / Concierge. Iterating on the business model is part of the build, not separate from it.
- Three-package model: Essential ($49) · Plus ($149, 3 hrs/mo) · Concierge ($499+)
- Stripe billing + per-tier webhook automation
- Member portal (/dashboard) with email + card-last4 verification
- Member self-service status page
- Quick-book service tiles wired to the booking API
- Community Wins feed on dashboard, rotating Monthly Negotiation prompt
Backend hardening + developer-ready
The week the codebase became something I could hand to another engineer. Extracted lib/ modules, added a real test suite, JSDoc types, structured logging, self-served API docs, and a comprehensive README/CONTRIBUTING. Plus an admin command center and the cinematic golden halo brand layer.
- lib/ modules: store (KV abstraction), ledger, validate, rateLimit, logger, apiDocs
- Wins / Bookings / Negotiations REST APIs (full CRUD, member + admin)
- Vitest test suite: 54 tests, ~200ms run, contract + unit coverage
- Structured request logging with req.id tracing + consistent error envelope
- Self-served /api/docs HTML reference + /api/docs.json catalog
- Admin command center: tabs for Members, Bookings, Negotiations, Wins, Wallet
- Golden AFG halo overlay across all member pages (CSS + parallax + chime + confetti)
- README, CONTRIBUTING, .env.example with degradation notes
- /hire page + this case-study page
How the pieces fit.
Stripe is the source of truth for billing. A swappable KV store handles everything Stripe doesn't model. No magic.
┌─────────────────────────────────────────────────────────────────────┐ │ │ │ STATIC FRONTEND · 22 HTML pages, no build, Vercel CDN-served │ │ index · inner-circle · dashboard · wallet · admin · hire · │ │ services · portfolio · short-term · long-term · events · … │ │ │ │ ▼ fetch via window.ic (api-client.js) │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ EXPRESS BACKEND · server.js (~1500 LOC) │ │ │ │ 24 endpoints · structured logging · error envelopes │ │ │ │ request id tracing · rate-limited public routes │ │ │ │ Vercel serverless via api/index.js (re-exports app) │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌───────────────────┐ ┌──────────────────────────────┐ │ │ │ STRIPE │ │ STORE (lib/store.js) │ │ │ │ │ │ │ │ │ │ Subscriptions │ │ Upstash Redis (prod) │ │ │ │ Customers │ │ ↓ fallback │ │ │ │ Webhooks │ │ In-memory Map │ │ │ │ Customer meta: │ │ │ │ │ │ wallet bal │ │ wins · bookings · │ │ │ tier │ │ negotiations · ledger │ │ │ │ ledger mirror │ │ │ │ │ └───────────────────┘ └──────────────────────────────┘ │ │ │ │ ┌──────────────────────────────┐ │ │ │ RESEND (optional) │ │ │ │ wallet · booking · neg │ │ │ │ confirmation emails │ │ │ └──────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘
No SPA framework. Static HTML + tiny API client.
22 pages, zero build step. Each page is self-contained, loads in ~50ms, and the shared window.ic wrapper handles every API call uniformly. SEO is excellent, hosting cost is $0, and onboarding any new engineer takes 3 minutes.
Stripe metadata as the canonical billing store.
Package, tier, and subscription state live on the Stripe customer record — the single source of truth for billing. No separate database to drift out of sync.
Swappable KV with auto-detected backend.
Set UPSTASH_REDIS_REST_URL & _TOKEN and the store persists in Upstash Redis. Skip them and it falls back to in-memory. Same API surface either way. Pay for persistence only when you need it.
Self-served API docs from a single registry.
One file (lib/apiDocs.js) drives both /api/docs (HTML) and /api/docs.json (machine-readable). When you add an endpoint, you register it there. The docs page can never go stale — the same file is the source of truth.
What shipped.
Every line item below is live in production. Click into any page on the site to verify.
Stripe Recurring Billing
Subscription creation, cart-style multi-line, customer portal, webhooks. 3 plan tiers ($149/$499/$999/mo) with auto-detected price IDs.
productionThree-Package Billing
Essential / Plus / Concierge on Stripe subscriptions, with a live founding-overage-rate engine that steps up as members join. Per-tier webhook automation.
iterated + shippedMember Self-Service
Email + card-last4 verification (no passwords). Wallet lookup, transaction history, quick-book service tiles.
liveAdmin Command Center
Tabs for Members, Bookings, Negotiations, Wins, Wallet Tools. Live MRR, CSV ledger export, one-click status updates.
liveBookings + Negotiations API
Members POST service bookings + bill-negotiation requests. Admin patches status + autoLogWin publishes to public feed.
REST · authedCommunity Wins Feed
Public “saved $X this month” aggregator. Member dashboard pulls live feed, daily-rotating featured win.
liveGolden Halo Brand System
Cinematic AFG monogram overlay on all member pages. Tier-aware colors, parallax, scroll-intensity, welcome chime.
brand layerTest + Quality Stack
Vitest with 54 tests (~200ms). Smoke-test script for prod. ESLint-style syntax checks. JSDoc with ambient typedefs.
CI-readySelf-Served Docs
/api/docs HTML reference + /api/docs.json catalog. README with architecture diagram. CONTRIBUTING with 7-step recipe.
developer-readyWhat you’d actually pay.
Same scope, same deliverables, same calendar. Here’s how it would map to my pricing tiers.
30-day breakdown
- Week 1 · Foundation + discovery $750 (Sprint)
- Weeks 2–5 · Half-Time embedded (~80 hrs/wk × 4) $4,500/mo
- Architecture review (included monthly) included
- Weekly Friday demos × 4 (Loom recorded) included
- Stripe + webhook integration (would normally be $3.5K project) included
- Custom design system (would normally be $4.5K project) included
- Member portal + auth (would normally be $7K project) included
- Admin command center + ops tooling included
- Test suite + CI-ready quality included
$30,000 – $60,000 for the same scope
The math works because there’s no agency markup, no project manager layer, no junior engineer learning on your dime. You hire the person who’s actually shipping the code. Once we’ve built trust, my rates move to standard market — but the second engagement is your call, not mine.
30 days from now, this could be
your platform.
Tell me what you want built. By the end of the day, you'll have either a Sprint plan ready to go, or a clean “not the right fit” with a referral to someone better.