VQ Inventory
SaaS Platform
Project Overview
The Problem: Traditional inventory systems track products — SKUs in bins. But many operations need to track things that aren't products: people (employees, contractors), places (locations, buildings), equipment (tools, vehicles), services. An entity-based approach that models real-world relationships was needed.
The Approach: Instead of a fixed product schema, I designed an entity model where anything can be an entity with custom attributes. Entities can relate to each other — an assembly contains sub-entities, a kit groups items for checkout, a location contains other locations. AI-assisted attribute suggestion analyzes the entity type on creation and recommends relevant fields, eliminating tedious data entry. Multi-tenant from day one with org_id scoping on every query.
What Was Hard: The flexible entity model created query complexity. When an entity can contain other entities, and those can contain more, you need recursive queries for things like "show me everything in Building A." MySQL doesn't have great recursive CTE performance at depth, so I denormalized the location hierarchy into a path column (like /building-a/floor-2/room-201/) for fast prefix matching. The RESTful API v1 with bearer token auth and rate limiting was designed to support barcode scanner integration — scan a QR code on a piece of equipment, hit the API, get instant location and status.
The Result: 6-tier role-based access control, full check-in/out movement tracking with audit trails, barcode/QR scan endpoint, and a RESTful API. Live at vqinventory.com.
The Approach: Instead of a fixed product schema, I designed an entity model where anything can be an entity with custom attributes. Entities can relate to each other — an assembly contains sub-entities, a kit groups items for checkout, a location contains other locations. AI-assisted attribute suggestion analyzes the entity type on creation and recommends relevant fields, eliminating tedious data entry. Multi-tenant from day one with org_id scoping on every query.
What Was Hard: The flexible entity model created query complexity. When an entity can contain other entities, and those can contain more, you need recursive queries for things like "show me everything in Building A." MySQL doesn't have great recursive CTE performance at depth, so I denormalized the location hierarchy into a path column (like /building-a/floor-2/room-201/) for fast prefix matching. The RESTful API v1 with bearer token auth and rate limiting was designed to support barcode scanner integration — scan a QR code on a piece of equipment, hit the API, get instant location and status.
The Result: 6-tier role-based access control, full check-in/out movement tracking with audit trails, barcode/QR scan endpoint, and a RESTful API. Live at vqinventory.com.
Project Details
Client
VisionQuest LLC
Category
SaaS Platform
Year
2026
Technologies
View Live Site
Start a Similar Project
PHP
MySQL
REST API
Multi-Tenant
AI
RBAC