DEV Community

Victor Ng'ang'a
Victor Ng'ang'a

Posted on

System Revamp: Stepping Into System Design

Week 3: A Shift in Perspective

Quick Snapshot


Two weeks ago, I started blogging. I had no clear direction — just a deep desire to share. That led to my first post: I Almost Didn’t Write This.

By week two, I had dived into Docker and system design, writing about scaling, security, and why DevSecOps matters.


This Week: System Design Hit Me Hard

After bingeing Gaurav Sen's system design breakdowns (Tinder, WhatsApp, Instagram), I saw things differently.

It made me look at my own project — Vimist, a POS and Inventory app — and realize:

It could be better.

So I paused building... and started redesigning.


Core Requirements I Mapped Out

  • Inventory management
  • Purchases (what, where, who, how paid)
  • Sales (to whom, by whom, payment method)
  • Credit tracking w/ limits & repayments
  • Notifications: low stock, overdue payments
  • Payment types: cash, mobile money, credit
  • Business branding: themes, logos, company details

Tradeoffs and Decisions

Consistency is a must — money’s involved.

That left me debating between:

  • Availability
  • Partition tolerance

Still undecided. Any thoughts?
Share down in the comments.


Stack I Chose

  • 🧱 REST APIs for simplicity
  • 🐬 MySQL for strong ACID guarantees
  • 🐳 Docker to scale across systems
  • 🔐 RBAC via Django (middleware + signals)

Currently working on the LLD (schema, services). HLD coming together too. -- coming soon


Closing Thoughts

This journey isn’t fast — but it’s moving.

And that’s what matters.

Sometimes, slow forward beats a backward step.

If you’re building anything similar or have thoughts on consistency vs Partition Tolerance, hit me up in the comments.

See you in Week 4.

  • vn-vision

Top comments (0)