Record Am Now
Features How It Works See the Platform Pricing About RAN Become a Partner
Sign In
Create Free Account

No card needed

Internal Product Document

RAN — Record Am Now

Full Product Vision & Build Specification

"The simplest way for Nigerian businesses to manage inventory, track sales, and understand their market — using just their voice and camera."

Version 2.0  |  May 2026  |  Confidential

v4.0 — Stack: Laravel + Livewire + MySQL · AI: Gemini Flash + Whisper · Price Management added

Table of Contents

  1. 1. What RAN Is
  2. 2. The Problem RAN Solves
  3. 3. Core Principles
  4. 4. Business Modes — Solo vs. Business
  5. 5. Solo Mode — Full Breakdown
  6. 6. Business Mode — Full Breakdown
  7. 7. Shared Core Features
  8. 7.2 Product Price Lookup & Price Management (Snap-to-Price, Price Board, Bulk Update, History)
  9. 8. AI Features
  10. 9. Pro Plan Features — WhatsApp & Market Intelligence
  11. 10. Pricing Plan Structure
  12. 11. Data Models
  13. 12. Technology Stack (Laravel 11 · Livewire 3 · MySQL 8 · Alpine.js)
  14. 13. Recommended Build Order (10 Phases)
  15. 14. What Makes RAN Different

1. What RAN Is

Record Am Now (RAN) is a business management SaaS built specifically for Nigerian small and medium businesses — market traders, electronics dealers, retailers, FMCG distributors, and service providers. It solves the single biggest problem that kills every inventory tool in this market: recording business data is too hard for non-tech staff.

RAN brings together inventory management, sales tracking, expense recording, employee management, and automated Nigerian tax reporting — all designed so that a cashier, store keeper, or sales rep with zero tech background can operate it confidently, using voice and camera instead of typing.

There are two business modes — Solo for single-person businesses and Business for teams with multiple staff — each with its own tailored interface so neither type feels like they're using something built for the other.

2. The Problem RAN Solves

Most inventory tools fail in the Nigerian SME market for the same reasons:

Nigerian business owners communicate on WhatsApp, document with voice notes, and verify with camera photos. RAN meets them exactly there — snap a product to add it, speak a sale to record it, and receive your business intelligence on WhatsApp without ever opening the app.

3. Core Principles

PrincipleWhat It Means in Practice
Voice and camera firstEvery data entry task can be completed by speaking and snapping — typing is always optional, never required
Dead simple to useIf a staff member can use WhatsApp, they can use RAN. No training manual needed
Each role sees only what they needA cashier's screen is a cart. A store keeper's screen is stock movement. Complexity lives only in the manager view
Intelligence grows with usageThe more data recorded, the smarter the AI recommendations and market insights become
WhatsApp-native for ownersSummaries, alerts, and business queries reach the owner on WhatsApp — where they already are
Tax is automatic, not manualNigerian tax obligations are calculated in the background from daily activity — no separate process needed
Build once, serve both modesSolo and Business modes share one codebase — the interface adapts based on how the business is registered

4. Business Modes — Solo vs. Business

During registration, one question determines the entire experience:

How do you run your business? ○ Just me — I handle everything myself ○ I have a team — I have staff, cashiers, or store keepers

That single answer sets the mode. It controls what screens are shown, what features are accessible, and how the dashboard is laid out. Nothing else changes — the underlying data, the AI, the tax engine, and the receipt system are all identical under the hood.

👤
Solo Mode
One person runs everything
Designed for the trader, market vendor, or one-person shop. A single unified view where inventory, sales, expenses, and tax are all reachable in two taps. No staff management, no role setup — just record and go.
  • Market traders and street vendors
  • One-person retail shops
  • Freelancers who sell physical goods
  • Home-based businesses
🏢
Business Mode
Owner + staff team, single location
Designed for shops, showrooms, and stores with a manager, cashiers, store keepers, and sales reps. Every staff member has their own login and sees only what their role requires. The owner sees everything.
  • Electronics showrooms and stores
  • Supermarkets and provision stores
  • Warehouses with sales counters
  • Any business with 2+ staff handling inventory or sales

Upgrading from Solo to Business

If a solo user grows and hires their first cashier, they don't start over. One tap in Settings — "Add a team member" — switches them to Business mode. All their existing products, sales history, and tax records carry over. No data is lost.

5. Solo Mode — Full Breakdown

Who This Is For

A single person who is simultaneously the owner, cashier, store keeper, and accountant of their business. They are almost always on mobile. They don't have time to navigate complex menus. Every action needs to be achievable in under 30 seconds.

The Solo Dashboard

One screen. Everything visible at a glance without scrolling. No sidebar full of modules they don't need — just the numbers that matter and the three actions they take every day.

Solo Dashboard — Today's View
Today's Revenue₦185,000
Items Sold Today7 transactions
Current Stock Value₦4,200,000
This Month's Profit₦620,000
Estimated Tax (Month)₦93,000
Low Stock Alerts3 products

Below the summary cards, three large quick-action buttons dominate the screen:

ButtonWhat It Does
➕ Add ProductOpens the snap + voice product entry flow
💰 Record SaleOpens the quick sale screen — tap product, confirm, done
📋 Log ExpenseOpens expense entry — snap receipt or speak the amount

Solo — Full Feature Access

FeatureHow a Solo User Accesses It
Add/manage productsSnap + voice flow, or quick manual entry. Full product list in one scroll
Record a saleTap product → enter quantity → approve → optional receipt. Done in 3 taps
Log an expenseSnap receipt → AI fills amount, date, vendor → tap category → save
Record a lossTap "Log Loss" → speak what happened → AI categorizes it
View stock levelsFull product list with current quantity, reorder alerts highlighted in red
Monthly tax reportOne tap → PDF generated → auto-calculated from all recorded activity
Business Health ScoreDisplayed on dashboard — one number with a one-line AI explanation
Sales historyScrollable list by date. Filter by product or date range. Export to PDF
Expense historyCategorized list. Filter by month. Totals by category shown automatically

