24-hour take-homes · empty repo · live agent
Build something real. From nothing.
Each project is a brief, a clear set of acceptance criteria and a rubric you can read before you start. You get an empty repository, a sandbox where you can run anything, an AI agent, and a 24-hour window, so you can fit a few hours of focused work around your day. When you submit, your tests are run, your README is checked and the work is reviewed against the rubric.
10 projects · medium
- CLI toolmedium
logq: a command-line log query tool
A streaming CLI that filters and aggregates JSON-lines logs with a small query language.
- Python
- Go
- Rust
- +1
~3.5h focused work · 24h window - Data pipelinemedium
Bike-share trips ETL pipeline
Generate messy trip exports, clean them with documented rules, and load an idempotent SQLite warehouse with a daily summary.
- Python (stdlib, pandas or polars)
- SQLite
~4h focused work · 24h window - Data visualizationmedium
Household energy explorer (data visualisation)
A front-end-only dashboard over a year of half-hourly smart-meter data: zoomable time series, heat map, tariffs and honest gaps.
- TypeScript
- D3, Observable Plot, Recharts or Chart.js
- Vite
~4h focused work · 24h window - Real-timemedium
Live audience poll
Presenters create polls, audiences vote from phones, and results update live over WebSockets or SSE.
- Node + ws / Socket.IO / SSE
- Python + FastAPI WebSockets
~4h focused work · 24h window - API servicemedium
Meeting room booking API
A booking backend where double bookings are impossible: overlap detection, availability, time zones and concurrency.
- Python + FastAPI
- Node + Fastify
- Go
- +1
~4h focused work · 24h window - Mobile-first PWAmedium
Offline-first habit tracker (PWA)
A mobile-first installable PWA for daily habits with streaks and history that works with no network.
- Vite
- React, Svelte or plain TypeScript
- IndexedDB
~4h focused work · 24h window - Infrastructuremedium
Rate limiter library and HTTP middleware
Token bucket and sliding window behind one interface, pluggable stores, injectable clock, and 429 middleware with Retry-After.
- Go
- TypeScript (Node)
- Python
~4h focused work · 24h window - API servicemedium
Recipe catalogue GraphQL API
A GraphQL API with cursor pagination, filtering, validated mutations and no N+1 queries.
- Apollo Server or GraphQL Yoga
- Strawberry (Python)
- gqlgen (Go)
~4h focused work · 24h window - Full-stack webmedium
Shared expense splitter
A small web app for a group to record shared expenses, see balances and get the fewest payments that settle everyone up.
- TypeScript
- Next.js or Express + React
- SQLite
~4h focused work · 24h window - AI / LLMmedium
Support ticket triage service
Classify, extract and draft replies for support tickets, with a rule baseline, schema-validated model output and redaction.
- Python + FastAPI + pydantic
- TypeScript + zod
~4h focused work · 24h window
Scoped to a few hours
Every brief names a suggested effort, usually three to five hours. The 24-hour clock is a window, not a workload: stop at the suggested effort and write down what you would do next.
Judged on a public rubric
Functionality, code quality, testing, architecture, UX, documentation and how you used AI, each with a weight you can see before you start.
AI expected, and recorded
Use the agent as much as you like. Every prompt is recorded, and your report shows whether you reviewed and tested what it wrote.