The problem
Generating map and schedule PDFs required several APIs and took a long time. Requests frequently timed out, and cold starts added another source of delay.
That also made development slower. A change to the PDF workflow involved coordinating work across multiple APIs.
The architectural decision
The work included a migration to a single API with queued workloads. The reason for consolidating the API was to reduce the coordination needed across endpoints and give the workflow a common backend.
Queued processing gives slow PDF generation a lifecycle separate from the incoming request. The request timeout no longer has to be the time budget for the entire rendering job.
This introduces a tradeoff. Background work needs a way to communicate progress and failure, and a queue alone does not remove cold starts or make rendering faster. The execution environment and the rendering work still matter.
My work at Upcastr
I worked as a Software Engineer II at Upcastr from 2023 to 2025. My work included the API migration and queued workloads, Stripe Connect checkout, QR tickets, invoices, and analytics for a platform serving multiple tenants.
Implementation
Remix · Bun / Hono · PostgreSQL · AWS SQS