CASE STUDY

BMSgo: Building Inventory Management for Small Businesses

How I identified a market gap and built an affordable SaaS solution for businesses who outgrew spreadsheets but couldn't justify enterprise costs.

Role: Product Owner & Technical Lead
Timeline: 2023-2024
Status: Live Production
$0
Bootstrap Budget
500+
SKU Capacity
RBAC
Multi-user Access
Live
Production Status

The Missing Middle in Inventory Software

Small businesses with 1-15 employees face a painful gap: enterprise inventory systems cost $50-200/month and require weeks of onboarding, while free tools lack critical features like multi-user access and financial tracking.

Target users: Businesses managing 50-500 SKUs who outgrew spreadsheets but can't justify enterprise software costs.

"I don't know my actual profit until I spend hours reconciling at month-end"
"We run out of popular items because no one tracks reorder points"
"I can't give staff access without exposing sensitive financial data"
"The software that does what I need costs more than my rent"

Why Existing Solutions Fail

Solution The Gap
Spreadsheets No real-time updates, no role-based access, manual reconciliation
Enterprise Systems $500+/month, 6-month implementation, requires IT staff
Mid-Market SaaS $100-300/month, complex onboarding, over-engineered
Free Tools Single-user, no inventory management, limited reporting

User Research Methodology

Rather than building first and hoping for adoption, I started with systematic problem validation through structured interviews across retail, food service, and distribution sectors.

1. Structured Interviews (12 users)

Semi-structured interviews across retail, food service, and distribution:

  • • "Walk me through how you currently track inventory"
  • • "What's the most frustrating part of managing operations?"
  • • "What tools have you tried and abandoned? Why?"
  • • "What's your budget for software?"

2. Competitive Analysis

Audited 8 competing products evaluating time-to-value, feature complexity, pricing, and mobile capabilities.

3. Workflow Observation

Shadowed 2 business owners during actual workdays to understand context—when they checked inventory, what triggered stock decisions, how sales were recorded.

Key Insights That Shaped the Product

Finding Product Implication
Owners check sales/profit daily on mobile Dashboard must show key metrics immediately on any device
Staff turnover is high UI must be learnable in <30 minutes
Internet reliability varies Need offline capability alongside cloud
Trust is earned, not assumed Full-featured trial required; no "contact sales" friction
Barcode scanning expected but poorly implemented Invest in barcode UX, not just checkbox feature

Feature Prioritization Framework

I evaluated every potential feature against two criteria: Does it solve a validated pain point? and Can I build and maintain it as a solo developer?

P0 (Must-Have for MVP)

  • Product catalog with cost/price tracking → Enables profit calculation
  • Sales recording with automatic stock deduction → Solves manual reconciliation
  • Real-time dashboard with key metrics → Daily decision support
  • Low-stock alerts with reorder points → Prevents stockouts (top pain point)
  • Multi-user with role-based permissions → Enables delegation without data exposure
  • Basic expense tracking → Completes the profit picture

Deliberately Deferred

Accounting integrations (QuickBooks, Xero)

High complexity, not mentioned as deal-breaker in early research. Deferred to post-launch.

E-commerce sync (Shopify, WooCommerce)

Different market segment; would dilute focus.

Multi-location inventory

Premature optimization. Single-location covers 80% of target market.

Critical Trade-off Decisions

Decision 1: No mobile-native apps

Trade-off: Building iOS/Android would triple development scope.

Choice: Invested in responsive web design that works well on mobile browsers.

Rationale: Time-to-market and validation speed matter more than perfect mobile UX for MVP. Can build native apps after proving the concept.

Decision 2: Separate cloud and desktop products (no sync)

Trade-off: Users wanted both cloud convenience AND offline reliability. Real-time sync would be extremely complex.

Choice: Built separate cloud and desktop versions sharing 90% of codebase, with different pricing models.

Rationale: Captures both market segments without sync complexity. Cloud = $14.99/mo, Desktop = $149 one-time.

Decision 3: No AI-powered demand forecasting

Trade-off: Sexy feature, but small businesses with <500 SKUs don't have enough data for meaningful predictions.

Choice: Implemented simpler AI assistant for natural language queries instead.

Rationale: Build for validated current needs, not hypothetical future use cases.

Build Approach

I structured development in phases, validating assumptions at each stage:

Phase 1 (Weeks 1-8)

