We built Beside Care, an elder-care monitoring platform, and we still run it
Most of what people ask us to build is a website. This one was not.
Beside Care started from a problem plenty of families recognize. Somebody puts a camera in an aging parent’s house, and then nobody looks at it. A motion alert at 3am tells you something moved. It does not tell you whether Mom got up for a glass of water and went back to bed, or whether she has been up since midnight.
What it does
Beside Care connects to a family member’s existing Ring account, receives camera events as they happen, and turns them into something a caregiver can actually read: daily routines, quiet stretches that do not fit the usual pattern, and notifications when something looks wrong. Short video clips are only retrieved when the user has explicitly enabled it.
Users do not sign up on our website. They start inside Ring, under Control Center and Integrations, choose Beside Care, and Ring sends them to us.
The sentence that was most of the work
That last one sounds like a detail. It was the hard part. To be listed as a Ring integration, we had to be the OAuth provider rather than the consumer.
Almost every project consumes somebody else’s OAuth. You register an app, you get a client secret, you redirect users off to Google and catch them on the way back. Being on the other side of that handshake means implementing the authorization server yourself: issuing authorization codes, exchanging them for tokens, handling refresh and revocation, and modeling all the half-finished consent states users leave behind when they close the tab mid-flow. Get it wrong and you either break signups or open a security hole.
What is actually running
Six independently deployed services. A customer portal, an internal operator console, an API gateway, an AI pipeline, a notifications worker, and a tail worker for logs — all on Cloudflare.
Event ingestion through queues. Webhooks land and get acknowledged immediately, then the real work happens behind a queue where retries are safe and a slow downstream call cannot cause dropped events.
Around 70 Postgres tables across 252 tracked migrations. Every schema change is a versioned, reversible migration rather than a hand-edited table.
A subscription and entitlement system. Plans, features, and per-account overrides, so what a given customer is allowed to do is data we can change rather than conditionals scattered through the code.
An AI summarization pipeline with vector search. Including the unglamorous half of that work: jobs that genuinely delete embeddings when someone asks to be erased.
A consent ledger and an audit log. When software watches somebody’s parent, who agreed to what, and who viewed what, has to be written down.
Two full environments. Staging mirrors production, so releases are rehearsed instead of attempted.
Why we point clients at this
Any agency can list a stack on a services page. It is more useful to point at something running on it.
Beside Care is ours, which means we never handed it off and walked away. We pay for its infrastructure, we get its alerts, and we are the ones awake when something breaks at an inconvenient hour. Every argument we would make to a client about migrations, staging environments, and audit trails is one we have already had to take our own advice on.
It is also the honest answer to a fair question. When a business asks whether we can build real software rather than another brochure site, this is what we show them.
If you have something to build
We take on custom software: internal tools, customer portals, APIs and integrations, data pipelines, and AI features. Every project starts with a paid discovery sprint that ends in a fixed price, so you know the number before the build begins. See our custom software services for how that works.
Email [email protected] or call (614) 656-2186 and tell us what you are trying to build.