Context
Real-estate agencies produce the same content package for every listing, by hand or through agencies: sheet, socials, email, video. It is slow, inconsistent and expensive. I built the engine as a product installable per client.
What I built
- Single input → six outputs: property form feeds a generation pipeline that produces print (PDF + QR), social (post 1080×1350, carousel ×5, story 1080×1920), email (HTML ≤600px + plain text) and video (vertical MP4, 20-35s).
- Brand-consistent by construction: every asset derives from the same design tokens, so an agency's package always looks like one brand.
- Vertical-agnostic core: the niche layer (real estate fields, copy templates) is separated from the engine — replicating to another vertical is a config job, demonstrated, not promised.
- Engineering discipline: 265 unit tests + 9 E2E green, strict TypeScript,
documented audit of what it does NOT do (
AUDIT.md).
Results
| Metric | Value |
|---|---|
| Assets per run | 6 + ZIP |
| Generation time | ~10 min |
| Manual equivalent | Hours per listing across design/copy/video |
| Test suite | 265 unit + 9 E2E |
Stack
Next.js 16 · React 19 · TypeScript · Prisma · SQLite · Tailwind 4 · Playwright · FFmpeg · Sharp