Task 1: Job Scheduler (Stage 9 — Individual)
Built a production job scheduler from scratch — heap-based priority queue, workers, retries with exponential backoff, dead-letter queue, DAG dependencies, SSE dashboard, deployed with Nginx/HTTPS.
Worst bug: TypeORM's .query() returns [rows, count] — .length is always 2, even with zero rows. A lost claim race looked successful. Fixed with a tuple unwrapper. Deployment broke too — Oracle's iptables had a REJECT rule above my ACCEPT rules.
Takeaway: Never trust ORM return shapes. The failure path is where real engineering lives.
Task 2: Zod Validation for AI Assessments (Team)
Used Zod to validate AI-generated quiz questions. .refine() enforced cross-field rules like "correctAnswer must index an existing option." Fed Zod errors back to the AI as retry prompts — failures became self-correcting.
Takeaway: Treat AI output like any untrusted external input.
Top comments (0)