Solo — A Typical Day

7:30am — Owner opens RAN, sees yesterday's summary on the dashboard ↓ 8:00am — New stock arrives. Snaps each product, speaks price and quantity. Done in 5 minutes ↓ 10:15am — Customer buys 2 items. Owner taps "Record Sale", selects products, taps Approve Receipt sent to customer's WhatsApp. Stock updated automatically ↓ 2:00pm — Owner pays for delivery. Opens RAN, taps "Log Expense", snaps the waybill AI reads the amount and fills the form. Owner selects "Logistics", saves ↓ 5:45pm — Checks dashboard. Sees today's profit and a low-stock alert on one product ↓ End of month — Taps "Generate Tax Report". PDF ready in 8 seconds. Sends to accountant

Solo — What Is Not Shown

Solo mode hides everything that requires multiple people to be meaningful:

These screens become available automatically the moment the user switches to Business mode.

6. Business Mode — Full Breakdown

Who This Is For

A business with a physical location, a manager (or owner who manages remotely), and at least one other member of staff handling either sales, receiving goods, or managing the store floor. Business mode separates concerns — every person does their job in RAN without seeing or touching what doesn't belong to them.

Staff Setup & Onboarding

After the owner registers in Business mode, they set up their team. This happens once and takes under 10 minutes.

Owner opens Settings → "Manage Team" → "Add Staff Member" ↓ Enters staff member's name, phone number, and selects their role: [ Manager ] [ Store Keeper ] [ Cashier ] [ Sales Rep ] ↓ System generates a login PIN for that staff member (or sends an SMS invite) ↓ Staff member opens RAN on their phone → enters PIN → sees their role-specific screen ↓ They are ready to work. No training needed — their screen shows only their tasks

The Four Roles — Detailed Breakdown

Role 1: Owner / Manager

Has full, unrestricted access to every part of the system. This is the only role that sees reports, tax data, supplier information, staff performance, and business intelligence. Typically this is the business owner or a trusted senior manager.

ScreenWhat They See
DashboardToday's revenue, total stock value, profit month-to-date, estimated tax, staff activity summary, low stock alerts, Business Health Score
InventoryFull product list with all stages — ordered, in warehouse, on display, sold. Edit prices, add new products, manage suppliers
OrdersAll purchase orders from suppliers — pending, in transit, received, discrepancies flagged
SalesAll transactions across all staff. Filter by cashier, date, product. See who is performing and who isn't
ExpensesAll logged expenses categorized and totalled. Review, approve, or flag unusual entries
StaffFull team list, each person's role, their login status, their sales totals for the period
Tax ReportsAuto-generated tax reports with full breakdown of revenue, expenses, losses, and tax liability
WhatsApp Bot (Pro)Configured here — set report frequency, which alerts to receive, what queries are enabled
Market Intelligence (Pro)Weekly market reports with market share data and AI recommendations

Role 2: Store Keeper

Responsible for the physical inventory — receiving goods from suppliers, counting stock, and moving products from the warehouse to the showroom floor. They do not handle sales or money.

ScreenWhat They See
Receive GoodsOpen purchase orders awaiting delivery. Tap to confirm receipt. Enter actual quantity received. Flag discrepancies if delivery is short
Stock MovementMove stock from warehouse to showroom display. Enter quantity moved. System updates both counts automatically
Current StockRead-only view of warehouse stock and showroom stock levels by product
AlertsNotifications when a product needs to be moved from warehouse to replenish the showroom display
Store Keeper Screen — Receive Goods
Order #PO-0042 from Mikano ElectronicsTap to Open
Samsung 43" TVExpected: 14
LG Fridge 200LExpected: 6
Haier AC 1.5HPExpected: 10
⚠ Enter actual quantities received below, then confirm

Role 3: Cashier

Handles sales transactions at the counter. Their entire world in RAN is the cart screen. They never see prices in the inventory, reports, staff data, or supplier information — just the products they can sell and the transactions they have completed during their shift.

ScreenWhat They See
New Sale (Cart)Searchable product list. Add items to cart by tapping. Adjust quantities. Cart shows running total
Payment ApprovalTap "Customer Has Paid" → sale recorded → receipt options appear
ReceiptSend to customer email, share via WhatsApp, print, or skip
My Sales TodayList of their own transactions for the current shift — nothing from other cashiers
Cashier opens RAN → Cart screen loads immediately ↓ Customer selects items → Cashier taps each product → adds to cart (Optional: Cashier speaks "Two Samsung TVs and one LG fridge" → AI builds the cart) ↓ Cart shows: Samsung 43" TV × 2 = ₦390,000 LG Fridge 200L × 1 = ₦320,000 ───────────────────────────── TOTAL: ₦710,000 ↓ Cashier shows total to customer → customer pays ↓ Cashier taps "Approve Payment" ↓ Sale recorded · Stock levels auto-updated · Receipt generated ↓ "Send receipt to customer?" → Enter phone/email → Send via WhatsApp or Email → Or tap "Skip"

Role 4: Sales Rep

Moves around the showroom floor, helps customers, and can record a sale from their phone without needing to go to the cashier counter. They see available stock so they can answer customer questions about what's in stock, but they do not see pricing strategy, reports, or supplier data.

ScreenWhat They See
Stock AvailabilityWhich products are available and in what quantity — so they can answer customers accurately
Record a SaleSame cart flow as cashier — used when they close a sale on the floor
My SalesPersonal sales history and monthly total — motivates performance

Business Mode — Manager Dashboard

Manager Dashboard — Business Mode
Today's Revenue (All Staff)₦1,240,000
Transactions Today18 sales
Top Cashier TodayChidi — ₦520,000
Stock Value (Warehouse)₦8,200,000
Stock Value (Showroom)₦3,100,000
Estimated Tax (Month)₦186,000
Business Health Score74/100 ↑
⚠ Low Stock: Samsung 43" TV — 2 units on display