Core data models and basic CRUD operations

Phase 2 (Weeks 9-16)

Dashboard, sales flow, and inventory management

Phase 3 (Weeks 17-20)

Multi-user, permissions, audit trails

Phase 4 (Weeks 21-28)

Reporting, visualizations, AI assistant, desktop version

Validation Checkpoints

Prototype Feedback (Week 4)

Showed clickable mockups to 3 business owners. Discovered they wanted profit margin per product, not just totals. Adjusted dashboard design.

Alpha Users (Week 12)

Deployed to 2 friendly businesses for real-world use. Key learnings:

  • • Barcode scanning needed to work with phone cameras, not just dedicated scanners
  • • Receipt printing was essential (I had initially deprioritized it)
  • • "Pending sale" state needed—staff start transactions, get interrupted, need to resume

Beta Cohort (Week 22)

Expanded to 8 users. Tracked time from signup to first sale (target: <15 minutes), feature adoption rates, and support request patterns.

Iterations Based on Feedback

User Feedback Response
"I can't find old sales" Added search/filter to sales history, receipt number lookup
"Low stock alerts are annoying" Made reorder points optional per product, added bulk edit
"Need to track returns separately" Built dedicated returns/damaged goods module
"Dashboard is too busy" Created customizable dashboard with user-selected widgets

Challenges Solved

Challenge 1: Data migration from spreadsheets

Problem: Users had years of data in Excel. Manual entry was a non-starter.

Solution: Built CSV import with intelligent column mapping, data validation, preview mode, and error highlighting. This became a key differentiator—competitors charge extra for "migration services."

Challenge 2: Permission complexity creep

Problem: Early users requested increasingly granular permissions ("can view sales but not edit," "can see own sales only," etc.).

Solution: Implemented ~15 distinct permissions covering 95% of use cases. Resisted per-record permissions—the complexity wasn't worth it for the target market.

Results & Reflection

Current State

Live in production at bmsgo.online with:

  • Dual deployment: Cloud subscription and desktop license
  • 13 major modules: inventory, sales, expenses, suppliers, reporting, AI assistant, analytics, user management
  • Full feature parity with products 5-10x the price

Measured Results

20 min

Average time-to-first-sale

(Target: <15 min)

Daily

Dashboard & sales usage

Weekly for reports

Higher

Demo-to-trial conversion

vs direct signups

What Worked Well

  • Full-featured demo — Eliminated "is this worth my time?" hesitation. Users arrive informed and qualified.
  • Audit trail design — Immutable history answers all stock discrepancy questions without support intervention.
  • Responsive-first approach — Mobile browser usage exceeded desktop, validating the decision to skip native apps.
  • Modular architecture — Adding new modules (AI assistant, licensing system) didn't require major refactoring.

What Didn't Work as Expected

  • AI assistant underutilized — Users prefer clicking through UI to asking questions. The feature impresses in demos but rarely used in practice. Learning: AI embedded invisibly in workflows beats AI as a separate feature.
  • Annual subscription uptake lower than expected — Most users prefer monthly despite discount. Learning: New businesses want flexibility; annual plans appeal to established businesses.
  • Desktop version cannibalization — Some cloud users asked "why not just buy desktop?" Pricing may need adjustment to reflect total cost of ownership more clearly.

Product Management Insights

1. Constraints drive focus

Building as solo developer with zero budget forced ruthless prioritization. Every feature had to justify its complexity cost. This produced a more focused product than unlimited resources would have.

2. "Good enough" beats "perfect eventually"

Shipping a complete solution with rough edges is more valuable than a polished partial solution. Users can work around UI imperfections; they can't work around missing features.

3. User research compounds

Early conversations shaped every subsequent decision. The 12 initial interviews saved weeks of building wrong things.

4. Pricing is a product decision

The dual pricing model (subscription vs one-time) isn't just business strategy—it fundamentally shapes user expectations and product requirements.

What I Would Do Differently

Build analytics earlier

Added usage tracking late. Earlier instrumentation would have informed prioritization better.

Document decisions in real-time

I reconstructed rationale for this case study from memory. A contemporaneous decision log would be more accurate.

Define scope-lock dates

As solo developer, I could always "add one more feature." Explicit milestones would have prevented scope creep.

Invest in onboarding earlier

The product is learnable but not self-teaching. A guided first-run experience would improve time-to-value.

Interested in working together?