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.
18 projects
- Developer toolingeasy
envcheck: a .env linter and diff tool
A developer tool that lints .env files with line numbers and reports drift against .env.example, never printing secrets.
- TypeScript (Node)
- Python
- Go
~2.5h focused work · 24h window - Developer toolingeasy
Changelog generator from conventional commits
A CLI that turns conventional commit history into grouped Markdown release notes and suggests the next semver.
- Node
- Python
- Go
~3h focused work · 24h window - Browser gameeasy
Minesweeper in the browser
The classic game with a pure, seedable rules engine, flood fill, chording, and mouse, touch and keyboard controls.
- TypeScript
- React, Svelte or plain DOM/canvas
~3h focused work · 24h window - API serviceeasy
URL shortener with click analytics
An HTTP service that shortens URLs, redirects, and reports click statistics per day.
- Node + Fastify
- Python + FastAPI
- Go net/http
- +1
~3h focused work · 24h window - 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 - AI / LLMhard
Ask-the-docs: question answering with citations
Retrieval-augmented answers over Markdown runbooks with real citations, refusals, an offline fake model and an eval set.
- Python
- TypeScript (Node)
~5h focused work · 24h window - Infrastructurehard
Durable background job queue
Durable jobs, safe concurrent claiming, retries with backoff, leases for crashed workers, dead letters and graceful shutdown.
- Python
- Go
- TypeScript (Node)
- +1
~5h focused work · 24h window - Developer toolinghard
Feature flag service and SDK
Targeting rules, sticky percentage rollouts, an admin API with an audit log, and an SDK that evaluates locally and degrades safely.
- TypeScript (Node)
- Go
- SQLite
~5h focused work · 24h window - Real-timehard
Team chat with rooms and presence
Rooms, live messages, presence, typing indicators and history that survives reconnects without duplicates.
- Node + ws or Socket.IO
- React or Svelte
- SQLite or Postgres
~5h 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.