Ganacsipro
Multi-tenant SaaS for inventory, sales, and operations
A production business management system used by real businesses — with strict tenant isolation and role-based access for admin, owner, and staff.

Problem
Small businesses ran inventory, sales, orders, customers, loans, and expenses across chats and spreadsheets. Shared tools without tenant isolation created risk; disconnected tools created operational drag.
Business context
Operators needed one system that reflected how money and stock actually move day to day — with clear roles so staff could work without seeing everything an owner or admin must control.
Research
Mapped operator workflows and approval moments that break when data is stale. Identified role splits (admin, owner, staff) and the surfaces that must update in real time: inventory counts, sales, and approvals.
Architecture
React client on a Convex reactive backend. Data is tenant-scoped end to end. Role-based access gates sensitive actions. Real-time subscriptions keep inventory and sales workflows current without manual refresh loops.
Tech stack
React · TypeScript · Convex · Tailwind CSS · Real-time DB
Key features
- Multi-tenant data isolation between businesses
- Role-based access for admin, owner, and staff
- Inventory, sales, orders, customers, loans, and expenses
- Real-time updates for operational workflows
- Approval flows that match how businesses actually decide
Engineering challenges
- Enforcing tenant isolation without slowing everyday UX
- Encoding approvals without turning the product into a ticket system
- Keeping role boundaries clear as features expanded
Tradeoffs
- Chose Convex for reactive multi-tenant workflows over a traditional REST + Postgres stack for this product
- Prioritized operational clarity over feature breadth in early releases
- Kept roles few and explicit rather than building a complex permission matrix
Results
- Live production SaaS at ganacsipro.com
- Used by real businesses with admin, owner, and staff roles
- Day-to-day operations consolidated into one tenant-safe system
Lessons learned
- Multi-tenancy is a product feature, not a database footnote
- Real-time only matters where operators feel pain from stale data
- Fewer, clearer roles beat a permission system nobody understands
Performance
Reactive queries keep critical screens current. Tenant scoping is enforced in the data layer so isolation does not depend on UI discipline alone.
Future improvements
- Deeper reporting for owners without exposing staff-only noise
- Stronger audit trails for financial actions
- Onboarding flows tuned for first-week activation
