Engineering lessons, production problems, technical decisions, and ideas worth sharing from the work itself.
A practical Nginx cheatsheet for managing domains, SSL certificates, reverse proxies, logs, and troubleshooting web apps on a VPS.
Find the right command, identify what’s wrong, and get your applications back online without searching for every command.
Nginx · DevOps · VPS · Linux · Server Administration · Troubleshooting · SSL · Web Hosting · System Administration · Reverse Proxy
I'm building a multi-tenant SaaS platform where each tenant needs to send reminders to their own customers. The reminders had to go out over WhatsApp instead of email.
Email would have been straightforward. Every tenant gets a "from" address on a shared domain, or their own domain if they want it, and the sending infrastructure barely changes between tenants.
multi-tenant-saas · whatsapp-cloud-api · whatsapp-business · notification-architecture · saas-platform-design
Get the next one before it's public.
No schedule, no filler - I write when something goes wrong and I learn something worth sharing. That's the only reason a post gets published here.
oodoroland.com was built to communicate how I work: full-stack ownership, production systems, deployment thinking, and clarity over a simple list of skills.
Real work matters more than tool lists, so the portfolio points toward production systems and shipped outcomes.
#FullStackDevelopment · #WebDevelopment · #SoftwareEngineering · #Portfolio
We had just pushed a product to production and started getting feedback from real users. The app was web-based, but the request from users was familiar: they wanted it to feel more like an app they could keep on their phone, not something they had to reopen in a browser every time.
The first reaction was to consider building a native mobile app.
PWA · WebDevelopment · FrontendDevelopment · ProductDevelopment · UserExperience
The application relies on the RestCountries API to populate country, state, and phone-related fields across multiple forms. This data feeds location-dependent workflows and validation logic in the frontend.
Historically, the integration used older public endpoints without authentication.
#API · #SoftwareEngineering · #WebDevelopment · #Debugging · #Production
Production logs started showing requests to routes that did not exist in the app. The probes targeted common paths like /api/.env, /api/openapi.json, /api/graphql, and similar patterns, all returning 404.
It was a reminder that production traffic includes bots and scanners, and that endpoint design affects the exposed attack surface.
Node.js · Express.js · API security · unauthorized requests
Saving blog drafts worked locally but failed in production with a vague “unable to reach the server” error. The actual issue was a 413 Request Entity Too Large response from Nginx, which blocked the request before it reached the Node.js app. Increasing Nginx’s body size limit resolved the issue.
This helps anyone handling large multipart requests (HTML + images) behind Nginx.
Nginx · reverse proxy · Request Too Large · server configuration · Node.js · Express · file upload