Riverton TechnologiesBook a call

Systems engineering — Thurmont, Maryland

Your systems should be boring.

We build the integrations, automations, and internal tools a business runs on — the kind that keep working when nobody is watching them, and that say something out loud when they don’t.

All systems nominalRVT‑2  Ops Console
Illustrative operations console. Four scheduled jobs: orders-sync — OK, invoice-generate — OK, inventory-recon — OK, crm-webhook — OK. Dead-letter queue holds 0 records. 0 alerts today. Every job Riverton ships reports success and failure to a named person.

What actually breaks

Three failures we’ve cleaned up more times than we can count.

Failure 01

The nightly sync fails silently.

It stops on a Tuesday. Nobody notices until the month-end numbers don't reconcile and someone spends a weekend on it.

What we do

Success and failure both get reported, to a person, by name. Alerts route to the human who can fix it — not to a dashboard nobody has open.

Failure 02

Exactly one person knows how it works.

Sometimes that person is a contractor who has moved on. Sometimes they're still there and can't take a vacation.

What we do

A runbook, an architecture note, and a recorded handover. Written for the engineer you hire next, not for us.

Failure 03

The integration works until the API changes.

A vendor ships a breaking change, records start failing validation, and the ones that failed are simply gone.

What we do

Versioned clients, contract tests, and a dead-letter queue. Bad records wait in a place you can see and replay them, instead of disappearing.

A real one

What a sync we build actually looks like.

Not a diagram of nothing. This is the shape of most integrations we ship: a receiver that never blocks, a queue that absorbs the vendor’s bad afternoon, a worker that retries with backoff, and somewhere for the records that still won’t go through.

Architecture of a sync Riverton buildsA storefront or CRM sends a webhook to a receiver, which validates it and acknowledges in under 200 milliseconds without blocking. The receiver writes to a queue that absorbs bursts and outages. A worker reads the queue and writes to your database, retrying three times with exponential backoff and behaving idempotently. Records still failing after three tries go to a dead-letter queue, where nothing is dropped and records wait to be replayed, and an alert goes to a human by email or Slack with the record attached. A nightly reconcile at 04:00 feeds the queue with anything the webhook missed.still failing after 3 trieswebhookStorefront / CRMtheir system,their uptimeReceivervalidates, ack in< 200ms, never blocksQueueabsorbs burstsand outagesWorkerretry ×3, exponentialbackoff, idempotentYour databaseyour account,your billingNightly reconcile04:00 — catches whatthe webhook missedDead-letter queuenothing is dropped;records wait, replayableAlert to a humanemail or Slack, withthe record attached
Built in your cloud, under your billing. You hold the repository and the credentials from day one.

Selected work

Systems that had to stay up.

Details on request

  1. 01

    Recreation.gov

    Development on federal recreation booking software — the system Americans use to reserve campsites and permits on public land. High-volume public traffic and the kind of scrutiny where an outage is a news item rather than a ticket.

    Sector
    Federal government
    Role
    Development lead
  2. 02

    Eyeglasses.com

    Technical owner as CTO: microservices in Next.js and Node.js, containerised with Docker and run on ECS, with the CI/CD pipelines, infrastructure automation, and observability that keep a revenue-carrying system honest.

    Sector
    Commerce
    Role
    CTO / technical owner
    Stack
    AWS, ECS, Docker, Next.js
  3. 03

    Local BREAK

    A community deals platform for local merchants: offers published by the business, redeemed by QR code at the counter, with Stripe and PayPal subscriptions behind them. Reconcile jobs keep memberships and verifications agreeing with what was actually paid for, and an idempotent migration runner ships schema changes to production without a maintenance window. Live with 100+ merchants and 200+ locals.

    Sector
    Local commerce
    Stack
    PHP, MySQL, Docker, EC2, Stripe
    Result
    100+ merchants · 200+ locals

What we build

Four things, done properly. If you need something else, we’ll tell you and point you somewhere better.

Services Riverton builds, with typical project durations
ServiceDescriptionTypical duration
API & platform integrationsTwo systems that were never meant to talk to each other, made to agree — without a person re-keying data in between.3–8 weeks
Internal tools & dashboardsThe screen your ops team actually needs, instead of the spreadsheet three people email around and one person understands.4–12 weeks
Workflow automationScheduled jobs, alerts and hand-offs that run whether or not anyone remembers to run them.2–6 weeks
Architecture reviewA second senior opinion before you commit — on a build-versus-buy call, a migration, or a hire you're about to make.1–2 weeks

Who writes the code

Brandon Green

Fifteen years designing, building and operating cloud platforms that other people’s businesses depend on. Currently the technical owner of Eyeglasses.com — microservices in Next.js, Node.js, Docker and ECS on AWS.

Before that: enterprise and government software, including Recreation.gov, and high-volume operational systems where an outage is a public event.

If you hire Riverton, this is who you get on the call and who writes the code.

LinkedIn ↗
Now
CTO / senior engineer, Eyeglasses.com
Before
Enterprise & government software, incl. Recreation.gov
Degrees
M.S. Information Systems Management · B.S. Computer Science
Stack
AWS · ECS · Lambda · Docker · Terraform · Node.js · TypeScript · Next.js · React · Python · PostgreSQL · MySQL · GitHub Actions · Linux

Tell us what’s breaking, or what’s still done by hand.

Thirty minutes, no charge. We’ll look at what you have, say plainly whether this is worth building, and if it isn’t, tell you what we’d do instead.