A two-stage QA gate for weekly releases
How I gate every release of a B2B SaaS for auto-repair shops twice, in QA and in production, with E2E matrices of 13 to 45 cases and a rule that QA reports and never fixes.
production
Projects
Case studies with their decisions, validation and results.
01Work cases
How I gate every release of a B2B SaaS for auto-repair shops twice, in QA and in production, with E2E matrices of 13 to 45 cases and a rule that QA reports and never fixes.
production
Moving the history and catalogs of multi-branch customers out of their old systems with a two-step pipeline, dry-run to QA to production, and a reconciliation against the source at every stage.
delivered
A dry run counted about 3,400 service packages when 11,934 existed. Tracing the mismatch to unordered pagination, and to nulls the first filter dropped, made a bulk cost correction safe.
delivered
02Projects
Multi-tenant SaaS for veterinary clinics, built with AI-directed architecture. Pre-revenue; production-ready; maintenance mode.
production
Multi-tenant core insurance platform for insurers and insurance agencies. A falsifiable prototype on 10 million policies decided the data model before any feature was built.
building
A local voice and text assistant that runs on a laptop CPU with no paid APIs. Safety is enforced by code, not by the model, and a fast path answers common requests without calling the LLM.
paused
How I split engineering work between AI agents by difficulty and cost: a planner that cannot edit, an executor that follows plans exactly, a read-only explorer, and a local panel that shows who is doing what.
production
A workflow where short vertical videos are edited as code, scripts and plans are approved before any footage is touched, and analyzing a video costs about 35% fewer tokens thanks to cropped contact sheets.
production
Keeping one AI character's face consistent, measured with a similarity score on cost-capped GPU pods, then applied to six marketing pieces for a veterinary clinic brand.
production
A local pipeline that turns an AI-generated song into a synchronized lyric video plus a vertical Short and uploads both, in 15 to 25 minutes per song, with no paid services.
production
A four-script pipeline that turns a small config file into a print-ready coloring book, interior and full-wrap cover, with prompts from Claude, images from FLUX and layout in PDFKit.
paused
An online catalog for a physical silver jewelry store. No prices, no payment: customers build a list and send it by WhatsApp to get a quote. Documented and legally analyzed before the first line of code.
production
03Evidence
Stack by project, with evidence
A check mark means the technology is listed in that case study; hover or focus a mark to see where.
| Project or case | TypeScript | SQL | PostgreSQL | React / Next.js | NestJS | Python | Claude Code | Local LLMs | Remotion | Playwright |
|---|---|---|---|---|---|---|---|---|---|---|
| A two-stage QA gate for weekly releases | ✓evidence: qa-release-gate.mdx (stack: TypeScript) | ✓evidence: qa-release-gate.mdx (stack: MySQL) | no evidence | ✓evidence: qa-release-gate.mdx (stack: React) | no evidence | no evidence | ✓evidence: qa-release-gate.mdx (aiTools: Claude Code) | no evidence | no evidence | ✓evidence: qa-release-gate.mdx (stack: Playwright) |
| Auditable data migration, from Excel to production | ✓evidence: data-migration-pipeline.mdx (stack: TypeScript) | ✓evidence: data-migration-pipeline.mdx (stack: MySQL) | no evidence | no evidence | no evidence | no evidence | ✓evidence: data-migration-pipeline.mdx (stack: Claude Code) | no evidence | no evidence | no evidence |
| Root cause - pagination without ORDER BY | ✓evidence: pagination-root-cause.mdx (stack: TypeScript) | ✓evidence: pagination-root-cause.mdx (stack: MySQL) | no evidence | no evidence | no evidence | no evidence | ✓evidence: pagination-root-cause.mdx (stack: Claude Code) | no evidence | no evidence | no evidence |
| VetNova | ✓evidence: vetnova.mdx (stack: TypeScript) | ✓evidence: vetnova.mdx (stack: PostgreSQL) | ✓evidence: vetnova.mdx (stack: PostgreSQL) | ✓evidence: vetnova.mdx (stack: Next.js) | ✓evidence: vetnova.mdx (stack: NestJS) | no evidence | ✓evidence: vetnova.mdx (aiTools: Claude Code) | no evidence | no evidence | ✓evidence: vetnova.mdx (stack: Playwright) |
| REYBER | ✓evidence: reyber.mdx (stack: TypeScript) | ✓evidence: reyber.mdx (stack: PostgreSQL) | ✓evidence: reyber.mdx (stack: PostgreSQL) | ✓evidence: reyber.mdx (stack: Next.js) | ✓evidence: reyber.mdx (stack: NestJS) | no evidence | ✓evidence: reyber.mdx (aiTools: Claude Code) | no evidence | no evidence | no evidence |
| JARVIS | no evidence | no evidence | no evidence | no evidence | no evidence | ✓evidence: jarvis.mdx (stack: Python) | ✓evidence: jarvis.mdx (aiTools: Claude Code) | ✓evidence: jarvis.mdx (stack: Ollama) | no evidence | no evidence |
| AI video production, with editing as code | no evidence | no evidence | no evidence | no evidence | no evidence | ✓evidence: ai-video-production.mdx (stack: Python) | ✓evidence: ai-video-production.mdx (aiTools: Claude Code) | no evidence | ✓evidence: ai-video-production.mdx (stack: Remotion) | no evidence |
| GPU image pipeline with ComfyUI and RunPod | no evidence | no evidence | no evidence | no evidence | no evidence | ✓evidence: gpu-image-pipeline.mdx (stack: Python) | no evidence | no evidence | no evidence | no evidence |
| Lyric videos from a single command | ✓evidence: lyric-videos.mdx (stack: TypeScript) | no evidence | no evidence | ✓evidence: lyric-videos.mdx (stack: React) | no evidence | ✓evidence: lyric-videos.mdx (stack: Python) | ✓evidence: lyric-videos.mdx (aiTools: Claude Code) | no evidence | ✓evidence: lyric-videos.mdx (stack: Remotion) | no evidence |
| A config-driven engine for print-ready coloring books | ✓evidence: kdp-engine.mdx (stack: TypeScript) | no evidence | no evidence | no evidence | no evidence | no evidence | ✓evidence: kdp-engine.mdx (aiTools: Claude Code) | no evidence | no evidence | no evidence |
| El 23, an online catalog for a silver jewelry store | no evidence | no evidence | no evidence | no evidence | no evidence | no evidence | ✓evidence: el23.mdx (aiTools: Claude Code) | no evidence | no evidence | no evidence |