Hey dev community! 👋🏻
I'm Seif, a software engineer with 4 years of experience who absolutely hates vibe-coding and prefers designing architecture by hand. 👨🏻💻
Exactly 101 days ago, on July 8, 2026, I initialized the repository for my project, Vlox. My mission was simple: build a clean, fast developer social network and prove that anyone can build safe web apps without heavy client-side frameworks like React.
Today, the app is fully hosted and live at https://vlox.containers.snapdeploy.app (the initial load may take 60 to 90 seconds due to a cold start 😅)
The tech stack
Instead of standard enterprise software, I picked lightweight tools to power Vlox:
Backend: I chose Node.js because its asynchronous, non-blocking nature makes it great at handling many requests simultaneously on a single server.
Frontend: Cash (a tiny, 3KB DOM manipulation library that mirrors jQuery syntax) paired with classic server-side data handling. Since I don't plan to make Vlox a massive app, this choice is fine.
Database: MongoDB via Mongoose. Since Vlox doesn't need JOINs, choosing SQL was unnecessary. Plus, MongoDB works great with JavaScript stacks because of its JSON-like format.
One of my engineering decisions: Using transaction
When building Vlox, I had to make engineering decisions to handle features like post likes.
On every like, the likes field in the post doc increments by 1 using updateOne for atomicity and a new document with a unique index is added to the likes collection.
Some developers might skip transactions here, but that can cause sync problems. If the server crashes, runs into an error, or loses its connection right after the $inc step but before saving the new like, the data gets broken.
The like count on the post will be higher than the actual number of likes in the collection. Even worse, because there is no record to prove the user already liked it, they can hit the like button again and fake the count.
That's why I chose to put both steps inside a transaction. If one part fails, everything goes back to normal automatically. Also, MongoDB checking the unique index across docs won't cause performance issues because Vlox isn't meant for hundreds of thousands of people yet. When engineering, you just need to make the right choices for your specific app scale. Perfecto 👌🏻
Check out the code
Vlox is completely open source, and I'm happy to answer your technical questions. You can also inspect the code at https://github.com/Hfs2024/Vlox
I would really love your honest feedback. Please consider sharing it in the comments below!
Thanks for reading! 🌟
Top comments (0)