Coming soon

Osteon

An AI agent inside Blender that autonomously designs orthopedic implants, iterating 3D geometry against biomechanical stress limits, engineered so the design loop survives any failure.


Overview

Osteon takes a clinical case — a bone mesh with a defect and a load profile — and runs a closed agentic design loop: localize where the implant should anchor in the bone, synthesize a parametric implant mesh in Blender, evaluate it with biomechanical stress analysis, and iterate the geometry until a candidate survives the load. Built by a team of three for the Resilient Agents hackathon (TrueFoundry × AWS Bedrock), the thesis wasn't just that an agent can design an implant, it's that the loop should never break: when a model gets rate-limited, a provider goes down, or a physics solver times out, every stage degrades gracefully through a fallback ladder and still returns a valid, schema-checked result instead of crashing. My focus was the synthesis stage: the parametric geometry engine built on Blender's Python API, the controller that drives each design iteration, and the CMA-ES optimization floor that keeps the loop converging when the AI layer is down.

What I built

  • Three-stage agentic design loop: a localization engine that finds anchor points and resection planes inside the bone mesh, a synthesis controller that generates parametric implant geometry through Blender's Python API and drives the iteration, and an evaluation stage running finite element stress analysis to accept or reject each candidate.
  • A three-rung fallback ladder at every stage: full LLM-driven reasoning falls back to a lighter model, then to a deterministic floor (geometric heuristics for localization, CMA-ES optimization for synthesis, surrogate then analytic models for stress), so the loop always converges even with every AI provider dead.
  • Gateway-level resilience: all model calls route through an AI gateway with rate-limit rules, unhealthy-model cooldowns, and automatic fallback across Bedrock models (Claude, Llama 3, Mistral); all tool calls route through an MCP gateway with circuit breakers.
  • Guardrails between stages: tool arguments are validated before execution and outputs inspected before the next stage sees them, catching bad geometry parameters before Blender runs and corrupted stress reports before they poison the loop.
  • One trace for everything: the entire loop emits a single OpenTelemetry trace, so a full case run — including every injected failure and recovery — is visible end to end.

Tech

Python · Blender (bpy) · AWS Bedrock · TrueFoundry AI Gateway · MCP · CalculiX (FEA) · CMA-ES · trimesh · Pydantic · OpenTelemetry