Web Development Projects on Real Systems

Real web development is debugging the system you inherited, not scaffolding a new one. These full stack and backend projects are real broken web systems - React frontends, APIs, databases, auth - you fix end to end in a live cloud workspace.

Why these reflect the actual job

Most web-dev project lists are clones of apps that already exist, which now prove nothing. Real web work is the unglamorous middle: a CORS error blocking prod, an N+1 query melting the dashboard, an auth token that accepts anything. These are those bugs, debugged as one connected system the way the job hands them to you.

24 projects to start with

Add a NOT NULL Column With a Zero-Downtime BackfillBackend · SeniorRefactor Globals Into Dependency InjectionBackend · SeniorRoute Reads to a Postgres ReplicaBackend · SeniorDesign a URL Shortener (System Design)Backend · SeniorDesign a Rate Limiter (Token Bucket)Backend · SeniorMake a Stripe Webhook Idempotent (Retry-Safe)Backend · SeniorTrace Slow Requests With OpenTelemetryBackend · SeniorDeploy a React App Globally With AWS CloudFrontFullstack · SeniorReplace LIKE Search With Postgres Full-Text SearchFullstack · SeniorPlug a Postgres Connection Pool LeakBackend · MidBuild a Webhook Delivery System With RetriesBackend · MidFix the N+1 QueryBackend · MidStop a Double-Charge Race ConditionBackend · MidInstrument an API With OpenTelemetryBackend · MidStream Tokens Over Server-Sent Events (SSE)Backend · MidVerify a Stripe Webhook Signature (HMAC)Backend · MidPlug a Go Goroutine LeakBackend · MidMigrate an Express Route to FastifyBackend · MidFix a Node.js Memory LeakBackend · MidCache a Slow Endpoint With AWS ElastiCacheBackend · MidFan Out Events With AWS SNS and SQSBackend · MidMigrate a React App From JavaScript to TypeScriptFullstack · MidWire React to Supabase (CRUD + Realtime)Fullstack · MidAdd a JWT Login and a Protected Route in ReactFullstack · Mid

Full stack means debugging across the boundary

The hardest web bugs live at the seams - the request that looks fine in the browser but 500s at the API, the timestamp that is right in Postgres and wrong in React. These projects deliberately span that boundary so you practice the thing junior portfolios skip: tracing a failure from the UI through the API to the database and back.

Build your portfolio free. You are in a real cloud workspace in 30 seconds - fix real systems, show real work.

Start free →