KeeperOS
The screen matches the shelf. Position does the work an ID number does everywhere else.
Racks are a spatial system, and almost every app that manages them throws the spatial part away. You have a physical arrangement — four racks against a wall, twelve tubs each, positions you know by muscle memory — and then you open software that presents it as an alphabetical list of names. Reaching the animal in front of you means reading a label or remembering an ID, which is a translation step that exists only because the software refused to hold a layout.
That translation is small and constant, and it is why logging drifts. It is not that any single lookup is hard; it is that forty of them on a Sunday morning is enough friction to make the notebook look reasonable again.
KeeperOS holds the layout. A room is a wall you arrange once to match the real one, and after that the app is a floor plan. You find the animal the way you find it in the room: by looking at where it is.
The wall canvas is the room. Racks and standalone enclosures are placed on it, and you drag them into the arrangement you actually have, including which wall of which room. There can be several rooms and several walls per room, so a collection split across a garage and a spare bedroom stays two places rather than one merged list.
Rack cards carry status without being opened. A rack on the wall shows its feed-status breakdown at a glance — on time, due, overdue — so you can see which rack needs you from across the room view rather than opening each in turn.
Inside a rack is a grid, laid out in the rack's real rows and columns. Tubs render in position, occupied or empty, and tapping one opens the actions for that animal. Empty tubs are visible as empty, which matters more than it sounds: knowing where the free space is, is half of what a rack view is for.
Rounds work the rack as a unit. A session round steps through the tubs in one pass with fill, water and condition tabs, which is the same motion as working the rack physically. Standalone enclosures that are not in a rack sit on the same wall and behave the same way.
You can build the layout from a photo. The wall can be created from a picture of the actual room, which is a faster way to get the arrangement right than placing every rack by hand, and there is no cap on how many rooms or racks you make on any tier including Free.
A layout earns its keep on the days you work every tub, which in practice means feeding night — the feeding tracker page covers what a session round down a rack actually does, including the freezer ledger that decides how much you thaw.
THE RACK is the product closest to this description, and it does one thing we do not: live sensor integration for rack conditions. Our comparison with them puts that first, alongside their ball-python-only scope.
Actively built: 39 dated updates since June 2026, most recently See what changed, right in the app on Sep 9. See everything that has shipped →
Hold position. A rack is defined by where things are, and a list is defined by what order they were typed in. Once you have more tubs than you can name from memory, a layout that matches the room removes a lookup from every single interaction, which is the difference between logging as you go and logging later, badly.
Yes. A rack is defined by its own grid, so a 4x12 hatchling rack and a 1x6 adult rack coexist on the same wall and each renders in its real shape.
Standalone enclosures are placed on the same wall as racks and get the same care, feeding and rounds behaviour. A mixed room of two racks and five display vivs is a normal setup here, not an edge case.
No, on any tier including Free. There is no animal cap, no room cap and no rack cap — the tier line is which tools you get, not how big the collection is.
You can build a wall from a photo of the room, which gets the arrangement approximately right in one step, and adjust from there.
The demo needs no signup. The free tier needs no card, and we don't sell your data.