Skip to content
Ever Cifuentes
All work
01

Amazon Ring

You cannot test a hardware fleet you do not have. So we simulated the fleet, and tested against devices that did not exist yet.

RoleSenior Software Engineer
Engagementvia Deviget
Period2021

Stack

  • Go
  • IoT device emulation
  • Real-time video streaming
  • State machines
  • Systems simulation
  • Automated testing
System topologyemulator
Hardware behaviour reproduced without hardware.
02

Problem

Hardware-software integration testing is bounded by the hardware you can physically put on a desk. Device setup state machines, connectivity failures, and real-time streaming behaviour are exactly the paths that break in the field, and exactly the paths that are tedious and unreliable to reproduce with real devices. Worse, the devices that most needed validating were the ones that did not exist yet: a camera or a video doorbell still months from a physical prototype, whose integration with Ring's existing stack could not be exercised until someone could hold it. Whole engineering teams were bottlenecked on physical availability.

03

Approach

I built and evolved a distributed emulator platform for Ring cameras and video doorbells, reproducing hardware behaviour, device provisioning workflows, configuration models, behavioral state machines, and connectivity scenarios — including real-time video streaming simulation. That let teams validate the integration of upcoming devices against the existing software and cloud ecosystem before the physical hardware was available. The emulator was only useful if engineers trusted it, so I treated its internal APIs as a product surface — clean, documented, supported — and expanded automated test coverage across the simulation engines themselves.

The tradeoff

An emulator is a model, and every model is wrong somewhere. The danger is a team that starts to believe the simulation over the device. We drew the line explicitly: the emulator was authoritative for state-machine and connectivity logic, and never for timing or radio behaviour. Knowing precisely where a tool stops being trustworthy is what makes it safe to rely on — a tool with unmarked edges is worse than no tool, because it is trusted in exactly the places it should not be.

04

Impact

Upcoming devices validated against the software stack before the hardware existed

  • Distributed IoT emulation platform delivered for Ring cameras and video doorbells, simulating hardware behaviour and connectivity workflows
  • Upcoming devices validated against Ring's existing software stack before physical prototypes were available, unblocking engineering teams
  • Real-time video streaming simulation built to exercise media and integration paths without physical hardware
  • Device provisioning workflows, configuration models, and behavioral state machines reproduced faithfully
  • Automated test coverage significantly expanded across the critical simulation engines
  • Internal APIs architected and documented as a supported developer surface
05

What I learned

Developer experience is a reliability feature. The emulator's adoption tracked the quality of its API and its docs far more closely than the fidelity of its simulation. An accurate tool that engineers avoid protects nothing.

06

Facing something similar?

If a decision in your own system rhymes with this one, the fastest way forward is a short conversation about the constraint.

Book a 30-minute conversation

Next case

Hallmark

Thirty-plus Go microservices across commerce, accounts, gifting, and streaming — and the patterns that kept them coherent.

Read the architectural decision →