7. Shared Core Features

These features work in both Solo and Business modes. The interface adapts slightly — Solo users see a simpler flow, Business users see additional context like which staff member performed the action.

1 Snap + Voice Product Entry

The single biggest friction point in any inventory tool is product entry. RAN removes it entirely. No typing required — staff snap the product and speak the details. The AI does the rest.

User taps "Add Product" ↓ Camera opens → User snaps the product photo ↓ Gemini Vision analyses the image → Identifies product category (Electronics / Appliances / FMCG / etc.) → Suggests brand and model if recognizable → Pre-fills Product Category field ↓ Voice prompt plays through speaker: "What do you want to call this product?" ↓ User speaks → Speech-to-Text transcribes → Product Name filled ↓ "What is the selling price?" User speaks "ninety-five thousand naira" → ₦95,000 filled ↓ "How many units do you currently have?" User speaks "one carton, twelve pieces" → Quantity: 12 filled ↓ "Who is the supplier for this product?" (Business mode only) User speaks → Supplier Name filled ↓ "What is the cost price?" (optional — used for profit calculation) User speaks or taps Skip ↓ Confirm screen shows all filled fields → User reviews → Tap "Save Product" → Saved instantly → Or tap any field to correct it manually
AI ComponentTechnologyWhat It Does
Image RecognitionGemini Vision APIIdentifies product type, brand, and model from photo. Pre-fills category. Works even with imperfect lighting or angle
Speech-to-TextWeb Speech API (free) / OpenAI Whisper (Pro)Transcribes spoken product details. Whisper handles Nigerian accents, Yoruba/Igbo/Hausa-inflected English, and Pidgin accurately
Smart Number ParsingGemini text processingConverts spoken numbers to digits: "fifty-five thousand" → 55000, "one carton twelve pieces" → 12, "two hundred and forty-six" → 246
Category SuggestionGemini classificationSuggests the most appropriate product category from the image + name. User can override

2 Product Price Lookup & Price Management

New staff can look up any product's price instantly by snapping it or searching by name. The manager can update prices at any time with a confirmation step and a full audit trail of every change.

Price Lookup — For Staff (Cashiers, Sales Reps, New Employees)

A cashier or sales rep who doesn't know a product's price — or wants to confirm before quoting a customer — can look it up in under 5 seconds without asking anyone.

Option A — Snap It: Staff taps "Price Check" → Camera opens → Points at product AI identifies the product → Price + category shown instantly Option B — Search by Name or Voice: Staff types "Samsung 43" or speaks "Samsung TV" System searches inventory → Shows matching products + prices
What Staff Sees After LookupDetail
Product NameSamsung 43" Smart TV
CategoryElectronics — Television
Selling Price₦195,000
Units Available (Display)4 units in showroom
Last Price UpdateUpdated 3 days ago by Ade (Manager)
Access Control on Price Lookup: Cashiers and Sales Reps see selling price only — they never see cost price or profit margin. Cost price is visible only to the Manager/Owner. This protects business confidentiality while still giving staff the information they need to serve customers.

Unknown Product Snap

If a staff member snaps a product that is not yet in the inventory, the AI recognizes it and prompts the appropriate action:

Staff snaps a product not in the system ↓ AI: "This looks like a Hisense 55" QLED TV. This product is not in your inventory yet. [Add to Inventory] [Cancel]" ↓ If staff taps Add → Snap + Voice product entry flow opens with product name and category already pre-filled by AI

Price Management — For Manager / Owner

The manager gets a dedicated Price Board — a full list of every product with its current selling price and last update date. Updating a price takes three taps and always requires confirmation before going live.

Price Board — All Products
Samsung 43" TV₦195,000 · Updated 3 days ago
LG Fridge 200L₦320,000 · Updated 1 week ago
Haier AC 1.5HP₦280,000 · Updated 2 weeks ago
⚠ Samsung QLED 55" — Price not set yetTap to set

Single Price Update Flow

Manager taps a product on the Price Board ↓ Taps the price field → Types or speaks new price ↓ Confirmation dialog appears: "Update selling price for Samsung 43" TV? Current price: ₦195,000 New price: ₦210,000 [Cancel] [Confirm Update]" ↓ Manager taps Confirm → Price updated immediately across the entire system → All future sales and receipts use the new price → Change logged in Price History

Bulk Price Update

When a supplier increases costs and multiple products need updating at once, the manager can update all of them in a single confirm action.

Manager taps "Bulk Update" on Price Board Ticks checkboxes next to products to update Types new price for each product inline Taps "Review All Changes" ↓ System shows full summary before anything is saved: Samsung 43" TV: ₦195,000 → ₦210,000 LG Fridge 200L: ₦320,000 → ₦345,000 Haier AC 1.5HP: ₦280,000 → ₦295,000 3 products will be updated. [Cancel] [Confirm All Updates]" ↓ One tap confirms everything. All prices update simultaneously. All changes logged.

Price History (Audit Trail)

Every price change is recorded automatically. The manager can tap any product and see its full price history — who changed it, from what, to what, and when. This protects against unauthorized changes and gives a clear record if questions arise.

DateChanged ByOld PriceNew Price
May 27, 2026Ade (Owner)₦185,000₦195,000
Apr 10, 2026Ade (Owner)₦175,000₦185,000
Jan 3, 2026Ade (Owner)₦168,000₦175,000
AI Price Alerts (Pro Plan):
Stale price alert: "Samsung 43" TV price hasn't been reviewed in 60 days. The market average has moved up by 8% — you may be underpricing."
New product suggestion: When adding a brand new product, AI suggests a competitive price range: "Similar products in your market are priced between ₦185,000 and ₦210,000."
Margin alert: If a product's cost price increases (after a purchase order) but the selling price hasn't been updated, AI alerts: "Your cost on LG Fridge has increased by ₦18,000 since your last purchase. Consider reviewing the selling price."

