Founder / Product Architect · January 2026 — present

Shelter OS

Operating system for animal shelters — operator dashboard, community app for adopters and fosters, AI orchestrator wired into the data model.

Shelter OS

Shelter OS is the operating system for animal shelters — the operator dashboard where staff manage intake, medical, adoptions, foster placements, field cases, the front desk, and volunteers; the Flutter community app where adopters, fosters, and volunteers live on the other side of the same data; and an AI orchestrator agent wired permission-by-permission into both.

The architectural spine is Supabase under React 19 (Vite + Tailwind 4) for the operator side and Flutter for the community side, sharing the same Postgres + RLS schema. Eighty-five React components today, organized around the operational surfaces a shelter touches every day: animal records, adoption Kanban and workflow settings, intake modals, medical records, foster placement, field cases with mapping (Leaflet), volunteer scheduling, and PDF generation for contracts and reports. Four distinct roles in production — staff member, adopter, foster, volunteer — each with its own scope and its own surface.

The piece worth a paragraph on its own is the AI orchestrator. It is not a chatbot. It is an agent registry where each domain — animals, intake, medical, adoptions, foster, cases, front desk, ops, people, actions — has its own typed tool catalog, its own system prompt, and its own permission level. Ten domain tool modules sit on top of three infra modules (_supabase, orchestratorTools, workflowTools). Agent definitions declare requiredPermission (e.g. ai.chat, with ai.tool_read and ai.tool_write separating safe queries from mutations), and the tool runner enforces those gates against the RLS-scoped Supabase client per request — the agent cannot bypass what the user could not do themselves. Mutations are audit-logged. The chat endpoint streams over SSE with inline tool-call events, so staff watch the agent reason and act in real time instead of waiting on an opaque turn.

The system prompt is route-context-aware: where the staff member is in the dashboard shapes what the agent expects them to be asking about. Route hints + per-agent few-shot examples + the permission-gated tool catalog is the loop.

Shelter OS is a new platform I founded and built from zero in 2026 as the product architect. It is a clean-sheet design around the operational realities of running a shelter today — permission-gated AI baked into the data model, RLS-scoped everything, audit-logged mutations, multi-role surfaces (staff, adopter, foster, volunteer).