Every "learn to code" tutorial ends the same way: build a todo app. Build a blog. Build an e-commerce store.
All CRUD. All boring. All teaching you the wrong things.
Here's what I wish someone had told me.
The CRUD Trap
CRUD apps teach you:
- How to read/write to a database
- How to make forms
- How to do basic routing
CRUD apps do NOT teach you:
- How to think algorithmically
- How to handle real-world data
- How to build things people actually want
- How to debug complex systems
- How to work with APIs
What to Build Instead
Here are 7 projects that taught me more than any CRUD app:
1. A Web Scraper
You'll learn: HTTP, HTML parsing, rate limiting, error handling, data cleaning.
import requests
from bs4 import BeautifulSoup
resp = requests.get("https://news.ycombinator.com")
soup = BeautifulSoup(resp.text, "html.parser")
for item in soup.select(".titleline > a")[:5]:
print(item.text)
Scrapers break constantly. Fixing them teaches you more about the web than any tutorial.
2. A CLI Tool
You'll learn: argument parsing, file I/O, user experience, distribution.
3. An API Client
You'll learn: HTTP methods, authentication, pagination, error codes, rate limiting.
Pull data from SEC EDGAR, FRED, or any public API. Build something real with real data.
4. A Discord/Slack Bot
You'll learn: WebSockets, event-driven programming, state management, deployment.
5. A Data Pipeline
You'll learn: ETL, scheduling, monitoring, data formats, error recovery.
6. A Browser Extension
You'll learn: DOM manipulation, Chrome APIs, message passing, async patterns.
7. A Static Site Generator
You'll learn: File systems, templating, Markdown parsing, build processes.
The Pattern
Notice what all 7 have in common:
- They interact with the real world (APIs, websites, file systems)
- They break in interesting ways (network errors, format changes, edge cases)
- They solve a real problem (even if small)
- They're NOT just putting forms in front of a database
The Hiring Angle
I've reviewed 100+ junior portfolios. Every single one has:
- Todo app
- Weather app
- Blog
You know what stands out? The person who built a web scraper that tracks apartment prices. Or a CLI that audits npm packages for vulnerabilities.
Unique > polished. Every time.
What's the most interesting project you built while learning?
I'm genuinely curious. The weirder the better.
I write about developer tools and unconventional approaches to learning. Follow for more.
Top comments (0)