Project Ideas
Not sure what to build? Pick an idea at your level, build it as a solo project, or start a group project and build it with others. Ideas marked “Good for a team” have enough parts to split up.
Personal portfolio site
A one-page site about you, your skills and the projects you build next. Put it online for free.
You'll learn
- HTML and CSS layout
- Responsive design
- Deploying a static site
Tip and bill splitter
Enter a bill, a tip percentage and how many people, and see what each person pays.
You'll learn
- Forms and input events
- Rounding money correctly
- Showing results as you type
To-do list that remembers
Add, tick off and delete tasks; they are still there after a reload.
You'll learn
- DOM updates
- localStorage
- Keeping state in one place
Weather lookup
Type a city and show today’s weather and the next few days from a free weather API.
You'll learn
- Calling an API with fetch
- Loading and error states
- Hiding API keys
Command-line notes
A terminal tool to add, list, search and delete notes saved in a file.
You'll learn
- Reading command-line arguments
- Reading and writing files
- JSON
Unit converter
Convert length, weight and temperature in both directions.
You'll learn
- Pure functions
- Testing small functions
- Accessible form labels
GitHub profile card
Enter a GitHub username and show their avatar, repos and most-used languages.
You'll learn
- Public APIs and rate limits
- Combining several requests
- Cards and grids
Expense summary from a CSV
Read a bank export CSV and print spending by category and month.
You'll learn
- Parsing CSV
- Grouping and totals
- Simple charts
URL shortener
An API and small page that turn long links into short ones and count clicks.
You'll learn
- REST APIs
- A database
- Unique IDs and redirects
Blog with an admin area
Public posts, plus a signed-in area to write, edit and publish them.
You'll learn
- Authentication
- CRUD
- Server-side rendering for search engines
Habit tracker with streaks
Track daily habits, see streaks and a calendar of the month.
You'll learn
- Dates and time zones
- User accounts
- Charts
Markdown notes app
Write notes in Markdown with a live preview, tags and search.
You'll learn
- Rendering Markdown safely
- Search and filters
- Keyboard shortcuts
Job application tracker
A board of applications moving from applied to interview to offer, with notes and dates.
You'll learn
- Drag and drop
- Data modeling
- Reminders
Recipe finder
Search recipes by what is in your fridge and save favorites.
You'll learn
- Debounced search
- Pagination
- Saving user data
Study-group Discord bot
A bot that posts daily check-in prompts and tracks who answered.
You'll learn
- Bot APIs and webhooks
- Scheduled jobs
- Hosting a long-running process
Flashcards app
Make decks, study them, and see cards you get wrong more often.
You'll learn
- A mobile framework
- Spaced repetition
- Offline storage
CI pipeline for a small app
Lint, test and build on every pull request, and deploy main automatically.
You'll learn
- GitHub Actions
- Tests in CI
- Secrets and environments
Price tracker
Check a few product pages each day and chart how prices change.
You'll learn
- Scheduled jobs
- Storing time series
- Respecting robots.txt
Real-time chat with rooms
Rooms, typing indicators, unread counts and message history.
You'll learn
- WebSockets or real-time databases
- Presence
- Moderation and rate limits
Team Kanban board
Boards, columns and cards that several people edit at once.
You'll learn
- Live collaboration
- Permissions and roles
- Optimistic updates
Small online shop
Products, a cart, checkout in a payment provider’s test mode, and an orders page.
You'll learn
- Payments in test mode
- Webhooks
- Inventory and orders
Online code runner
Run small programs in a sandbox and show the output, like a mini playground.
You'll learn
- Containers and sandboxing
- Timeouts and resource limits
- Queues
Infrastructure as code
Describe a web app’s servers, database and DNS in Terraform and rebuild it from scratch.
You'll learn
- Terraform
- Cloud networking
- Monitoring and alerts
Ask-the-docs assistant
Answer questions about a project’s docs, citing the pages it used.
You'll learn
- Embeddings and search
- Calling an LLM API
- Evaluating answers
Contribute to an open-source tool
Pick an issue labeled good-first-issue in a project you use and get a pull request merged.
You'll learn
- Reading a large codebase
- Project conventions
- Code review
Mobile meetup finder
Find and join local developer meetups on a map, with push reminders.
You'll learn
- Maps and location
- Push notifications
- App store releases
Want more? roadmap.sh/projects has hundreds of project ideas with step-by-step requirements.