Fullstack Engineering Projects

Every project below is a real fullstack problem teams hit in production - broken React state, blank dashboards, uploads, streaming, and global delivery. Fix it in a live cloud workspace and it lands on your portfolio as a clickable proof point.

20 projects to build

Fix a React useState Stale-State BugSwitched the three setCount calls in `addThree` to the functional updater form - `setCount(c => c + 1)` - so efullstackreactviteFix a Blank React Dashboard (Failed Fetch)Fixed loadUsers() to return response.data (the API wraps the array in a `data` field) instead of the whole resreactjavascriptdebuggingUpload Avatars to AWS S3 With Presigned URLsImplemented the browser-side upload - fetch PUT the image bytes to the presigned S3 URL with the right contentawss3presigned-urlFix the React Search That Won't Filter (useEffect Deps)Added the missing `query` dependency to the useEffect's dependency array so the filtered list recomputes as yofullstackreactuseEffectFix the CORS Error Blocking Your API CallsAdded the missing CORS headers (and a preflight handler) to the Flask API so the browser stops blocking the RefullstackcorsflaskStop the Form From Reloading the Page on SubmitCalled e.preventDefault() in the form's submit handler so React handles the add in JavaScript instead of the bfullstackreactformsFix the Stray '0' React Renders for an Empty CountChanged {count && <Badge/>} to {count > 0 && <Badge/>} so an empty inbox renders nothing instead of a stray '0fullstackreactconditional-renderingReturn 201 Created From the POST EndpointChanged the create-todo endpoint to return HTTP 201 Created instead of a bare 200, so the React UI's `res.statfullstackresthttp-statusReturn 400 on a Missing Field Instead of Crashing With 500Validated the required email field before using it, so a request without email returns a clean 400 with a messfullstackvalidationerror-handlingFix the Cart Total That Concatenates Instead of AddingCoerced the string amounts to numbers before summing, so the cart total adds up (10 + 5 + 3 = 18) instead of cfullstacktype-coercionnumbersFix the Leaderboard That Sorts Numbers as StringsPassed a numeric comparator to .sort() so scores sort by value (100, 50, 25, 9) instead of JavaScript's defaulfullstackjavascriptsortingMigrate a React App From JavaScript to TypeScriptConverted api.js to api.ts with a User type, explicit parameter types, and Promise<User>/Promise<User[]> returtypescriptreactrefactorWire React to Supabase (CRUD + Realtime)Implemented profile CRUD via the pg client - createProfile / getProfile / updateProfile / deleteProfile againssupabasepostgrescrudAdd a JWT Login and a Protected Route in ReactMade the /api/me endpoint actually require a valid Bearer JWT (it was returning the profile to anyone), so thefullstackjwtauthFix the AI Chat That Dumps the Whole Reply at OnceFixed the streaming chat backend to forward LLM tokens as they arrive instead of buffering the whole reply, sofullstackstreamingsseImplement Cursor Pagination for a 'Load More' FeedImplemented cursor-based pagination - the feed endpoint now returns the items AFTER a given cursor id plus thefullstackpaginationcursorFree the Port: Your Server Won't Start (EADDRINUSE)Tracked down the stale process holding port 8000 and killed it so the real API could bind - the classic 'addrefullstacklinuxnetworkingFix the CRLF Line Endings Breaking start.shConverted start.sh from Windows CRLF to Unix LF line endings so the shebang resolves and the script runs - fixfullstacklinuxline-endingsDeploy a React App Globally With AWS CloudFrontWrote deploy.sh that creates the S3 bucket, syncs the build artifacts up, then creates a CloudFront distributiawss3cloudfrontReplace LIKE Search With Postgres Full-Text SearchSwapped a naive ILIKE substring search for Postgres full-text search (to_tsvector @@ plainto_tsquery, ranked bfullstackpostgresfull-text-search

Plus 11+ more Fullstack projects in the workspace, with new ones added regularly.

More for Fullstack engineers

Fullstack roadmapInterview questionsResume projectsCareer guide

Build your Fullstack portfolio free. Fix real systems in a live cloud workspace - every fix is yours to keep.

Start free →