Dynamic categories and fields
Users define the shape of their own inventory. Categories, field definitions, and per-user dynamic item tables are created at runtime against the Supabase schema.
StockAI lets a user say what should happen, then turns that request into category, field, item, layout, and theme operations through a Supabase-backed Claude tool loop.
Users define the shape of their own inventory. Categories, field definitions, and per-user dynamic item tables are created at runtime against the Supabase schema.
The AI can list categories, get items, create, rename, delete, add fields, upsert items, and update UI settings.
Row Level Security and ownership checks keep each user’s categories, fields, items, and settings separate.
Auth, category dashboard, inventory screen, search, low-stock counters, CSV import/export, settings, and floating assistant.
Flutter screens for chat, category items, settings, login, voice input, TTS, profile controls, themes, and CSV export.
Theme presets, custom colors, dark/light behavior, density, threshold colors, and AI-driven UI settings make it feel like a personal tool, not a generic warehouse database.
The Edge Function runs a bounded tool-use loop. Two tools exist but are intentionally hidden from the model array: direct SQL and feedback.
Both web and Flutter paths refresh the Supabase session before API work so the Edge Function sees a current JWT.
The mobile app can bypass the model loop for focused actions like category creation, field edits, and deletes.
The schema includes a recycling bin and soft-delete direction so accidental deletion does not have to mean instant permanent loss.
Flutter and web share theme concepts: accent gradients, presets, low-stock color, item-card surfaces, density, and custom settings.
Inventory data still has to leave the app. Category screens support export for spreadsheet workflows and import from CSV when the user already has rows prepared somewhere else.
The hidden SQL tool is intentionally not exposed to the model. It is restricted to service-role/admin use and requires user scoping when used.
StockAI is a full product stack: static web screens, Flutter Android app, Supabase schema, Deno Edge Function, auth integration, theme model, CSV workflows, and distribution scripts.