StockAI
Web dashboard + Flutter Android app

Inventory that builds itself from a sentence.

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.

StockAI
AI inventory command center
Create a Toners category with name, quantity, color, and shelf. Add HP black toner, 6 units.
Done. I created the category, added fields, and saved the first item. Low-stock threshold is still 10.
HP black toner
6
Shelf B2
Below threshold
1
category alert

Not a fixed inventory template.

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.

Natural-language CRUD

The AI can list categories, get items, create, rename, delete, add fields, upsert items, and update UI settings.

Data isolation

Row Level Security and ownership checks keep each user’s categories, fields, items, and settings separate.

Web app

Auth, category dashboard, inventory screen, search, low-stock counters, CSV import/export, settings, and floating assistant.

Android app

Flutter screens for chat, category items, settings, login, voice input, TTS, profile controls, themes, and CSV export.

Design follows the user

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.

Claude sees tools, not tables.

The Edge Function runs a bounded tool-use loop. Two tools exist but are intentionally hidden from the model array: direct SQL and feedback.

create_categorydirect or AI
upsert_itemCRUD
add_fieldschema
set_ui_settingtheme
delete_itemsoft paths
set_layoutdisplay
auth usersession refreshed before API table_definitionsper-user categories field_definitionscustom columns dynamic tablesactual items ui_settings

Product details that came from the codebase

Session refresh

Both web and Flutter paths refresh the Supabase session before API work so the Edge Function sees a current JWT.

Direct tool calls

The mobile app can bypass the model loop for focused actions like category creation, field edits, and deletes.

Recycling paths

The schema includes a recycling bin and soft-delete direction so accidental deletion does not have to mean instant permanent loss.

Theme parity

Flutter and web share theme concepts: accent gradients, presets, low-stock color, item-card surfaces, density, and custom settings.

CSV remains practical

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.

Admin-only escape hatch

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.

What ships together

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.

website/dashboard, inventory, settings, auth
stockai/Flutter chat and category screens
backend SQLsingle source of truth
smart-apiClaude tool-use loop
AI commandplain-language inventoryEdge Functiontool loop + ownershipweb appAndroid
⌂ DashboardDesign ·ClaudeCodexGrokGeminiDeepSeek