3 Inventory Journey Tracking Business Mode

In Business mode, every product has a journey from the moment it is ordered from a supplier to the moment it is sold to a customer. RAN tracks every stage so the owner always knows exactly where every unit is.

STAGE 1: ORDER PLACED Owner creates a Purchase Order → specifies product, quantity, supplier, expected delivery date STAGE 2: GOODS RECEIVED Store Keeper confirms delivery → enters actual quantity received If quantity received ≠ quantity ordered → AI flags discrepancy immediately STAGE 3: IN WAREHOUSE Units are in back stock. Not yet on display. Owner and Store Keeper can see this count STAGE 4: ON DISPLAY (Showroom) Store Keeper moves units from warehouse to showroom floor System records exact quantity moved and timestamp STAGE 5: SOLD Cashier or Sales Rep records a sale Unit count on display decreases automatically
ProductOrderedReceivedWarehouseDisplaySold (Month)
Samsung 43" TV1414842
LG Fridge 200L66240
Haier AC 1.5HP108530
Automatic AlertTrigger ConditionWho Sees It
Delivery discrepancyReceived quantity ≠ ordered quantityManager — confirm with supplier
Low display stockShowroom display hits 1 unitStore Keeper — move units from warehouse
Low warehouse stockTotal stock (warehouse + display) falls below reorder thresholdManager — place new purchase order
Dead stock alertProduct on display for 21+ days with zero salesManager — consider repricing or repositioning
High velocity alertProduct selling significantly faster than averageManager — consider restocking before stockout
Solo Mode — Simplified Inventory: Solo users don't have a separate warehouse and showroom workflow. They simply have a stock count per product that decreases when a sale is recorded and increases when they add new stock. All the same alerts (low stock, dead stock, high velocity) still fire.

3 Cashier Cart + Payment Approval + Receipt

A full point-of-sale flow that any cashier can operate without training. In Solo mode, the owner uses the same flow themselves. In Business mode, each cashier has their own account and their sales are tracked individually.

Step 1 — Open New Sale Cashier taps "New Sale" → Product search screen opens Products can be added by: • Tapping from a searchable list • Scanning a barcode (future feature) • Voice: "Two Samsung 43 TVs and one LG fridge" → AI builds cart Step 2 — Review Cart Cart shows itemized list with quantities and prices Running total updates in real time Cashier can remove items or change quantities before approval Step 3 — Payment Cashier shows total to customer → Customer pays (No payment processing integrated — cashier confirms cash/transfer was received) Cashier taps "Confirm Payment Received" Step 4 — Sale Recorded Transaction saved with: cashier ID, timestamp, items, quantities, total, payment method Stock levels updated automatically for every item in the cart Step 5 — Receipt System generates receipt instantly with: → Business name + logo → Transaction ID and date/time → Itemized list with unit prices and quantities → Subtotal, any discount, grand total → Cashier name → "Thank you" message (customizable) Receipt delivery options: → Email to customer (enter email address) → Share via WhatsApp (enter phone number — opens WhatsApp with receipt attached) → Print (connects to Bluetooth thermal printer) → Skip (no receipt sent)

4 Expense Logging with AI Receipt OCR

Any business expense — logistics, utilities, supplies, rent — can be logged in under 30 seconds by snapping the receipt.

User taps "Log Expense" → Camera opens User snaps the paper receipt or waybill ↓ AI (Gemini Vision) reads the receipt: → Extracts: Amount, Vendor Name, Date, Line Items → Suggests expense category based on vendor type ↓ Pre-filled form appears: Amount: ₦45,000 ✓ Vendor: Dangote Cement ✓ Date: 14 May 2026 ✓ Category: [Building & Supplies] ← AI suggestion, user can change ↓ User taps Save. Expense logged. Receipt image stored and linked to the record.

5 Loss & Catastrophe Recording

Damaged goods, theft, fire damage, and spoilage are all recordable losses that legally reduce taxable income under Nigerian tax law. RAN makes recording these events fast so they're not forgotten.

Loss TypeExamplesTax Impact
Damaged goodsBroken appliances, water damage, cracked screensDeductible — reduces taxable profit
Theft / PilferageStaff theft, shoplifting, burglaryDeductible — reduces taxable profit
SpoilageExpired food, perishable goodsDeductible — reduces taxable profit
Catastrophic lossFire, flood, natural disasterDeductible — reduces taxable profit

6 Automated Nigerian Tax Reporting

RAN calculates tax liability automatically from all recorded activity — sales, expenses, losses, and employee costs. No accountant needed for the calculation. The output is an audit-ready PDF report.

Tax TypeApplies ToBrackets
PITA (Personal Income Tax)Individual traders, sole proprietorsProgressive: 0% → 7% → 11% → 15% → 19% → 21% → 24% based on annual income
CITA (Company Income Tax)Registered limited companies<₦25M turnover: 0% | ₦25M–₦100M: 20% | >₦100M: 30%

The tax report includes: total revenue, total allowable deductions (expenses + losses), taxable income, applicable tax bracket, tax amount due, and a breakdown of what contributed to or reduced the liability.

Tax Optimization AI: Before generating a report, the AI scans the data and surfaces actionable insights — uncategorized expenses that could be deductible, losses not yet recorded, and a warning if the business is approaching the next tax bracket.

8. AI Features

1 AI Tax & Business Assistant

A chat widget embedded in the dashboard. The owner can ask any question about their business in plain English — or Pidgin — and get an instant answer powered by their own live data.

QuestionWhat the AI Does
"Why is my tax higher this month?"Compares this month's taxable income to last month, identifies the driving factor
"What expenses can I deduct to reduce my tax?"Reviews uncategorized or unlogged items and surfaces deductible candidates
"Am I close to the next tax bracket?"Calculates current trajectory and warns if the next bracket will be hit
"Which product is giving me the most profit?"Calculates gross margin per product using cost price and selling price data
"Wetin my profit be for this month?"Understands Pidgin — responds in plain English with the month's net profit

