Hurricane failover for a homelab assistant without paying Bedrock prices
My homelab assistant lives on an LXC in the garage. Hurricane season runs June through November on the Gulf Coast. A two-week power loss takes my whole…
Read →Category
27 posts tagged aws.
My homelab assistant lives on an LXC in the garage. Hurricane season runs June through November on the Gulf Coast. A two-week power loss takes my whole…
Read →I wanted to add "remind me when I'm at any Walmart" to a location-reminder feature, alongside the existing "remind me when I get home" pin-based…
Read →A safety-monitoring side project I run paged me at 09:00 with "dangerous weather conditions near you. Conditions: Thunderstorm." It was a routine summer…
Read →A side-project safety app generated a moderate-severity risk alert for me at 00:28 local time. I was at my desk, awake, trading messages with two…
Read →A toll-free SMS number for a personal safety project I run took several denial cycles before AWS approved it. The denials were all about wording in the…
Read →I had cut over the MX records on several personal domains to AWS SES, because I wanted every incoming email going through a Lambda that writes to…
Read →I had two clients — a web app and a native iOS app — both polling my backend every few seconds to learn that an assistant reply had finished. Polling…
Read →AWS sent the usual EOL notice for the provided.al2 Lambda runtime. I had 13 functions on Bref 2 / al2 spread across two serverless projects. The…
Read →I disabled a stuck check-in schedule at 09:05. At 09:33 my phone buzzed with "Chester Frazier hasn't responded to their check-in." The schedule was…
Read →09:33 to 09:43 on a Friday morning: thirteen SMS messages, several push notifications, all from my own safety app, all to me. The trigger was five…
Read →A safety app I run was firing "missed check-in" pre-alerts at 7am on Saturdays. I don't get up at 7am on Saturdays. The fix was moving from one global…
Read →A pre-release audit pass on a backend I run turned up 22 places where the code passed IndexName: foo-index to a DynamoDB query on a table where foo-index…
Read →A pre-release endpoint sweep on a backend I run turned up two 500s on the check-in respond and snooze endpoints. The cause was old: a composite-key table…
Read →A backend I run was returning 500s on GET /api.php with no endpoint= query param. Should obviously be a 400. Tracking it down landed me on one of those…
Read →The inactivity-monitor cron on a side-project safety app was paging me at 7:01 AM, every morning, with "you haven't checked in." I was asleep. The cause…
Read →The risk-monitor cron on a side project I run was emailing me every 15 minutes with "risk factor appeared" or "risk factor resolved" for low-severity…
Read →The v1 sleep-window learner for a side-project safety app produced a sleep window of 01:00–05:00 for me. My actual sleep is more like 23:00–07:00. The…
Read →I got a high-severity SMS from my own safety app: "may be at risk. Factors: Low blood oxygen: 94%." 94% is normal. Consumer pulse oximeters have a ±2%…
Read →The phone in a side-project safety app posts a stationary_heartbeat every few minutes when it's not moving — so the server knows the device is alive even…
Read →I went to deploy a fix to a backend Lambda and stopped halfway through because the file I was about to overwrite was 65 lines ahead of the repo…
Read →I built a single-page mail reader on top of the DynamoDB table my mail pipeline writes to. Three-pane layout (inbox list / messages / body), search…
Read →I wanted every email to my personal domains stored in DynamoDB as the primary read surface, with Google Workspace continuing to receive a copy as a cold…
Read →A safety app I run pinged me every hour with "Sensor Offline — no data from IFTTT in the last 24 hours" while I was on a trip. That sensor is the motion…
Read →I wanted a personal-finance dashboard that I owned end-to-end. Plaid on one end, DynamoDB on the other, one Lambda in between, and categorization rules…
Read →I had years of GPS pings in a database from a side project. I wanted to look at where I'd actually been on a map — heatmap of every ping, markers for the…
Read →I had a static résumé at one subdomain and wanted a blog at another. Two Lambdas felt absurd for what is functionally two HTML generators. So I put both…
Read →A family member runs a craft-supply brand and needed a product inventory catalog. I built one weekend project: a public catalog page, an admin page, and…
Read →