Journey of my Full Stack Project Development
Frontend
Backend
Database
Latest Post From All Categories
Building an Automated Safety Timer Worker in Node.js
Building an Automated Safety Timer Worker in Node.js: Preventing Race Conditions with Atomic State Transitions The Stakes: Why Meeting Timers Need Authoritative Backends When building CasualMeet, one of our core...
Read MoreHow to Turn a React (Vite) App into an Android APK with Capacitor
Turning a React app into an Android app sounds like it should take an afternoon. The first part does: a few commands, and your app runs inside a phone. The...
Read MoreSetting Up PostGIS on Supabase: A Beginner’s Guide
“Show me the coffee shops near me.” “Find users within 10 km.” “Which stores are closest to this address?” If your app answers questions like these, you need a database...
Read MoreExpress API Security: IDOR and Mass Assignment Explained
Most API security bugs don’t come from clever hackers. They come from a route that quietly trusts the request. I ran into this while building the backend for a meetup...
Read MoreHow I Detect Phone Numbers and Payment Details in Chat Messages
How I Detect Phone Numbers and Payment Details in Chat Messages In a meetup app, chat is where things go wrong. Someone sends a phone number in the first message....
Read MoreHow I Built Real-Time Chat in React with Socket.IO
I recently built a chat feature for a meetup app. The stack is React on the front, Express and MongoDB on the back, and Socket.IO to connect them. A basic...
Read MoreImplementing JWT Authorization with User Moderator and Admin Roles in Node.js
Implementing JWT Authorization with User Moderator and Admin Roles in Node.js I’m building a local meetup app, and pretty early on it became clear that a simple “logged in or...
Read MoreBuilding a Multi-Platform React App with Capacitor (Web Mobile & Admin)
Building a Multi-Platform React App with Capacitor (Web Mobile & Admin) I’m building a local meetup app, and early on I ran into a problem that a lot of solo/small-team...
Read More