2 Anomaly Detection

The AI monitors all incoming data and flags anything that looks unusual — without the owner having to go looking for it.

Anomaly TypeExample Alert
Expense spike"Logistics expenses are 3× higher than last month — ₦450,000 vs. ₦148,000 average. Review before closing the month."
Sales gap"No sales recorded on Tuesday and Wednesday this week. Was the shop closed? If not, check that sales were being recorded."
Unusually large single transaction"A ₦2.1M sale was recorded by Cashier Emeka at 11:43pm. Verify this transaction is correct."
Stock mismatch"System shows 4 Samsung TVs on display but 6 were sold this month with only 2 received. Stock count may be off."
Supplier discrepancy"Mikano Electronics has now delivered short on 3 consecutive orders. Consider reviewing the supplier relationship."

3 Business Health Score

A single weekly number on the dashboard — 0 to 100 — that summarizes overall business performance so the owner doesn't need to read five different reports to know how things are going.

Business Health Score — Week ending May 30, 2026 Overall Score: 74 / 100 ↑ +6 from last week Revenue Trend: ████████░░ 82 Up 14% week-on-week Expense Ratio: ██████░░░░ 61 Expenses at 47% of revenue (target: below 40%) Inventory Turnover: ███████░░░ 74 Good movement — most products selling within 30 days Tax Liability: ████████░░ 80 Well managed — no bracket risk this month Profit Margin: ██████░░░░ 63 Net margin at 18% (industry average: 22%) AI Recommendation: Your biggest drag this week is expense ratio. Logistics costs have grown 31% over 3 weeks. Review delivery arrangements — negotiating a fixed weekly delivery fee could save approximately ₦65,000/month.

9. Pro Plan Features — WhatsApp & Market Intelligence

1 WhatsApp Business Bot

Nigerian business owners do not open business apps regularly — but they open WhatsApp dozens of times a day. RAN Pro delivers business intelligence directly to the owner's WhatsApp so they always know what's happening without ever needing to log into the app.

Automated Daily Morning Update

RAN Business Assistant · 7:30am
Good morning Ade! Here's your store summary for yesterday:

💰 Total Sales: ₦640,000 (9 transactions)
📦 Top Seller: Samsung 43" TV — 3 units sold
👤 Best Cashier: Chidi — ₦380,000
📉 No Sales: LG AC 1.5HP — 18 days without a sale
⚠️ Stock Alert: Samsung 43" TV — 2 units left on display

Reply with any question about your business.

Automated Weekly Summary (Every Monday)

RAN Weekly Report · Monday 7:00am
Weekly Summary — May 19–25, 2026

📈 Revenue: ₦3,200,000 (↑18% vs. last week)
💸 Expenses: ₦840,000
📊 Net Profit: ₦2,360,000
🏆 Top Product: LG Fridge 200L — 8 units
👥 Staff Performance: Chidi leads with ₦1.1M in sales
🧾 Estimated Tax This Month: ₦214,000

Your business score this week: 74/100 ↑

Natural Language Queries — Owner Asks, RAN Answers

Owner's MessageRAN's Response
"How many TVs did we sell this month?""You've sold 44 Samsung 43" TVs this month — ₦8.58M in revenue from that product alone."
"What's my profit for last week?""Last week's net profit was ₦2,360,000. Revenue was ₦3.2M and total expenses were ₦840,000."
"Who is my best cashier?""Chidi is your top cashier this month with ₦4.2M in total sales across 61 transactions."
"Show me everything below 5 units"Sends a formatted list of all products with fewer than 5 units in stock
"Wetin happen with my expenses this month?"RAN understands Pidgin — responds with a categorized expense breakdown
"Generate my tax report"RAN generates the PDF and sends it directly in WhatsApp

2 Market Business Intelligence

The most powerful differentiator in RAN's Pro plan. A weekly market intelligence report tells the owner not just how their business is performing, but how it is performing relative to the entire market — competitors, pricing, and demand trends included.

Weekly Market Report

RAN Market Intelligence — Week of May 26, 2026
Electronics Market, Computer Village, Ikeja

Samsung 43" TVs
Total sold across all dealers this week: 246 units
Your sales: 44 units → 17.9% market share ✅
Market price range: ₦185,000 – ₦210,000
Your price: ₦195,000 → Competitive ✅

LG Fridge 200L
Total sold across all dealers: 89 units
Your sales: 6 units → 6.7% market share ⚠️
Market price range: ₦310,000 – ₦345,000
Your price: ₦320,000 → Within range

AI Recommendation:
Your LG Fridge market share is below average. Sales data from similar dealers suggests the issue is display placement, not price. Dealers with fridges positioned near the entrance saw 31% higher conversion. Consider moving them to a more visible position.

How Market Data Scales With User Growth

StageUsers in Same MarketIntelligence SourceQuality
Launch0–50Published trade data + industry benchmarksGeneral guidance — "Electronics dealers in Lagos typically sell X/month"
Growth50–200Anonymized RAN user base aggregatePeer comparison — "Other RAN users in your category averaged 34 units this week"
Scale200+ in same marketReal-time RAN network dataPrecise market share — "You hold 17.9% of Samsung TV sales in Computer Village"
Built-in Network Effect: Every new business that joins RAN in a market makes the intelligence more accurate for every existing user in that market. This creates a natural incentive for business owners to refer their neighbouring dealers to RAN — not out of altruism, but because better data benefits them directly. The Pro plan becomes more valuable the more people use it.

10. Pricing Plan Structure

