Jason Millis
Summary
Full-stack TypeScript developer, coding since 2020, when I hand-wrote and published a Java Android app to Google Play. In the last 13 months I've built and deployed three production-grade products: a paid client e-commerce store (backend largely hand-coded), a multi-tenant commerce platform, and an offline-first field-service CRM. Experienced with React, React Native, Node, PostgreSQL and Stripe, and with deploying to my own servers. I build with AI coding agents (Claude Code), own the architecture and data model, and back the work with heavy automated testing.
Projects
TypeScript · React Native / Expo · Node · PostgreSQL (row-level security) · SQLite · Stripe Connect · Cloudflare R2 · Docker / Coolify · LLM tools
- Built and deployed a CRM for service businesses (leads, quotes, scheduling, crews, invoices, card payments, e-signed contracts) on Android and web from one codebase; 4,300+ commits, heading into beta.
- Designed the architecture: shared business-logic package used by the offline app and the server; custom sync engine with a local-first database and server change feed.
- Enforced multi-business data isolation with Postgres row-level security, verified by tests that run real policies against a real database plus a role-visibility fuzzer.
- Built the verification system: 211K lines of tests (35% of the codebase), 140 architecture rules that fail the build, seed-reproducible sync fuzzing; resolved all 41 findings of one bug sweep, each with a regression test proven to fail on the original bug.
- Moved database, auth and realtime from a hosted provider to a self-managed VPS (Postgres 17, Better Auth, Centrifugo) with no feature changes, behind one backend interface.
- Shipped an AI voice assistant with 6 tools (writes need preview and confirmation), graded by an evaluation suite (79 of 82 real-world cases); metered AI cost at about $0.56 per user per month.
Vendure / NestJS · GraphQL · TypeORM · Remix · Cloudflare Workers · PostgreSQL · GitHub Actions
- Turned the Vendure framework into a platform where one deployment runs many shops; 11 custom plugins (tenancy, trade pricing, delivery areas, storefront settings, counter sales).
- Made shop onboarding deploy-free: custom domains via Cloudflare for SaaS and a wildcard Worker that resolves the shop from the hostname.
- Found and closed cross-tenant data leaks; about 30 attack probes plus 27 unit test files run in GitHub Actions on every push.
- Traced a 6.5 GB bandwidth overrun to job-queue polling and replaced it with Postgres LISTEN/NOTIFY; set up encrypted point-in-time backups with tested restore.
React 19 · Vite · Redux Toolkit · Express 5 · Prisma · PostgreSQL · Stripe · EasyPost · OpenAI
- Built a storefront, admin dashboard and REST API (about 20 endpoints plus a reusable route factory for 8 resources); wrote most of the backend by hand.
- Designed a 29-model Prisma schema and generated shared TypeScript types for the frontend and backend.
- Implemented checkout as a database transaction (stock check, Stripe authorize, order creation, stock update, capture), plus refunds and shipping-label purchase.
- Built JWT cookie auth with Argon2id hashing and role-based access; added AI shopping assistants and product-description generation.
Eleventy · Cloudflare Workers · Google Apps Script · schema.org · GA4
- Built and run the live site for my business (406 commits): quote form handled by a Cloudflare Worker that feeds Google Sheets, a local-SEO build with structured data, and conversion tracking.
Java · Android SDK · SQLite
- Wrote and published a darts scoring app to Google Play solo: scoring logic for many game types, computer opponents, custom dartboard views, and player stats in SQLite with hand-written SQL (about 14,400 lines of Java). Rebuilt cross-platform in 2026 with Expo and TypeScript.
Experience
- Run my own exterior-cleaning business: sales, quoting, scheduling and customer service. Built and maintain its website and online lead pipeline.
Skills
Languages: TypeScript, JavaScript, Java (Android), SQL, HTML/CSS
Frontend: React, React Native / Expo, Remix, Vite, Tailwind, Redux Toolkit, TanStack Query
Backend & data: Node, Express, NestJS, REST, GraphQL, PostgreSQL (RLS, migrations), Prisma, Drizzle, TypeORM, SQLite
Infrastructure: Linux VPS, Docker, Coolify, Cloudflare (Workers, R2, Pages), GitHub Actions, Expo EAS
Integrations: Stripe (Payments, Connect, Terminal), EasyPost, OpenAI / OpenRouter, Google Maps
Testing & AI: Jest, Vitest, Playwright, fuzz and architecture tests, LLM evals, Claude Code, ChatGPT