Systems worth having built
Each project is a specification the way a tech lead would write one: the business problem, the milestones, the observable condition that says a milestone is done, and the trade-offs you will be asked about. Build them in your own repository, in your own time.
10 of 10
- DataFoundationEmployee records, with no framework to hide behind
A command-line program that keeps a company's employee records in a file. No Spring, no database, no library: the Java you have learned so far, made to hold up under real input.
- DataFoundationA ledger where the balance is always right
Accounts, deposits, withdrawals and transfers over raw JDBC — no ORM, no Spring — so that the transaction, the prepared statement and the pool are things you wrote rather than things that happened.
- DataIntermediateThe URL shortener, built from its own brief
The system-design course designed it on paper. This is the same system as running code: a key generator that never collides, a redirect that is mostly a cache hit, and click counts that do not slow the redirect down.
- APIsFoundationA REST API you would not be embarrassed to hand over
A CRUD service is a morning's work. This is the rest of it: the error model, the pagination contract, the validation, and the twenty decisions that separate a demo from something another team can call.
- SecurityIntermediateAuthentication that survives a security review
Sign-up, sign-in, refresh, logout. Every one of them has a way to be wrong that still passes a happy-path test.
- DataIntermediateAn order service where money does not go missing
Orders, stock and payment. Three writes that must agree, in a system where any of them can fail after the others have already happened.
- Event-drivenAdvancedA notification platform that survives a replay
Events in, emails and push out. The hard part is that Kafka will deliver some of them twice, and a customer who gets the same invoice email four times will say so publicly.
- PlatformSeniorA gateway that fails fast instead of dragging everyone down
Three services behind one entry point. When one of them slows to three seconds, the other two must stay up — and so must the gateway.
- PlatformAdvancedMake a service you can debug at 3am
Not a dashboard. The ability to answer 'which request was slow, and where did the time go' about a request that finished twenty minutes ago.
- PlatformSeniorA banking platform, end to end, that you can operate
The five projects above, joined into one system and put on a cluster: a gateway, an auth service, accounts, payments, transactions and notifications, with Kafka between them, a database each, a pipeline that deploys them, and the dashboards and traces to run it at 3am.