Feature Solo Free Solo Pro
₦2,500/mo
Business Free Business Pro
₦6,000/mo
Core Features
Snap + Voice product entry
Snap-to-Price lookup (staff)
Price Board + single price update with confirmation
Bulk price update
Price change history & audit trail
Inventory management
Cashier cart + payment approval
Auto receipt (email + WhatsApp)
Expense logging with OCR
Loss & catastrophe recording
Automated Nigerian tax calculation
PDF tax + financial reports
Business Health Score
Business Mode Only
Multi-staff accounts + role-based access
Inventory journey tracking (Order→Warehouse→Display→Sold)
Per-cashier sales performance
Purchase order management
Pro Plan Only (AI + Intelligence)
AI price alerts (stale price, margin squeeze, market movement)
AI price suggestion on new products
Tax optimization AI suggestions
Anomaly detection alerts
AI Tax & Business Assistant (chat)
WhatsApp daily/weekly reports
WhatsApp natural language query bot
Market share intelligence reports
AI competitor & pricing recommendations
Limits
ProductsUp to 50UnlimitedUp to 200Unlimited
Monthly transactionsUp to 100UnlimitedUp to 500Unlimited
Staff accounts11Up to 5Unlimited

11. Data Models

The core database entities that power RAN. Every record is scoped to a business_id so data is fully isolated between businesses. Every action-related record includes a user_id so it is traceable to the specific staff member who performed it.

Business
business_id, owner_id, business_name, business_type (individual/company)
mode (solo/business), plan (free/pro), registration_number
industry_category, location, phone, email, logo_url
tax_type (PITA/CITA), created_at, subscription_expires_at

User (Staff Member)
user_id, business_id, full_name, phone, email
role (owner / manager / store_keeper / cashier / sales_rep)
pin_hash, is_active, created_at, last_login_at

Product
product_id, business_id, name, category, brand, model
selling_price, cost_price, sku, image_url, supplier_id
reorder_threshold, created_by (user_id), created_at

Stock (Business Mode — tracks per-stage quantities)
stock_id, product_id, business_id
qty_warehouse, qty_display, qty_sold_lifetime
last_updated_at, last_updated_by (user_id)

Price History
price_history_id, product_id, business_id, changed_by (user_id)
old_price, new_price, changed_at

Purchase Order
po_id, business_id, supplier_id, created_by (user_id)
status (pending / in_transit / received / partial / cancelled)
expected_delivery_date, received_date, notes, created_at

Purchase Order Line Item
line_id, po_id, product_id, qty_ordered, qty_received
discrepancy_flagged (boolean), discrepancy_note

Sale (Transaction)
sale_id, business_id, cashier_id (user_id)
total_amount, payment_method, status (pending / approved / voided)
customer_name, customer_email, customer_phone
receipt_sent (boolean), receipt_method (email/whatsapp/print)
created_at

Sale Line Item
item_id, sale_id, product_id, qty_sold, unit_price, line_total

Expense
expense_id, business_id, logged_by (user_id)
amount, vendor_name, category, date, description
receipt_image_url, ai_categorized (boolean), created_at

Loss Record
loss_id, business_id, logged_by (user_id)
loss_type (damaged/theft/spoilage/catastrophe)
amount, product_id (nullable), description, date, document_url

Tax Report
report_id, business_id, generated_by (user_id)
period_start, period_end, total_revenue, total_expenses
total_losses, taxable_income, tax_rate, tax_amount_due
pdf_url, generated_at

12. Technology Stack

The confirmed stack is Laravel + Livewire + MySQL. Every tooling decision below is chosen to work naturally within this ecosystem — no context switching, no separate API server, everything in one Laravel application.

Core Stack

LayerTechnologyWhy This Choice
FrameworkLaravel 11Full-stack PHP framework. Handles routing, ORM, auth, queues, mail, storage, scheduling — everything RAN needs is built in or one package away
Reactive UILivewire 3Builds reactive components (cart, price lookup, dashboards, modals) without writing a separate JavaScript framework. Components are PHP classes — the whole team stays in one language
Blade TemplatesLaravel BladeThe existing HTML/CSS/Bootstrap UI converts directly into Blade templates. Layouts, components, and partials keep the UI organized
DatabaseMySQL 8Reliable relational database. Laravel's Eloquent ORM maps directly to MySQL tables. Migrations version-control the schema cleanly
Frontend JS (minimal)Alpine.jsShips with Livewire. Handles the browser-specific features Livewire can't touch — camera access, Web Speech API, microphone recording. Keeps JS minimal and readable
Asset BundlingVite + Laravel MixCompiles Bootstrap CSS, custom styles, and any Alpine.js modules. Hot reload during development

Authentication & Permissions

PackagePurpose
Laravel BreezeAuthentication scaffolding — login, registration, password reset, email verification. Generates clean Blade + Livewire views out of the box. Owner and staff login both handled here
Spatie Laravel PermissionRole-based access control. Assigns roles (owner, manager, store_keeper, cashier, sales_rep) to users. Middleware gates every route and Livewire component to the correct role. Most mature RBAC package in the Laravel ecosystem
Staff PIN LoginCustom implementation — staff can log in with a 4-digit PIN on a shared device (e.g., cashier counter tablet). PIN stored as bcrypt hash in the users table. Laravel Auth handles the rest

AI Provider Strategy — Two APIs, Best of Each

RAN uses Google Gemini 2.0 Flash for all vision and text AI tasks, and OpenAI Whisper for voice transcription only. This combination gives the best accuracy at the lowest cost. Both are called from Laravel Service classes — the rest of the application never knows which provider is behind each feature.

ProviderUsed ForWhy
Google Gemini 2.0 FlashProduct image analysis, receipt OCR, business chat, tax optimization, anomaly detection, price suggestions, market reportsCheapest capable multimodal model available. $0.075 per 1M tokens. Generous free tier for development. Handles image + text in one API call
OpenAI WhisperVoice transcription — snap+voice product entry, cashier voice cart, WhatsApp voice queriesBest accuracy for Nigerian English, Pidgin, and mixed-language speech. $0.006 per minute of audio. No other model matches it for accent handling
Web Speech APIVoice transcription fallback on Free plan100% free, runs in the browser via Alpine.js, no server round-trip. Less accurate but zero cost for free tier users

