Build projects
Practical Spring Boot, systems and AI-agent builds. Each has milestones you can tick off, a definition of done, and stretch goals.
Task Manager REST API
Build your first Spring Boot service end to end — CRUD for tasks with a DTO layer, request validation, pagination, a status state machine, ProblemDetail errors and one Testcontainers test.
Expense Tracker CLI
A pure-Java expense tracker with no framework — collections, streams, integer-cent money handling, JSON persistence with atomic writes, and tests for everything that matters.
Filestat CLI
Build a parallel file-statistics command line tool that walks a directory tree on virtual threads, aggregates lines, words and bytes per extension, and prints a table or JSON.
Splitwise Expense Splitter
The classic machine-coding round — an in-memory expense splitter with equal, exact and percent splits behind a strategy registry, exact-cent balance tracking and greedy minimum cash-flow settlement.
Multi-Floor Parking Lot
The other classic machine-coding round — a thread-safe multi-floor parking lot with strategy-based spot allocation and pricing, a ticket lifecycle, and a stress test proving no spot is ever double-booked.
URL Shortener API
Build a REST service that turns long URLs into short base62 codes, with PostgreSQL storage, a Redis read cache and per-client rate limiting.
Order Service with Idempotency and Outbox
Build an order service that survives retries and concurrent updates using optimistic locking, idempotency keys and a transactional outbox.
Auth Service with JWT and RBAC
Build a stateless authentication service on Spring Security 6 with BCrypt passwords, short-lived JWT access tokens, rotating refresh tokens and role-based authorization.
Notification Pipeline on Kafka
Build an event-driven notification pipeline with a Kafka producer and consumer, non-blocking retries with backoff, a dead-letter topic and an idempotent consumer.
Rate Limiter Filter
Implement token bucket and sliding window rate limiters as a servlet filter, make them atomic across instances with a Redis Lua script, and compare the result with Bucket4j.
Ship It to Production
Containerize a Spring Boot service, build and publish it with GitHub Actions, deploy it to Kubernetes with probes, and expose Prometheus metrics.
Crawlr Web Crawler
Build a polite concurrent web crawler with virtual threads, bounded concurrency, per-host rate limiting, robots.txt support, a race-free visited set and clean cancellation.
Tinykv Key-Value Store
Build a Bitcask-style persistent key-value store with an append-only log, in-memory index, CRC checksums, crash recovery, compaction and a TCP front-end.
Postgres Job Queue and Worker Pool
Build a durable background job queue on PostgreSQL with SKIP LOCKED claiming, lease timeouts, retries with jittered backoff, scheduled jobs, graceful shutdown and Prometheus metrics.
Real-time Chat with WebSocket and STOMP
Build multi-room chat with Spring WebSocket and STOMP, handshake authentication, presence, PostgreSQL history, heartbeats and reconnect, and horizontal scale-out through Redis pub/sub.
Dropbin File Sharing API
Build a file upload and sharing service that streams multipart uploads into MinIO without buffering, sniffs content types, verifies checksums and hands out expiring share links backed by presigned URLs.
API Gateway and BFF
Build an edge gateway with Spring Cloud Gateway that routes, validates JWTs, rate limits, breaks circuits with Resilience4j, propagates correlation ids and aggregates several services for a BFF endpoint.
Customer Support Agent with Tool Calling
Build a customer-support AI agent backend with a hand-written tool-calling loop against the Anthropic Messages API, PostgreSQL-backed tools, a refund approval gate, conversation persistence and a full audit log.
Internal Docs Q and A with RAG
Build a retrieval-augmented question answering service over internal documents with overlapping chunks, pgvector HNSW search, hybrid keyword retrieval, cited answers, an I-don't-know threshold and a recall@k evaluation harness.
AI Pull Request Review Bot
Build a GitHub review bot that verifies signed webhooks, deduplicates deliveries, chunks diffs to a token budget, forces structured findings from Claude via a tool, posts a review and stays under a per-PR cost cap.
Durable Agent Runtime
Build a crash-safe agent runner on PostgreSQL where every model call and tool call is checkpointed, runs resume after a worker dies, budgets and timeouts are enforced, and tokens, latency and cost are observable.
MCP Tool Server for Internal Business Tools
Build a Model Context Protocol server over HTTP with Spring Boot, speaking JSON-RPC 2.0 directly, with schema-validated tool calls, OAuth scopes per tool, rate limits, an audit log and error results the model can recover from.
Agent Evaluation and Guardrails Harness
Build a CI-grade evaluation harness for a tool-using agent, with a golden dataset, parallel virtual-thread runs, deterministic checks, an LLM judge, flakiness measurement, injection cases, cost reports and prompt regression diffs.