Starting tomorrow, I'm grinding through 100 days of raw backend development—no tutorials, no handholding. Just Node.js, PostgreSQL, and the ugly realities of building systems that scale.
The Challenge
100 days, 100 commits: Atomic backend projects pushed to https://github.com/joshylak/100-backend-projects
Tech Stack:
Sample Battle Plan
Phase 1: Core Systems (Days 1-30)
Day 1: Bare-metal HTTP server (no Express)
Day 12: Connection pool leak detector
Day 23: JWT blacklist with Redis Lua scripts
Phase 2: Pain Points (Days 31-70)
Day 37: N+1 query exterminator
Day 45: Distributed deadlock simulator
Day 63: Postgres failover with pg-rewind
Phase 3: Bloody Edge Cases (Days 71-100)
Day 82: WebSocket flood attack mitigator
Day 91: CTE-based RBAC permission tree
Day 100: Zero-downtime schema migrations
Why This Matters
No ORMs allowed: Raw SQL or bust.
Instrumentation-first: Every service gets Prometheus metrics.
Failure-driven: I'll intentionally build:
🔗 https://github.com/joshylak/100-backend-projects
(Open issues for brutal code reviews.)
For Developers
Call me out if you see await in loops or JSON.parse() without try/catch
Suggest a nightmare scenario (e.g., "Implement Serializable isolation with retries")
Steal the vicious parts: Transaction retry logic, prepared statement caches
)
Top comments (0)