← Back to list

The Minimal Stack That Powers My Production Apps

There was a time when I thought building “serious” backend systems meant using everything:

Somendradev in System Weakness · 2026-04-07 02:18 · 51 claps · 2.7 min read paywalled
#software-development #redis #pm2 #postgresql #nodejs
Open on Medium ↗
Wiki topics: 🌐 · Web Development

The Minimal Stack That Powers My Production Apps

There was a time when I thought building “serious” backend systems meant using everything:

Kubernetes, microservices, message brokers, complex CI/CD pipelines…

This is an AI-generated image.

This is an AI-generated image.

It looked impressive. It felt powerful.

But it also broke. A lot.

Over time, I learned something the hard way:

The best production systems aren’t the most complex… they’re the most predictable.

This is the minimal stack I now use to run real production apps — stable, fast, and surprisingly scalable.

The Stack (Simple, but Powerful)

  • Node.js — runtime
  • Express — API layer
  • PostgreSQL — primary database
  • Redis — caching + queues
  • PM2 — process manager

That’s it.

No Kubernetes. No microservices. No unnecessary layers.

Let’s break down why this works so well.

1. Node.js — Fast Enough for Almost Everything

People love debating runtimes.

But in real-world apps?

👉 Node.js is more than capable.

Why I Stick With It

  • Handles concurrent requests well
  • Huge ecosystem
  • Same language across frontend & backend

Real Use Case

  • APIs serving thousands of users
  • Realtime features (WebSockets)
  • Background jobs

The secret isn’t the runtime — it’s how you use it.

2. Express — Boring Is Good

There are newer frameworks. Faster ones. Trendier ones.

But Express has one big advantage:

It just works.

Why I Prefer It

  • Minimal abstraction
  • Easy to debug
  • Massive community support

Example

app.get('/users', async (req, res) => {
  const users = await db.getUsers();
  res.json(users);
});

No magic. No confusion.

3. PostgreSQL — The Underrated Beast

If I had to pick one database for most projects, this is it.

Why PostgreSQL Wins

  • Relational + JSON support
  • ACID compliance
  • Powerful indexing

Real Trick

Use it for more than just tables:

SELECT data->>'name' FROM users;

You get flexibility without sacrificing structure.

4. Redis — The Silent Performance Booster

Redis is like a cheat code.

What I Use It For

  • Caching API responses
  • Session storage
  • Job queues

Example

const cached = await redis.get("user:1");

if (cached) return JSON.parse(cached);

Why It Matters

  • Reduces database load
  • Speeds up APIs dramatically

5. PM2 — Keep Your App Alive

Most beginners ignore this part.

They run:

node app.js

And call it “production”.

That’s risky.

PM2 Fixes That

pm2 start app.js -i max

What You Get

  • Auto restart on crash
  • Load balancing (cluster mode)
  • Monitoring

Why This Stack Works in Production

1. Fewer Moving Parts

Every extra tool is:

  • Another failure point
  • Another thing to debug

Minimal stack = fewer surprises.

2. Easier Debugging

When something breaks, you know exactly where to look:

  • API → Express
  • Data → PostgreSQL
  • Cache → Redis

No hunting across 10 services.

3. Faster Development

You don’t spend time:

  • Writing YAML configs
  • Managing infrastructure
  • Fixing DevOps issues

You focus on shipping features.

4. Scales Further Than You Think

People underestimate how far this setup can go.

With:

  • Proper indexing
  • Caching
  • Horizontal scaling (PM2 + load balancer)

👉 You can handle serious traffic.

When I Don’t Use This Stack

Let’s be honest — it’s not perfect for everything.

I move beyond this when:

  • Teams grow large (microservices make sense)
  • System becomes highly distributed
  • Different services need different tech

But for 80% of projects, this stack is more than enough.

The Biggest Lesson

I used to chase complexity.

Now I optimize for:

  • Stability
  • Clarity
  • Speed

Because in production:

Simple systems survive. Complex ones fail in creative ways.

Final Thoughts

If you’re building backend apps today, you don’t need a massive stack to get started — or even to scale.

Start simple.

Master the fundamentals.

Add complexity only when it’s truly needed.

That’s how you build systems that don’t just work…

…but keep working.

[embed]12 Backend Tricks Nobody Talks About Most backend advice on the internet is… safe.medium.com

[embed]The Debugging Tools in Node.js Nobody Talks About Let’s be real — debugging in Node.js usually starts and ends with:medium.com

[embed]Node.js Backend Secrets Nobody Talks About Let’s be honest — most Node.js tutorials teach you how to get things working. But very few teach you how to make things…medium.com


메타데이터
post_id
d567b9d504e4
slug
the-minimal-stack-that-powers-my-production-apps-d567b9d504e4
url
https://systemweakness.com/the-minimal-stack-that-powers-my-production-apps-d567b9d504e4
canonical_url
https://systemweakness.com/the-minimal-stack-that-powers-my-production-apps-d567b9d504e4
author_url
https://medium.com/@somendradev23
status
ok
fetched_at
2026-06-13 00:08:42