The software projects that get interviews in 2026 are deployed, tested and documented: a portfolio site with CI, a full-stack app with authentication and a database, a documented REST API with tests, a real-time app, a payments flow in test mode and one AI-assisted feature with evaluations. Two finished apps beat ten tutorials.
Reviewers open the live link, then the README, then the code. Each project below ends with all three.
- 1Scopeone user, three features
- 2Buildframework, database, auth
- 3Testunit and API tests
- 4ShipDocker, CI, live URL
- 5DocumentREADME, demo, limits
The 9 projects
Portfolio site with continuous deployment
The question: Can you ship a site that updates itself on every commit?
- Start with
- Your own projects and resume.
- Steps
- Build a one-page site: about, projects with live links, contact.
- Push to GitHub; deploy with GitHub Pages or Vercel.
- Add a GitHub Actions workflow that checks HTML and links on each push.
- Measure with PageSpeed Insights and fix the top issue.
- Measure
- Lighthouse scores above 90 and a green CI badge.
- Ship
- Live URL, repo with CI badge.
- Why it counts
- Proves Git, deployment and basic CI before any framework.
Deployed a personal site with GitHub Actions CI and a Lighthouse performance score of [x].
Full-stack task manager with authentication
The question: Can a user sign up, log in and manage only their own data?
- Start with
- None; design the schema yourself (users, projects, tasks).
- Steps
- Design the schema and API endpoints first.
- Build auth with hashed passwords and protected routes.
- Build CRUD for tasks with pagination and filters.
- Add API tests for auth and ownership rules.
- Deploy frontend and backend with a hosted Postgres.
- Measure
- All API tests pass; a user cannot read another user's tasks.
- Ship
- Live app, repo, API docs.
- Why it counts
- The standard full-stack interview project, done properly.
Built and deployed a full-stack task app with JWT auth, PostgreSQL and [n] passing API tests.
Documented REST API with tests
The question: Can another developer use your API from the docs alone?
- Start with
- A public dataset loaded into your database, for example Olist orders.
- Steps
- Define resources and status codes.
- Implement validation, error responses and pagination.
- Generate OpenAPI docs and add examples.
- Write tests for success and failure paths; add rate limiting.
- Measure
- Test coverage above 80% on routes; docs render and match behaviour.
- Ship
- Hosted docs page and repo.
- Why it counts
- Backend roles screen for exactly this.
Designed a REST API with OpenAPI docs, validation and [x]% test coverage.
URL shortener with analytics
The question: How do you generate unique short codes and count clicks under load?
- Start with
- None.
- Steps
- Generate collision-safe short codes (base62 of an ID).
- Redirect with a 301 or 302 and record click events.
- Add a stats endpoint: clicks by day, referrer, country if available.
- Cache hot links in Redis and add rate limiting.
- Measure
- A load test (for example with k6) shows p95 latency and no duplicate codes.
- Ship
- Live service and a stats dashboard page.
- Why it counts
- A classic system-design question made real.
Built a URL shortener handling [x] requests per second with Redis caching and click analytics.
Real-time chat with rooms
The question: Can messages reach every member of a room instantly and survive a refresh?
- Start with
- None.
- Steps
- Set up WebSocket events: join, message, typing, leave.
- Persist messages and load history on join.
- Add presence (who is online) and read receipts.
- Handle reconnects and message ordering.
- Measure
- Two browsers see messages in the same order; history loads after refresh.
- Ship
- Live demo and a short architecture note.
- Why it counts
- Shows event-driven thinking beyond request-response.
Built a real-time chat app with rooms, presence and persisted history over WebSockets.
Storefront with payments in test mode
The question: Can a user browse, add to cart and pay, with orders recorded correctly?
- Start with
- Products you create or a sample catalogue.
- Steps
- Build catalogue, cart and checkout pages.
- Integrate the payment gateway in test mode with webhooks.
- Create orders only on webhook confirmation; handle failures.
- Add an admin page for orders.
- Measure
- Test payments produce correct order states, including failed and refunded.
- Ship
- Live demo with test card instructions.
- Why it counts
- Payments and webhooks are where many developers stumble.
Built an e-commerce flow with Razorpay test payments, webhook-driven order states and an admin dashboard.
Job board with search, filters and caching
The question: Can users find relevant jobs quickly as the dataset grows?
- Start with
- Scrape only where permitted, or seed 5,000 synthetic listings.
- Steps
- Model jobs, companies and tags.
- Implement full-text search with ranking and filters.
- Paginate with cursors; cache popular queries.
- Measure query time before and after indexes.
- Measure
- Search p95 under 100 ms on 5,000 rows after indexing.
- Ship
- Live demo plus a performance table.
- Why it counts
- Demonstrates database skills most CRUD apps skip.
Implemented full-text search with indexes and caching, cutting p95 query time from [x] to [y] ms.
Dockerised deployment with CI/CD
The question: Can your app be built, tested and deployed automatically on every push?
- Start with
- Any project above.
- Steps
- Write a Dockerfile and docker-compose with the database.
- Add a workflow: lint, test, build image, deploy on main.
- Add health checks and environment-based config.
- Document rollback.
- Measure
- A push to main deploys within minutes; a failing test blocks deployment.
- Ship
- Pipeline badge and deployment notes.
- Why it counts
- DevOps basics every team expects.
Containerised an app and built a GitHub Actions pipeline that tests and deploys on every push.
AI help search inside your app, with evals
The question: Can users ask questions about your product and get cited answers you have measured?
- Start with
- Your own docs and FAQ pages; write 20 test questions.
- Steps
- Chunk and index the docs; return answers with sources.
- Add a fallback when confidence is low.
- Score the 20 questions before and after improvements.
- Log cost and latency per query.
- Measure
- Pass rate on the 20 questions, cost per query and p95 latency.
- Ship
- Feature in the live app and an eval table.
- Why it counts
- Shows you can add AI responsibly, with measurement.
Added a cited AI help search to a web app; [x] of 20 test questions answered correctly at $[y] per query.
14 more project ideas
Shorter briefs for when you want a different angle. Apply the same rules: a real source, a baseline, a number and a README.
Markdown blog engine with static export
BeginnerNode.js or Python, templating
DataYour writing
Stand-outLighthouse 100 and an RSS feed
Expense splitter for groups
BeginnerReact, Supabase
DataYour own schema
Stand-outSettlement algorithm with unit tests
Kanban board with drag and drop
IntermediateReact, dnd-kit, Postgres
DataYour own schema
Stand-outOptimistic updates and conflict handling
Bookmark manager with full-text search
IntermediateNext.js, Postgres tsvector
DataYour bookmarks
Stand-outSearch latency table before and after indexes
Weather and air-quality dashboard with caching
BeginnerAny backend, Redis
DataPublic weather and CPCB APIs
Stand-outCache hit rate and API-cost savings
Multi-tenant SaaS starter
AdvancedDjango or NestJS, row-level security
DataYour own schema
Stand-outTests proving tenant isolation
Mobile app with offline sync
AdvancedReact Native or Flutter, SQLite
DataYour own schema
Stand-outConflict resolution demo with two devices
GraphQL API over an existing dataset
IntermediateApollo or Strawberry
DataOlist
Stand-outN+1 queries eliminated and measured
Background job system
IntermediateNode.js or Python, Redis queue
DataYour own
Stand-outRetry, dead-letter and idempotency tests
Browser extension that annotates pages
BeginnerJavaScript, Manifest V3
DataAny site
Stand-outPermission scope kept minimal and explained
Rate limiter and API gateway
AdvancedGo or Node.js, Redis
DataYour own
Stand-outLoad-test results at several limits
Image upload service with thumbnails
IntermediateAny backend, S3-compatible storage
DataYour images
Stand-outPresigned uploads and a cost estimate
CLI tool published to npm or PyPI
BeginnerTypeScript or Python
DataYour own
Stand-outSemantic versioning and a changelog
Accessibility-first component library
IntermediateReact, Storybook, axe
DataYour own
Stand-outZero axe violations and keyboard demo
README that gets read
- Live link and a 30-second demo GIF at the top.
- What it does and who it is for, in two lines.
- Stack and architecture in a small diagram or list.
- How to run it in one command.
- Tests, limits and what you would do next.
Mistakes that cost interviews
- No live link, so nobody tries it.
- Secrets committed to the repo.
- Auth without ownership checks (users can read each other's data).
- A README that is a tutorial's README.
Frequently asked questions
What projects should a fresher put on a software resume?
Two deployed full-stack apps with auth, tests and a README, plus one backend or systems project such as an API or URL shortener.
Which stack should I use for projects?
React with Node.js or Django and PostgreSQL covers most job descriptions. Pick one and finish.
Are tutorial projects okay for a portfolio?
Only if you change the problem, add tests and deploy it. Reviewers recognise unchanged tutorials.
How many projects do I need?
Two finished projects with live links are enough to start applying; add a third with a performance or AI angle for product companies.
Learn this with mentors
Programmes for builders and engineers with admissions open: live classes, mentors and project work.


