Building a web-based multi-terminal manager for @BuildOnNodeOps , xterm.js over WebSocket, sortable grid , adaptive layouts (auto-scales 1→9+ panes), live resource telemetry in the status bar. Full VPS lifecycle management without ever leaving the browser.
In my opinion heavy ternary usage in React/Next.js tsx is a code smell.
A dedicated render function with if blocks is almost always more readable, debuggable, and maintainable.
A queue gives you:
✅ Persistence
✅ Auto-retry — failed jobs retry automatically
✅ Backpressure — control how many jobs run at once
✅ Decoupling — main server doesn't care if email service is slow
Async functions forget.
Queues remember.
Tools to try: BullMQ + Redis 🔧
Here's how a queue changes the flow:
User places order
→ Save to DB ✅ (fast, must happen)
→ Respond "Order placed!" instantly ✅
→ Push jobs to queue (microseconds)
→ Worker sends email (background)
→ Worker updates stock (background)
User is never waiting for bg
Neon DB's Postgres free tier used to be great for side projects, but I've been hitting the suspension limits way too often lately.
Thinking of spinning up a self-hosted Postgres instance on an EC2 machine instead.
Quick start:
npm install @trpc/server @trpc/client @trpc/react-query zod
Define router → export its type → import in client → call like a function.
Works great with Next.js. Pairs perfectly with Zod for input validation.