🖥️ All-in-One Inventory & Operations Platform
A fully custom business management system built for a motorcycle spare parts retail store — covering point of sale, inventory control, purchase orders, supplier management, customer tracking, and real-time reporting. Designed and developed entirely from scratch using React, TypeScript, and Firebase, with a live two-way integration to Airtable.
⚠️ The Problem
Running a brick-and-mortar motorcycle parts store on manual processes is a daily grind. Pricing inconsistencies, misplaced inventory, lost sales data, and zero visibility into business performance were slowing operations and making scalability impossible.
This app was built to replace all of that — a custom, centralized platform purpose-built for Merwin Marketing that handles every core operation of the store, from scanning a product at the counter to generating profit reports at the end of the month. No off-the-shelf software, no workarounds — just a system designed exactly to how the business works.
⚙️ What the System Does
A full-featured checkout interface with barcode scanning (including camera-based scanning via any device camera), product browsing by category, model, brand, and tag filters, and support for multiple price levels per item: Retail, Discounted, and Wholesale. Handles cash tendering, change computation, discount application (percentage or fixed), and customer assignment per transaction. Supports saved "open tickets" so staff can park a sale and return to it later.
Complete product catalog with searchable and filterable item lists, sortable columns, multi-photo product entries, and real-time stock level tracking. Each item supports: SKU, barcode, category, brand, supplier, compatible motorcycle models, custom tags, and tiered pricing. Built-in low-stock threshold alerts and stock adjustment logging with reason tracking.
A dedicated receiving module separate from purchase orders — lets staff log incoming stock directly against a supplier, with automatic inventory quantity updates.
A live two-way sync with an Airtable base. All brands, categories, suppliers, motorcycle models, attribute tags, and products (including image attachments from Airtable) are pulled on demand. Stock quantity updates push back to Airtable. The sync handles pagination, rate limiting (5 req/sec), and displays a real-time progress bar with percentage completion per collection.
Full chronological sales log per transaction, with individual item breakdowns, price levels used, and customer attribution. Supports item-level refund processing with automatic stock restoration.
Date-range filterable reports showing: Total Revenue, Total Cost, Estimated Profit, and Items Sold count. Best-seller rankings by quantity sold and total revenue — giving the store owner full margin visibility without a separate tool.
Dedicated management views for every data taxonomy. Motorcycle models include PDF catalog link support. All synced directly from Airtable with image thumbnail support.
A proprietary pricing cipher that encodes cost and retail price into a custom letter-based code printed on physical labels — allowing staff to reference pricing at a glance without exposing raw numbers to customers at the counter.
Built-in label print modal that generates formatted product labels with item name, barcode, price, and cipher code — printable directly from the browser with no third-party software.
One-click JSON export of the entire database (products, suppliers, categories, brands, models, customers), and a full import feature to restore from backup via Firestore batch write.
🛠️ Built With
📈 What It Changed for the Business
👨🔧 Built End-to-End by One Developer
This system was designed, architected, and coded entirely by me — from the Firebase database schema and security rules to the Tailwind UI, Airtable sync engine, and printable label system. Every screen, every modal, every edge case was handled solo.
If you need a custom internal tool, inventory system, POS solution, or operational dashboard built for your business — this is exactly the kind of work I do.