What Dog Behavior Taught Us About Mechanical Tolerances
How real interaction with Everbowl changed the way we thought about clearance, wear, and durability.
Designing a mechanical product around a spec is fairly straightforward. Designing one around how people, or animals, actually interact with it is a lot harder.
A lot of our mechanical assumptions for Everbowl came from CAD, component specs, and controlled testing. But the product ultimately had to survive something different: a dog interacting with it every single day. Dogs don't handle a product according to an assembly drawing. They push against it, lean on it, nudge it, paw at it, pull at exposed features, and approach it from every direction imaginable. A clearance that looked perfectly reasonable in CAD could turn into a contact point in real use. A surface that passed a static strength test could still wear down after enough repeated contact.
That changed how we thought about tolerances. The question stopped being "does this dimension fit?" and became "how does this interface hold up after hundreds or thousands of real interactions?"
The problem: designing for a human assembly, but an animal interaction
Everbowl has several mechanical interfaces that are pretty predictable during assembly and a lot less predictable once the product is actually in use: the bowl against its supporting structure, the weighing mechanism and what surrounds it, the sensor and its protective geometry, the wand and its enclosure, moving or removable parts, and the housing's exposed edges.
During assembly, all of that is controlled. Someone places one part against another, tightens the fasteners, aligns everything, inspects it. A dog doesn't do any of that. A dog applies force from an unexpected direction, contacts the same spot over and over, or combines impact, friction, and lateral loading in ways that were never part of the original load case.
That's what pushed us to start treating clearance and tolerance as functional parameters, not just manufacturing ones.
Clearance is not just an assembly number
The simple way to think about clearance is: part A plus tolerance plus part B equals the required gap. If two parts need to move relative to each other, you give them enough room that manufacturing variation alone won't cause interference.
Real products need another layer on top of that. The clearance also has to account for deflection under load, thermal expansion, manufacturing and assembly variation, wear, impact, repeated lateral force, contamination, and however a user or animal actually interacts with it. A 0.5 mm gap in a static CAD model isn't necessarily a 0.5 mm gap once the product is running. If one component deflects 0.3 mm and another shifts 0.2 mm from assembly tolerance, that clearance can disappear entirely, and that's the moment a tolerance problem turns into a system behavior problem.
What changed when we observed real interaction
One useful side effect of testing Everbowl in a real environment was that the interaction itself became data. Instead of only asking whether a part could take a specified load, we started watching where the product was actually being touched and how that contact built up over time.
Some areas got a lot more interaction than we'd expected. Edges turned into contact points, clearances turned into potential impact zones, and exposed surfaces turned into wear surfaces. Parts that looked mechanically isolated in CAD sometimes ended up in secondary contact once the assembly shifted slightly under real load. That's what got us questioning our original tolerance assumptions.
Wear changed the tolerance conversation
Strength and tolerance usually get treated as separate topics, but they shouldn't always be. Say an interface starts with 1 mm of clearance. If repeated contact wears away 0.2 mm of material from one side, the geometry has changed even though nothing structurally failed. Now put a second component into that space, and the original clearance spec no longer describes the actual product.
That matters a lot for consumer hardware, because most failures here aren't catastrophic. They start small: contact wears the surface, wear increases movement, movement causes misalignment, misalignment invites more contact, and more contact means more wear. That loop can make a product unreliable without a single component ever actually breaking.
What dog interaction revealed
The most useful observations weren't dramatic failures. They were repeated behaviors. A dog approaching the bowl doesn't just push straight down. It's some combination of vertical loading, horizontal pushing, localized contact, impact, repeated rubbing, paw contact, or outright pulling and nudging.
That matters for a weighing system because the structure isn't just holding up a static mass. The load path shifts depending on where the force lands. An off-center force introduces a moment
We started designing around contact zones
One practical shift was to stop treating every surface the same. Some surfaces were never going to see meaningful interaction. Others turned into genuine high-contact zones, and those needed a different level of attention. For every interface, we started asking:
- Can this component move, and if so, how much?
- What happens if it moves toward the part next to it? Does it contact something critical?
- What happens after repeated contact? Does the geometry actually wear?
- Does that wear affect function? A cosmetic scratch is a very different problem from wear that shifts sensor alignment.
- What happens under manufacturing variation? Does the worst-case tolerance stack still leave enough functional clearance?
That turned tolerance analysis from a dimensional exercise into a behavioral one.
Not every tight tolerance is a better tolerance
There's a natural pull in product development toward tighter interfaces, since tighter feels more precise. It isn't automatically better, though. A very small clearance can feel premium and controlled on a single prototype while being genuinely hard to manufacture consistently at scale.
Take an interface with a nominal 0.3 mm gap. If the manufacturing process alone contributes ±0.15 mm of variation, some units end up with almost no clearance at all. Add thermal expansion, assembly variation, structural deflection, coating thickness, contamination, and repeated interaction on top of that, and the theoretical 0.3 mm gap turns into a completely different engineering problem. Sometimes a slightly larger, well-controlled clearance actually makes for a more reliable product. The goal was never minimum clearance. It's sufficient functional clearance with predictable behavior.
Designing tolerances around the function
This was one of the bigger lessons from Everbowl. Tolerance should ultimately come from what the interface actually needs to do:
| Interface | Primary requirement | Tolerance concern |
|---|---|---|
| Bowl support | Stable load transfer | Movement affecting weighing |
| Sensor opening | Maintain sensing geometry | Misalignment or obstruction |
| Housing interface | Prevent unwanted contact | Impact and wear |
| Wand assembly | Maintain alignment | Repeated lateral loading |
| Removable components | Easy operation | Excessive looseness |
The tolerance was never the objective. The function was. Tolerance is just one of the tools that protects it.
From prototype behavior to design changes
The interesting part is that none of this led to dramatic redesigns. The changes were mostly small: more clearance in specific contact zones, local radii to cut down on edge damage, added stiffness where deflection was eating into clearance, different surface finishes in high-contact areas, better alignment features, fewer unnecessary exposed edges, and extra robustness where repeated interaction was expected.
What mattered was that these changes were targeted. We didn't make the whole product heavier or blanket-increase every tolerance. We just fixed the specific spots where real interaction showed our original assumptions were weakest.
The bigger lesson: real users become part of the load case
One of the more useful shifts in our thinking was realizing the environment is part of the mechanical system. The dog isn't some external disturbance sitting outside the engineering model. The dog's behavior is part of the product's actual operating condition. That doesn't mean trying to mathematically model every possible movement. It means identifying whatever behaviors repeat consistently and designing around those specifically.
A product meant for a real environment has to account for how it actually gets touched, pushed, moved, cleaned, dropped, assembled, and used. For Everbowl, that meant treating interaction data as engineering input, not just user feedback to file away.
Engineering insight: A tolerance is only correct if it stays functional after manufacturing variation, structural movement, and real-world interaction are all considered together. A dimension can be perfectly correct on a drawing and still produce the wrong product behavior. That's why tolerance decisions need to connect back to load paths, wear mechanisms, assembly variation, and actual usage.
How this changed our approach to Everbowl
The biggest shift wasn't increasing or decreasing any single dimension. It was changing the question we actually asked in design reviews, from "what clearance should we specify?" to "what can actually happen at this interface over the life of the product?"
That single change led to better decisions on its own. If a component can deflect, we account for it. If a surface sees repeated contact, we think about wear. If an animal can apply force from an unexpected direction, we work out the resulting load path. If manufacturing variation can eat the designed clearance, we revisit the tolerance stack. And if a failure only shows up after repeated use, we stop dismissing it just because the original static test passed.
What this means for product engineering
Mechanical tolerances usually get treated as numbers that live inside a drawing. Everbowl made us think about them differently: they're really boundaries around system behavior. Clearance decides when components start to interact. Stiffness decides how much that clearance moves under load. Surface finish decides how that interaction turns into wear over time. Manufacturing decides how much variation exists between units. None of these sit independently of each other, which is why a tolerance decision made early in CAD can end up shaping reliability, sensing accuracy, assembly quality, and field performance months later.
The most useful tolerance was never the tightest one or the loosest one. It's the one that gives the product enough room to behave predictably in the environment it's actually going to live in.
How this shows up at Hoomanely
At Hoomanely, we're building hardware where mechanical, electrical, sensing, and software all have to work as one system. Everbowl is a good example of why that takes more than getting each component right on its own. Decisions about clearance, stiffness, alignment, and wear directly shape how reliably the sensing system holds up in the hands, or paws, of a real user. That link between engineering intent and real-world behavior is central to how we build things now.
Key takeaways
- Real interaction is part of the mechanical load case.
- Nominal clearance isn't the same as functional clearance.
- Structural deflection, assembly variation, wear, and misalignment can all consume designed clearance.
- Tighter tolerances aren't automatically better. Controlled functional clearance is the actual goal.
- Repeated interaction can create gradual failure modes even when static strength requirements are satisfied.
- Tolerance decisions should connect to load paths, wear, stiffness, and manufacturing variation.
- For Everbowl, observing real interaction led to targeted mechanical changes instead of just over-engineering the whole product.