
Case Study: A Voice Agent for Appointment Setting in Home Services
How a regional HVAC and plumbing company recovered 12-18% of missed leads by deploying a voice agent for after-hours appointment booking.
Work
ProjectsCase studies, shipped work, and prototypes.Open SourceGitHub, npm, PyPI, and public packages.Hackathons & CompetitionsHackathons, contests, and rapid-build work.Depth
JourneyCareer timeline, roles, and education.AchievementsScholarships, rankings, and milestones.Courses & CertificationsStructured learning, courses, and credentials.SkillsTechnical capability map.This website · 02
Browse this website posts across architecture, delivery, product systems, and the public writing footprint connected to this site.
Zero-downtime deploys on a cheap VPS
Field notes
485 published articles. Essays written here open in place; older tutorials take you back to the site where they first appeared.

How a regional HVAC and plumbing company recovered 12-18% of missed leads by deploying a voice agent for after-hours appointment booking.
FinTechAn acquisition, an IPO lockup expiry, a secondary sale — the cash and the tax bill on it rarely arrive on the same schedule. Here's the mechanics worth understanding before the wire lands, not what to do with the money.
Cloud / DevOpsServerless versus containers isn't really a technology debate — it's a workload-shape question. Here's how to make the call based on what the team can actually sustain.
CareerA pager that never goes off should be a free night's sleep. Two separate sleep-lab studies say it usually isn't, and the reason has nothing to do with how many alerts actually fired.
CareerThe '90-minute focus cycle' gets quoted as settled science. The research it's built on is real, genuinely interesting, and considerably less precise than the number implies.
Cloud / DevOpsThe app that felt instant on Vercel goes home to a cheap VPS and forgets how to load fast. The framework didn't change. Six specific things underneath it did, and none of them are next/image.
CareerThe number everyone quotes — multitasking costs you 40% of your productivity — is real, but it isn't from the study everyone cites it from. The study measured something smaller, stranger, and more useful.
CareerThe WHO added burn-out to the ICD-11 in 2019 and most of the coverage since has gotten the headline backwards. It is not a disease. The actual entry says so in its own second sentence, and almost nobody quotes that part.
CareerInstrumented time-tracking says code review is 1.3% of a developer's day. Anyone who's reviewed a large, unfamiliar diff at 4pm knows that number is measuring the wrong thing.
CareerA 30-minute meeting doesn't cost an engineer 30 minutes. It costs the meeting, the time spent rebuilding the mental model it interrupted, and whatever fraction of that model doesn't come back intact.
CareerThe famous study behind 'decision fatigue' — judges granting parole less often as the day wears on — has been seriously challenged, and the whole 'willpower is a depleting resource' idea failed to replicate across 23 labs. The afternoon slump is real. The explanation everyone reaches for probably isn't.
Cloud / DevOpsThree reverse proxies, three completely different config philosophies. One wants a text file, one wants a single line, one wants to read your Docker labels. Here's which one actually fits a self-hosted VPS, and why Coolify picked the one it did.
CareerCut the hours and the exhaustion dimension might ease a little. The other two dimensions in the actual clinical model of burnout don't have anything to do with hours, and they're usually the ones that don't move.
CareerAll three feel like 'I don't want to do this today.' They aren't the same problem, and the research says you're a genuinely unreliable judge of which one you're in.
CareerMost burnout advice assumes the fix is either 'push through' or 'leave.' The Maslach-Leiter model points at a third option: find which specific area of the job is actually mismatched, and change that one thing.
CareerA lot of what gets labeled 'this project is exhausting' is actually 'this project keeps making me redo work because nobody decided what it should do.' Those have different fixes, and only one of them is about you.
CareerGood due diligence looks boring from the outside. It isn't a hunt for flaws — it's a structured answer to one question: can this team or system support what people are betting on it?
CareerA notification doesn't have to be opened to cost you. The research on attention residue says the mere knowledge that something unfinished is waiting is enough to degrade the task in front of you.
Tutorialufw status can say everything's locked down while a container you published with -p 5432:5432 sits wide open to the internet. This isn't a misconfiguration — it's Docker rewriting your firewall's decisions before ufw ever gets a vote, and the only way to know for sure is to check from a machine that isn't the one you're worried about.
ArticleHow a regional HVAC and plumbing company recovered 12-18% of missed leads by deploying a voice agent for after-hours appointment booking.
TutorialCoolify's built-in backup covers less than most people assume, and a filesystem copy of a live Postgres data directory is not a valid database backup no matter how confident it looks in a file listing. Here's what actually has to be backed up, and a restore you've actually tried before you need it.
Cloud / DevOpsNot a migration story — a mechanism argument. Every microservices pitch quietly asks a small team to trade function calls for network calls, and pay for that trade in local dev complexity and observability tooling before there's a team boundary that actually needs it.
BlockchainA Web3 product has to earn trust twice: as software people can use without a wallet already in hand, and as asset logic that holds up when someone asks a hard question about it.
TutorialOn Vercel, a console.log just shows up in a dashboard somewhere. Self-hosted, it goes through a chain most people never trace end to end — and the two most common questions I get are why a log doesn't show up at all, and why the disk filled with logs nobody remembers writing.
CareerThe honest version is less alarming and more actionable than the headlines. WHO looked at the evidence in 2020 and declined to set a sitting threshold at all — but a million-person meta-analysis found something much more useful about what offsets it.
CareerThe finding that should worry you isn't that six hours of sleep degrades performance. It's that in the study which established it, subjective sleepiness stopped tracking objective decline — the impaired group did not know they were impaired.
CareerSystematic reviews do not support a causal link between computer work and carpal tunnel syndrome. That is not permission to ignore wrist pain — it means the thing you have probably isn't the thing you have been told to fear, and the distinction changes what to do.
CareerStanding is not exercise. It burns marginally more than sitting and doesn't reach the intensity the mortality research was measuring — so a standing desk solves a real problem, just not the one it's sold as solving.
CareerMost routines written for desk workers assume a day you don't have. This one is built around the two things instrumented research actually found: a day fragmented into two-minute pieces, and occasional unbroken blocks over two hours long.
CareerThe evidence for individual ergonomic products is weak and inconsistent — which is not the same as saying setup doesn't matter. It means spend your attention on geometry and variation, and your money last.
CareerThe WHO's muscle-strengthening recommendation is a separate line item from the cardio one, and it's the half almost everyone drops. Two sessions a week, all major muscle groups — and for desk workers the priorities are not the ones the gym suggests.
A working notebook
“Some ideas belong here because they connect directly to projects and services.
Older tutorials still live on Medium, where people first found them. This page keeps the trail intact without pretending everything was published in one place.
How I choose a topic
I would rather publish one useful explanation from lived work than five summaries of things everyone already knows.
Step 01
A topic usually starts as the second or third time the same engineering, product, hiring, or research question lands on my desk.
Step 02
I look for a shipped system, a measured result, a failed approach, or a public artifact that keeps the argument honest.
Step 03
Most technical choices touch something else. The useful links are the ones that help a reader follow that chain without opening fifteen tabs.
Step 04
Some pieces belong on this site; others already have a life elsewhere. I keep the original destination and publishing history intact.
Topics covered
The recurring technical and strategic themes represented across this archive.
A quick orientation
The practical details behind this mixed archive.
Those pieces were published there first. I would rather send you to the original article—with its date, responses, and history—than create a duplicate here.
Thirty-five posts are enough to become noisy. The filters separate original essays from outside tutorials, and permanent page links make it easier to pick up where you left off.
Usually. The essays here tend to connect a technical decision to the project, service, or research context behind it. External posts are often narrower, practical guides.
Please do. Real questions are where the best pieces start. Send the context, what you have already tried, and the part that still feels unclear.
Next step
You do not need a polished brief. A bottleneck, an uncertain architecture decision, or a product idea that refuses to become concrete is enough to start.