Summary
Greenfield SaaS platform built for Bankroll IQ — an AI-powered bankroll management product for sports bettors. Migrated the client off a no-code prototype, designed the production architecture, modeled the cost rollout in three phases, made the build-vs-buy calls, and shipped the platform on a four-day deployment plan with a CI-tested codebase.
The Problem
The client had validated their concept on a no-code platform but hit a ceiling: they couldn't add the personalized recommendation logic the product depended on, they were paying a recurring platform fee that scaled with usage, and they had no path to mobile, custom auth, or third-party integrations. They needed someone to design and build the production version without losing the working prototype.
A second open question loomed over the engagement: a critical capability — sportsbook account linking — could either be built in-house at significant cost or bought as a SaaS for a few hundred dollars a month. The client needed an honest recommendation, not a developer angling for a bigger contract.
The Approach
I migrated the prototype to a standalone stack — React + FastAPI + Postgres — and designed a thirteen-service production architecture across Vercel, Railway, Supabase, Stripe, and several external APIs. The core deliverable was a personalized recommendation engine: the same input from the same source produces different outputs for different users based on their profile, history, and risk parameters. That's what the no-code prototype couldn't do, and it's what makes the product defensible.
On the build-vs-buy question I recommended buying. A specialized SaaS at ~$500/month covered the requirement; an in-house build was estimated at $200K-$400K of upfront engineering plus six figures a year to maintain. I documented the analysis in a strategic recommendation memo that the client used to align their stakeholders.
Cost was modeled across three phases so the client could see the runway: MVP at ~$58/month, growth at ~$558/month once the paid SaaS came online, and scale at ~$3,590/month with 85-93% gross margin at 1,000+ users. Each phase had explicit triggers — when to add which service, why, and what break-even subscriber count justified the next jump.
What I Built
- Production architecture — 13 services across Vercel (frontend), Railway (backend + Postgres), Supabase (auth + storage), Stripe (subscriptions), serverless Redis (caching), plus several third-party APIs
- Personalized recommendation engine — sizing-math layer (not a tipster) that takes the same input and produces different outputs per user based on their profile and history
- Subscription billing flow — Stripe checkout, webhook handling, multi-tier pricing, customer portal, plan changes and cancellations
- Auth + authz — Google OAuth and email/password via Supabase, JWT session tokens, role-based access for capper vs. consumer user types
- CI test suite — 122 automated tests covering the sizing math, balance accounting, auth flow, and external API integrations; runs on every PR
- Four-day deployment plan — accounts and API keys → backend on Railway → frontend on Vercel → DNS cutover and end-to-end verification
- Strategic recommendation memos — build-vs-buy analysis and three-phase cost rollout, written for non-engineering stakeholders
Engineering Highlights
- Personalization that a model can't fake. The engine isn't an LLM call — it's a deterministic sizing-math layer with user-specific parameters that adjust dynamically based on performance history. Two users with different profiles get different outputs from the same input. Auditable, testable, defensible.
- Build-vs-buy advisory. A six-figure in-house build vs. a $500/month SaaS for the same capability. Wrote the analysis, made the recommendation, the client bought. Saved 6+ months of engineering time and significant capex on day one.
- Deployment as a documented runbook. Four days from "we have credentials" to "we're live on a custom domain." Each day had a verification checklist; the runbook was good enough that a non-developer at the client could follow along.
- Three-phase cost model. MVP (
$58/mo) → Growth ($558/mo with the bought-SaaS online) → Scale (~$3,590/mo at 1K+ users with 85-93% gross margin). Each phase had explicit add-this-when triggers tied to subscriber count and revenue.
Outcome
Migrated from no-code prototype to production-ready SaaS on the four-day plan. CI test suite green; integration with all 13 external services live. Cost trajectory is documented and understood by the client.
Tech footprint
- Frontend — React + Vite + Tailwind + shadcn/ui, deployed to Vercel
- Backend — Python FastAPI on Railway
- Data — Postgres, serverless Redis cache
- Payments + auth — Stripe (subscriptions), Supabase (Google OAuth + email)
- External APIs — live odds, sportsbook account linking, AI analysis (multiple vendors, abstracted behind a configurable provider layer)
- Orchestration — GitHub Actions CI (122 tests on every PR)
- Hosting — Vercel + Railway