Stack decisions
Why we chose one technology over another.
5 notes
- Jun 4, 20266 min read
The cron job that cost three days: real BullMQ + Upstash edge cases
A specific BullMQ + Upstash Redis bug that took three days to find and half an hour to fix. The story and the lesson on why idempotent retries aren't optional.
Stack decisionsReclamaAI - May 21, 20267 min read
Why I use Postgres + Prisma for everything (even when I "shouldn't")
The boring defense of a not-trendy stack. Why Postgres + Prisma is still the right default for 95% of products, even in 2026 with DynamoDB, MongoDB and Drizzle around.
DatabaseStack decisions - May 14, 20265 min read
Resend as our single inbox: one provider for every VantLabs product
How VantLabs centralizes transactional email with Resend across vantlabs.io, ReclamaAI and VantFi. Shared templates, verified domains, real costs.
Stack decisionsVantLabs - Apr 17, 20266 min read
PDF generation with Puppeteer on serverless: architecture, costs, and traps
How ReclamaAI generates thousands of legal PDFs from serverless functions. Why Chromium weighs 50MB, how we squeezed it into Vercel, and what to do when it falls over.
Stack decisionsReclamaAI - Apr 1, 20267 min read
Why Next.js 16 and Tailwind v4 across the entire VantLabs stack
A decision that looks technical but is really about product: why we standardized VantLabs on Next.js 16 + Tailwind v4 + TypeScript, and what it cost us.
Next.jsStack decisionsVantLabs