π§ No LeetCode. Just the job.
Learn to code by doing the actual job.
Join a fictional company as a junior developer. Read the tickets, write a design note, build it on your own machine against real tests, and review it like a senior engineer would.
C++ today. Python, Java and C# are on the way.
Short links for campaign URLs
Priya Nair Β· Product Manager
Customers keep asking for short links they can put on flyers. Short is the whole point. Oh, and the same URL twice shouldn't give five different linksβ¦
Acceptance criteria
- Codes only use letters and digits
- Same URL β same code
- Reject anything that isn't http(s)
$ ctest -L m1
β 6 / 6 tests passed
- Tickets
- Design notes
- Code review
- Unit tests
- Hash maps
- Persistence
- Concurrency
- APIs
- Refactoring
- Git
- CMake
- Debugging
A project works like a job
No puzzles out of context. Every project is a small, realistic piece of work at a fictional company.
- 01
Onboarding brief
Meet the company, the product and your team.
- 02
Tickets
Requirements written like a PM's message. Read carefully.
- 03
Design note
Plan before you code, then compare with a reference design.
- 04
Milestones
Build locally with starter code and provided tests.
- 05
Code review
Check your work against a senior engineer's checklist.
- 06
Stretch tickets
Follow-up requests that push the project further.
Three levels, one career path
Start at Base Camp and work your way up. Each level is a step up in scope.
- Base Campβ²
Base Camp
Your first weeks on the job. Small, well-scoped projects with plenty of guidance.
1 project
See Base Camp projects β - Expeditionβ²β²
Expedition
Real features with real trade-offs: persistence, APIs, testing and refactoring.
Projects coming soon
See Expedition projects β - Summitβ²β²β²
Summit
Systems work: concurrency, performance, networking and design at scale.
Projects coming soon
See Summit projects β
Start here, free
Link shortener for Hopwire
The first Base Camp project is free for 7 days. No card needed: sign up, pick your language and start with the onboarding brief.
See the project βHopwire
Link shortener for Hopwire
Build the core of Hopwire's link shortener: turn long campaign URLs into short codes and back again, then give the support team a console to use it.
- hash maps
- number bases
- input validation
- streams
- unit tests
Pick your level
Each plan unlocks every project of its levels, in every language we support. Cancel any time.
Not sure yet? Try the first Base Camp project free for 7 days. No card needed. Start the free trial β
Base Camp
Every beginner project. Learn the job one small, guided project at a time.β¬16.99/ month
- All Base Camp projects
- Starter code, tests and reviews
- Cancel any time
- Most popular
Expedition
Beginner and intermediate projects with real-world trade-offs.β¬20.99/ month
- All Base Camp projects
- All Expedition projects
- Cancel any time
Summit
Every project at every level, including systems and concurrency work.β¬24.99/ month
- All Base Camp and Expedition projects
- All Summit projects
- Cancel any time
Summit Yearly
Everything in Summit, billed once a year for less.β¬249.99/ year
- Everything in Summit
- Save β¬49.89 a year vs. monthly
- Cancel any time
Prices include VAT.
Questions
Does my code run in the browser?
No, on purpose. You download starter code and tests, build them with your own compiler and tools, and run the tests on your machine. That's how the job works, and it means you learn your tools, not ours.
Which languages are supported?
Projects launch in C++. Python, Java and C# are on the way. Tickets and design tasks are the same in every language; starter code, tests and run instructions are per language, and you can switch language at any time.
What do I need to install?
For C++: a C++20 compiler (GCC, Clang or Visual Studio) and CMake. Each starter has a README with setup steps for Windows, macOS and Linux.
How does the free trial work?
The first Base Camp project is free for 7 days from when you start it. No card needed. Your progress is kept if you subscribe later.
How is my work checked?
Each milestone comes with tests you run locally and a code review checklist written like a senior engineer's review. When the tests pass and you've gone through the checklist, you mark the milestone as done.
Can I switch plans or cancel?
Yes. Switching plans, including between monthly and yearly, takes effect right away and you only pay the difference for the rest of the period. Cancelling keeps your plan until the end of the period, and your progress is never deleted.
Your first day starts now.
Read the brief, pick up a ticket and ship something real this week.
Start the free project π