Estimated AI Cost Per Business Per Month

OperationEst. Volume/MonthProviderApprox. Cost
Product image analysis50 new productsGemini Flash~$0.04
Receipt OCR100 expense receiptsGemini Flash~$0.06
Business chat queries300 queriesGemini Flash~$0.18
Tax report generation1 monthlyGemini Flash~$0.01
Anomaly detection scans30 nightly jobsGemini Flash~$0.09
WhatsApp daily summaries30 messagesGemini Flash~$0.09
Voice transcription200 entries × 10 sec avgWhisper~$0.02
Total AI cost per business per month~$0.49 (≈ ₦750)

At a ₦2,500–₦6,000/month subscription price, AI costs stay under 30% of revenue per user — a healthy margin even at early scale.

AI Integration — Laravel Implementation

FeatureLaravel Implementation
Product image analysisGeminiService::analyzeProductImage($imageBase64) — posts image + prompt to Gemini Vision API via Http::post(), returns category + name as JSON to Livewire ProductEntry component
Receipt OCRGeminiService::extractReceiptData($imageBase64) — same pattern, extracts amount/vendor/date, pre-fills Livewire ExpenseLogger form fields
AI Business Assistant (chat)GeminiService::chat($message, $businessContext) — context is Eloquent-fetched business data (recent sales, stock, expenses) injected into the prompt. Response streams back to AiAssistant Livewire component
Tax optimizationTaxOptimizationService::analyze($businessId) — builds structured financial summary from Eloquent, sends to Gemini, returns JSON array of suggestions displayed in the tax report screen
Anomaly detectionNightly AnomalyDetectionJob queued via Laravel Scheduler — queries last 7 days, calls GeminiService::detectAnomalies($data), stores results, fires AnomalyDetectedNotification
AI price suggestionGeminiService::suggestPrice($productName, $category, $marketData) — called when adding a new product, returns a recommended price range displayed in the ProductEntry form
Voice transcription (Pro)Alpine.js records audio via MediaRecorder API → posts blob to POST /api/transcribeWhisperService::transcribe($audioFile) calls OpenAI Whisper → text returned → $wire.set('fieldName', $text) fills the form
Voice transcription (Free)Alpine.js calls window.SpeechRecognition directly in the browser — no server round-trip, zero cost. Result dispatched to Livewire via $wire.set()
WhatsApp query botInbound webhook → HandleWhatsAppQueryJob dispatched → GeminiService::chat($userMessage, $businessContext) → reply sent via Twilio SDK

Laravel Service Classes

app/Services/GeminiService.php
analyzeProductImage(string $base64Image): array
extractReceiptData(string $base64Image): array
suggestPrice(string $name, string $category, array $market): array
chat(string $message, array $businessContext): string
detectAnomalies(array $activityData): array
generateMarketReport(array $marketData): string

app/Services/WhisperService.php
transcribe(UploadedFile $audio, string $language = 'en'): string

app/Services/TaxCalculationService.php
calculate(Business $business, Carbon $from, Carbon $to): TaxResult
applyPITA(float $taxableIncome): float
applyCITA(float $turnover): float

app/Services/TaxOptimizationService.php
analyze(int $businessId): array // calls GeminiService internally

app/Services/MarketAggregationService.php
getMarketData(string $category, string $location): array
calculateMarketShare(Business $business, string $productCategory): float

Key Laravel Packages

PackageUsed For
barryvdh/laravel-dompdfPDF generation for tax reports, financial reports, and customer receipts. Renders a Blade view to PDF. Fast and no external dependencies
spatie/laravel-medialibraryManages all file uploads — product images, receipt photos, document attachments. Handles storage, resizing, and retrieval cleanly with Eloquent relationships
twilio/sdk or laravel-notification-channels/whatsappWhatsApp integration — outbound daily/weekly reports sent via Laravel Notifications. Inbound webhook handled by a dedicated Laravel route that passes messages to Gemini and sends replies
Laravel Queues (built-in)All slow operations run in the background — AI API calls, PDF generation, WhatsApp message sending, email delivery. Prevents the UI from freezing while waiting for external APIs
Laravel Scheduler (built-in)Cron jobs — daily WhatsApp morning update (7:30am), weekly market report (Monday), nightly anomaly detection scan, monthly tax reminder
Laravel Notifications (built-in)Multi-channel notifications — email via SendGrid, WhatsApp via Twilio, and in-app notifications all driven from one Notification class
Laravel Sanctum (built-in)API token authentication for any future mobile app or third-party integrations

Livewire Components — Key Screens

Livewire ComponentWhat It Does
CashierCartReal-time cart — add/remove products, running total updates live, payment approval, receipt delivery options. No page reload at any step
PriceLookupSearch field with live results as user types. Displays price, category, stock count. Connected to Alpine.js for camera/snap trigger
PriceBoardFull product list with inline price editing. Confirmation modal before saving. Bulk update mode
ProductEntryThe snap + voice add product flow. Alpine.js triggers camera and microphone. Results dispatched into Livewire fields
InventoryDashboardLive inventory table showing all stages (ordered/warehouse/display/sold). Polling for real-time updates
ManagerDashboardReal-time summary cards — revenue, transactions, health score, alerts. Auto-refreshes on a set interval
AiAssistantChat interface — sends messages to Gemini API via queued job, streams response back to UI
ExpenseLoggerReceipt upload triggers OCR via Alpine.js file picker → pre-fills form fields via Livewire
TaxReportDate range picker → triggers report generation job → PDF download link appears when ready

Infrastructure

