Every Bark, Bite and Bowl Visit: Why We Trust Amazon S3 With Millions of Pet Moments
A dog trots up to its bowl, takes a few bites, looks around and goes back for more. To the dog, it's just lunch. To us, it's a handful of new files.
Our smart bowl, EverBowl, has two cameras, a thermal camera, a microphone and a scale. Our collar, EverSense, records short sound clips. Multiply one meal by thousands of pets, every day, and you get where we are today: about 9.5 million files and nearly 3 TB of data, all stored in Amazon S3.
Here's why.
A Dog Walks Up to Its Bowl, and a Handful of Files Are Born
One visit to EverBowl can produce:
- Two camera photos, one from each normal camera
- A thermal image from the thermal camera
- A segmented image, made from the photos by cutting the pet out of the background
- Audio clips of eating and drinking, both raw and cleaned up
Our team uses these files to review meals, understand eating behaviour and dig into what happened during a particular visit. That only works if every file is stored safely and can be found again quickly.
The Catalogue Card and the Book: Why Files Don't Belong in a Database
Our whole design rests on one rule: the database keeps the link, and S3 keeps the file.
Think of a library. The catalogue card tells you which book you want and which shelf it's on, but it doesn't contain the book.
Our databases (DynamoDB and Cassandra) are the catalogue. Each row records the device, the pet, the time and the type of event, plus a link to the file. The photo or sound clip itself sits in S3, which is the shelf. When someone opens our internal dashboard, it reads the row, follows the link and loads the file:
Device → S3 stores the file → the database saves the link → the dashboard follows the link
Each system does what it's best at. Databases answer questions fast, and S3 holds the files.
What's Inside Our Buckets: Photos, Sounds, Firmware and Logs
A bucket is just a named container in S3. We have four:
- Pet data (1.7 TB, 6.3 million files): bowl photos, thermal and segmented images, bowl and collar audio, and labelled images we use to train AI models, such as one that tells dogs apart.
- Older bowl images (1.2 TB, 3.2 million files): our earlier camera captures. Old events still link to them, so the team can revisit past meals and see what our AI model concluded from each image.
- Firmware (16 GB, about 2,000 files): the software our devices run, plus update scripts and settings files. The team can upload a new version, download it through a temporary secure link or roll back to an older one.
- Device logs (40 GB): when a bowl misbehaves in someone's home, engineers read its logs instead of visiting it.
We learned one lesson along the way. Our older images sit in a single flat folder, named only by ID. Newer files are filed by device → pet → date, so the path itself tells you where to look. With millions of files, that small habit saves a lot of searching.
Why S3 Wins: Unlimited Space, Eleven Nines and Pennies per Gigabyte
Surprisingly, our files are small, about 300 KB on average. The challenge isn't their size but how many there are. S3 handles millions of files without us ever buying a disk or planning for space.
It's also built not to lose them. AWS designs S3 for 99.999999999% durability ("eleven nines"). In plain terms, a stored file is extremely unlikely ever to vanish.
It's cheap, too. Standard storage costs roughly 2–3 US cents per GB per month at list price, so our nearly 3 TB comes to around $70 a month for storage. As the data ages, S3 can automatically move files nobody opens anymore into even cheaper storage.
And it's secure. A pre-signed URL lets someone download one specific file for a few minutes without making anything public.
There are trade-offs. The link and the file live in two places, so they must stay in sync, and every request and download adds a small cost. For us, that's a fair price.
From Feeding Bowl to Smarter AI: What This Storage Makes Possible
The same files do three jobs at once:
- Caring for pets: reviewing meals and listening to how a pet eats
- Keeping devices healthy: reading logs and shipping firmware updates safely
- Building smarter AI: turning labelled photos into models that recognise individual dogs
One meal creates a handful of files, and those files help in three different ways.
Every photo and every sound tells us something about a pet. Our job is to keep those small moments safe, easy to find and useful for building better products.
Behind every bark, bite and bowl visit, there's a little bit of data, and a lot of love.
What would you store in S3? 🐾