🌐 English · Português
180 hands-on project briefs across six technology domains and three difficulty levels — each written as a guided exercise, not a finished solution. You get the what and the why, plus milestones and data sketches; you write the code.
- Why this repo
- Domains
- How projects are structured
- Difficulty levels
- How to use this repo
- Who it's for
- Contributing
- License
Tutorials hand you the answer. This repo hands you a well-scoped problem and the scaffolding to solve it yourself — the way real engineering work arrives. Every brief tells you what to build, why it matters, how to break it into milestones, and how to know when you're done, while leaving the implementation to you.
| Domain | What you'll build | Projects |
|---|---|---|
| Backend | APIs, auth, queues, distributed services | 30 |
| Frontend | UIs, state, real-time, performance, a11y | 30 |
| Data Science | EDA, modeling, NLP, ML pipelines | 30 |
| Data Engineering | ETL, streaming, warehouses, data lakes | 30 |
| DevOps | CI/CD, containers, IaC, observability | 30 |
| System Design | Scalable, real-world architectures | 30 |
Each domain has 10 beginner + 10 intermediate + 10 advanced projects.
projects/<domain>/<level>/NN-<slug>/
README.md # brief in English
README.pt-BR.md # same brief in Portuguese
Every brief follows a consistent structure: Overview · Prerequisites · Learning Objectives · Functional Requirements · Suggested Milestones · Data & Interface Sketch · Stretch Goals · Definition of Done · Common Pitfalls · Resources.
- Beginner (2–8 hours): one core concept, few dependencies.
- Intermediate (1–3 days): several concepts working together, real tooling.
- Advanced (1–2 weeks+): architecture, scalability, and reliability trade-offs.
- Pick a domain that matches what you want to learn.
- Choose a level honestly — start where you'll be challenged, not overwhelmed.
- Read the brief end to end before writing any code.
- Build it milestone by milestone in whatever stack you prefer.
- Check the Definition of Done, then reach for the Stretch Goals.
Technology-agnostic: use any language or framework. The briefs describe behavior and contracts, not a prescribed stack.
Students, self-taught developers, career changers, bootcamp grads, educators sourcing assignments, and anyone prepping for interviews with real practice.
Contributions are welcome — new projects, fixes, and translations. Start with CONTRIBUTING.md and the project template. Please keep briefs as guided exercises and both language versions in sync.
Released under the MIT License.
Pick a domain and start building.