LayerTechnologyDetail
EmailLaravel Mail + SendGridCustomer receipts, staff invites, owner alerts, tax report delivery
File StorageLaravel Storage + S3 or local diskProduct images, receipt scans, generated PDFs. Start with local storage, switch to S3 when ready to scale
Queue WorkerLaravel Queue (database driver → Redis in production)Processes all background jobs — AI calls, WhatsApp sends, PDF generation
HostingDigitalOcean, Hetzner, or cPanel (shared)Laravel runs on any PHP 8.2+ host. Start shared hosting, move to VPS when traffic grows
Dev EnvironmentLaravel Herd or Laragon (Windows)Laragon is the easiest local Laravel + MySQL setup on Windows — one installer, everything works

13. Recommended Build Order

Building in this order ensures every phase produces something usable before the next phase starts. Each phase maps to concrete Laravel artisan commands, migrations, Livewire components, and routes.

Phase 1 · Foundation
Laravel Setup + MySQL Schema + Auth + Roles + Modes
Install Laravel 11, Livewire 3, Laravel Breeze (auth scaffolding), Spatie Permission (RBAC).

Write migrations for all core tables: businesses, users, products, stock, sales, sale_items, expenses, losses, price_history, purchase_orders.

Add business_mode (solo/business) and plan (free/pro) columns to the businesses table.

Register the five roles with Spatie: owner, manager, store_keeper, cashier, sales_rep.

Implement the mode selection question at registration. Middleware gates routes by role. This is the foundation — get migrations right here.
Phase 2 · Core Sales
CashierCart Livewire Component + Receipt + Email
Build the CashierCart Livewire component — add products to cart, real-time total, payment confirmation.

On approval: create Sale + SaleItem records via Eloquent, decrement stock, trigger receipt generation.

Receipt PDF using barryvdh/laravel-dompdf rendering a Blade view.

Email receipt via Laravel Mail + SendGrid. WhatsApp share via a pre-filled wa.me link (no API needed yet).

Works in both Solo and Business mode from day one.
Phase 3 · Price Management
PriceBoard + PriceLookup Livewire Components
Build PriceBoard Livewire component for manager — live inline price editing, confirmation modal, bulk update, price history log.

Build PriceLookup component for all staff — real-time search as user types, shows price + category + stock. Role-aware: cashiers see selling price only, manager sees cost price too.

Snap-to-price: Alpine.js accesses camera, captures frame, posts image to Laravel controller → Gemini Vision identifies product → returns match from database.
Phase 4 · Product Entry
Snap + Voice ProductEntry Livewire Component
Build ProductEntry Livewire component.

Alpine.js handles camera capture (getUserMedia API) and microphone recording (MediaRecorder API). Captured image posted to ProductController@analyzeImage → Laravel calls Gemini Vision API via Http::post() → category + name suggestion returned.

Voice: Alpine.js uses Web Speech API (free tier) or sends audio blob to ProductController@transcribeVoice → Laravel calls Whisper API → text returned → $wire.set() fills the Livewire field.
Phase 5 · Inventory
Inventory Journey Tracking + Purchase Orders
Build InventoryDashboard Livewire component showing all stages per product.

Purchase order creation and management for Business mode.

Store keeper goods-receiving workflow: GoodsReceiving Livewire component confirms delivery quantities, flags discrepancies, updates stock.qty_warehouse.

Stock movement (warehouse → display) component updates qty_warehouse and qty_display.

Eloquent model observers fire low-stock and discrepancy alerts as database notifications.
Phase 6 · Finance
Expenses + Losses + Tax Calculation + PDF Reports
ExpenseLogger Livewire component — file upload triggers Alpine.js preview → image posted to ExpenseController@ocr → Gemini Vision extracts fields → form pre-filled.

Loss recording form.

TaxCalculationService PHP class implements PITA and CITA brackets — pure calculation logic, fully unit-testable.

TaxReport Livewire component — date picker → dispatches GenerateTaxReportJob to queue → job generates PDF via DomPDF → stores file → notifies user → download link appears.
Phase 7 · AI Intelligence
Health Score + AI Assistant + Anomaly Detection
HealthScoreService calculates the 5-factor score from Eloquent queries. Score stored daily via scheduled job.

AiAssistant Livewire component sends user message + Eloquent-fetched business context to Gemini API via a queued job. Response streamed back.

Nightly AnomalyDetectionJob — queries last 7 days of activity, calls Gemini with structured data, stores flagged anomalies, fires Laravel Notification to owner.
Phase 8 · Pro — WhatsApp
WhatsApp Bot — Scheduler + Inbound Query Handler
Outbound: Laravel Scheduler fires SendDailyWhatsAppUpdate job at 7:30am daily. Job queries business data, calls Gemini for summary, sends via Twilio SDK.

Inbound: POST /webhook/whatsapp route receives message from Twilio, dispatches HandleWhatsAppQueryJob → Gemini reads business data + question → sends reply via Twilio.

Weekly market report dispatched every Monday morning.
Phase 9 · Pro — Market
Market Intelligence + AI Pricing Recommendations
MarketAggregationService queries anonymized, aggregated sales data across all businesses in the same industry_category + location.

Weekly GenerateMarketReportJob — builds market data, calls Gemini for recommendations, stores report, delivers via WhatsApp and in-app notification.

Market data quality improves automatically as user base in each market grows.
Phase 10 · Polish
Billing + Subscription Gating + Mobile Optimisation
Integrate Paystack (Nigeria's standard payment gateway) for subscription billing — handles NGN payments natively, widely trusted by Nigerian users.

Laravel middleware checks business.plan before every Pro feature. Free users see an upgrade prompt instead of the feature.

Mobile-specific UI tweaks — larger tap targets, bottom navigation for cashier screen, camera/mic permissions UX on Android and iOS Chrome.

14. What Makes RAN Different

RAN — Record Am Now
Confidential Product Document · Version 4.0 · May 2026 · Laravel + Livewire + MySQL · Gemini Flash + Whisper
Built for Nigerian businesses.
Powered by AI.