Systems / Backend Depth
These are the ones that actually make you dangerous as a backend engineer.
1. Build a mini reverse proxy (nginx-lite)
-
Features:
- HTTP/1.1 parsing (raw, no frameworks)
- Reverse proxy to upstreams
- Load balancing (round robin, least connections)
- Basic caching layer
-
Bonus:
- TLS termination later
- Rate limiting
๐ This aligns perfectly with your volk server โ you can evolve it into this.
2. Write your own job queue (like Sidekiq / Celery)
-
Components:
- Worker pool
- Persistent queue (Redis or your own disk format)
- Retry + backoff
- Delayed jobs
-
Stretch:
- Distributed workers over TCP
- Priority queues
๐ This teaches real production backend patterns.
3. Build a simple database
Not a toy โ something real enough to learn internals.
-
Start with:
- Key-value store (append-only log)
- In-memory index
-
Then:
- Compaction
- WAL
- B+ tree or LSM tree
๐ This will change how you think about data forever.
4. Implement a file sync system (Syncthing-lite)
- Watch filesystem changes
- Send diffs over network
- Conflict resolution
- Resume transfers
๐ Youโve already had pain with Syncthing โ perfect motivation.
5. Write a TCP-based chat server (no HTTP)
- Raw sockets
- Custom protocol
- Multiple clients
- Message broadcasting
Stretch:
- Add encryption
- Presence + rooms
๐ This builds real networking intuition.
๐ Real-world Backend Apps (portfolio-ready)
6. Auth service (production-grade)
- JWT + refresh tokens
- OAuth (Google/GitHub)
- Email verification
- Rate limiting
- Audit logs
๐ You literally have this on your Whisp backlog.
7. Analytics ingestion service
- Accept events via HTTP
- Batch + store efficiently
- Query API
Stretch:
- Use columnar storage
- Add real-time streaming (Kafka-lite)
8. Multi-tenant SaaS backend
- Organisations + users
- Role-based access control
- Rate limits per tenant
- Billing hooks (mock Stripe)
๐ This is what companies actually build.
9. Webhook delivery system
- Accept webhook registrations
- Retry logic (exponential backoff)
- Signing (HMAC)
- Dead letter queue
10. Search engine (mini Elasticsearch)
- Index documents
- Inverted index
- Ranking (TF-IDF)
๐ค AI-related backend projects (not just โcall OpenAI APIโ)
11. LLM gateway (very relevant to you)
-
Single API to:
- route to local models (llama.cpp)
- fallback to cloud (OpenAI, etc.)
-
Features:
- rate limiting
- caching responses
- prompt logging
- cost tracking
๐ This fits your Hetzner + subdomain idea perfectly (ai.awais.me).
12. Vector database (mini Pinecone)
- Store embeddings
- Similarity search (cosine)
- API layer
Stretch:
- HNSW index
- Disk persistence
13. RAG backend
- Upload documents
- Chunk + embed
- Query with context retrieval
๐ Make it your own knowledge base replacement.
14. Code assistant backend
-
Input: codebase
-
Features:
- semantic search
- โexplain this fileโ
- โfind bugsโ
Stretch:
- integrate with Neovim
15. AI task worker system
-
Queue tasks like:
- summarisation
- embeddings
- code generation
-
Workers process using local LLMs
๐ Combine this with your job queue project = ๐ฅ
โ๏ธ Infra / DevOps-focused backend
16. Service orchestrator (mini systemd / docker-lite)
- Start/stop processes
- Restart policies
- Logging
17. Distributed rate limiter
- Token bucket
- Shared state across nodes (Redis or custom)
18. Config-driven deployment tool
- YAML โ deploy services
- SSH + run commands
- Health checks
๐งฉ How to pick (important)
Donโt try to do everything. Pick based on your goal:
-
Want deep systems knowledge โ โ database / proxy / TCP server
-
Want job-ready backend skills โ โ auth service / SaaS backend / webhooks
-
Want to align with your current stack + interests โ โ LLM gateway + job queue combo
๐ฅ My blunt recommendation for you
Given everything youโve been doing:
Start this sequence:
- Job queue (core infra)
- LLM gateway (uses the queue)
- Extend your volk server into reverse proxy
That combo is:
- practical
- impressive
- deeply technical
- reusable in your own infra
If you want, I can map out a step-by-step build plan (with architecture + folder structure) for one of these so you can actually execute instead of just collecting ideas.