Project
A URL shortener with a real API contract
Small enough to finish, rich enough to design properly.
- Write the API contract first (OpenAPI), including errors and rate limits.
- Implement it with a relational store and idempotent creation.
- Return the right status codes and cache headers for every route.
- Deploy it and share the docs page.