This is a submission for the GitHub Copilot CLI Challenge
The Challenge
My sister runs a small grocery shop in Lomé, Togo. Every night, she counts cash by hand and scribbles calculations in a worn notebook, trying to figure out which products are actually profitable. She had one request:
"I just wish there was something simple and free that could help me know if I'm actually making money."
My constraints:
- One week of evenings (2 hours max per night)
- Spotty connectivity in Lomé
- Zero budget (no backend, no hosting costs)
- Her phone: 2018 Android, sometimes slow connection
- Real-time feedback from actual shop operations
The question wasn't could I build it—it was could I build it fast enough to matter?
Enter GitHub Copilot CLI.
What I Built
MonBusiness is a mobile-first PWA for small business owners across West Africa who need dead-simple profit tracking without complexity, cost, or technical barriers.
Core features:
- Product inventory with low-stock alerts
- Transaction recording (purchases, sales, expenses)
- Market-reality profit calculations using weighted-average costing
- Performance dashboard with health metrics
- 100% localStorage (no backend, no accounts)
- French UI, CFA franc formatting
- PWA installable to home screen
Demo
🌐 Live: mon-business.vercel.app
📹 Demo: 4-min walkthrough
The key insight: Most inventory apps assume fixed unit prices. In West African markets, everything is negotiable. You might buy 5kg rice for 12,000 CFA one day, 8kg for 18,000 CFA the next—depending on supplier relationships and bulk negotiations.
MonBusiness handles this reality: users record total amounts paid/received per transaction, and the app calculates true profit using weighted-average cost of goods sold.
Screenshots
Creating a new product with stock alerts, viewing low-stock warnings on the dashboard, and recording a restocking purchase—all from a phone screen optimized for quick, finger-friendly interactions in CFA francs:

The journey from struggle to stability: a business health score climbing from 20/100 with losses to 80/100 with healthy profits, alongside the transaction history that tells the full story of sales and expenses:

Deep insights at a glance: monthly performance overview showing revenue and estimated profit, per-product profitability breakdown revealing which items drive margins, and a 7-day expense analysis to catch cost trends before they become problems:

In landscape mode, the product performance cards transform into a sortable table, making it easier to compare products by score, profit, margin, revenue, and sales:
My Experience with GitHub Copilot CLI
Night One: The Architecture Decision That Saved Me a Week
I started by opening gh copilot suggest in chat mode:
"I need to build a profit tracking app for a small shop owner.
Mobile app—Flutter or React Native? I need to build it very fast."
Copilot analyzed Flutter vs React Native, then asked: "What's your timeline and infrastructure constraints?"
"One week, evenings only (2 hours max). No backend or auth.
Her phone is 2018 Android, sometimes slow connection."
Copilot completely shifted direction:
"Given your constraints, I'd recommend a Progressive Web App instead..."
I'd completely forgotten about PWAs. I was locked into "mobile app = native framework" thinking.
Copilot was right—PWAs solved every constraint:
- No app store review delays
- Works on any device with a browser
- Instant updates via URL
- Lighter than React Native bundles
This saved me from a week down the wrong path.
I then switched to agent mode:
gh copilot suggest "Create a technical spec and TODO list
for building this PWA with the constraints I described"
90 seconds later: SPEC.md (PWA architecture, localStorage schema, French UI requirements, mobile touch targets) and TODO.md (phased breakdown: Setup → Products → Transactions → Analytics).
Then let Copilot agent run:
gh copilot agent "Implement Phase 1: PWA foundation,
Tailwind config for mobile, localStorage hooks, basic routing"
Result in 90 minutes:
- Complete PWA manifest for Android installation
- Mobile-optimized Tailwind config (44px touch targets)
- localStorage utilities with error handling
- Routing between screens
- French UI text throughout
I deployed to Vercel, sent the link to my sister on WhatsApp at 11:30 PM.
Next morning at her shop: "You already built something!?"
That's what Copilot CLI gave me: Not just faster code, but better architectural decisions upfront and velocity fast enough to get real-world feedback while the problem was still fresh.
Night Two: When Revenue ≠ Performance
By day three, my sister tested between customers and showed me an issue:
"Oil shows the highest revenue, but I barely sell it—one bottle every few days. Rice, on the other hand, sells constantly. Multiple times daily but shows less total revenue."
She was right. Revenue doesn't show what's actually moving. A product earning 50,000 CFA over three weeks isn't "performing" like one generating 30,000 CFA in three days through constant turnover.
gh copilot suggest --mode chat
"Dashboard currently ranks by total revenue, but this doesn't reflect
sales velocity. Change ranking to prioritize quantity sold. Add column
showing remaining stock and predict days until restock needed based on
current sales velocity. Color-code the predictions."
Copilot generated:
- Refactored sorting algorithm (quantity sold as primary metric)
-
projectedRevenueandprojectedProfitcalculations - Stock depletion predictions
- Color-coding (red <3 days, yellow <7 days, green otherwise)
- Handled edge cases (new products, zero sales)
Next afternoon at the shop, she showed her friend: "See? Rice is my number one. I need to restock in 2 days. The app tells me."
Night Three: The Negotiated-Pricing Reality
End of week, a friend visited and spotted the profit calculations:
"Wait... this assumes you always pay the same price? It shouldn't. We negotiate with suppliers all time. Last week: 2,000 CFA per kilo for rice. Yesterday: 1,800 because I bought 50 kilos with two other sellers."
I'd assumed stable unit costs like a grocery store with barcodes. Here, every purchase is open to discussion.
The fix needed weighted-average cost accounting—but implementing FIFO vs LIFO vs weighted-average cost methods would normally take a full day of research and testing.
"Here's what needs to happen:
1. Purchase form: Remove 'unit price'. Users enter quantity + total amount paid.
2. Sales form: Remove 'unit price'. Users enter quantity + total amount received.
3. Calculate weighted average cost per unit: sum(purchase amounts) ÷ sum(quantities).
4. Calculate COGS for sales: quantity sold × weighted average cost.
5. Calculate profit: total sales revenue - COGS.
6. Handle edge cases: no purchases yet, zero quantities, etc."
Copilot CLI refactored the entire accounting model in one evening session. I tested with my sister's real historical data—numbers matched our manual calculations perfectly.
Time saved: Easily a full day of researching cost accounting methods and debugging percentage calculations.
Night Four: Finishing at Conversation Speed
Final night before leaving. The app worked, but had friction points from watching her use it all week.
Rapid-fire fixes via chat mode:
"Format all CFA amounts with proper spacing: '12 000' not '12,000'. Add 'FCFA' suffix."
→ Locale formatting utility, updated every number display. 15 seconds.
"Add date range filters to dashboard. Filter all calculations to that range."
→ Date pickers, updated aggregation functions, timezone handling. One iteration.
"Translate remaining English labels performance table to natural business French."
→ Scanned designated and related files, found all English strings, translated contextually.
Each change: one prompt, one review, test on localhost, done.
By midnight, I'd cleared 10+ items from my notes. The difference between "it works" and "it works really well" is often just small details—details that are tedious manually but trivial when you can describe them in plain language.
The Real Impact of Copilot CLI
I could've built this without AI. But:
| Task | Without Copilot | With Copilot CLI |
|---|---|---|
| PWA scaffolding | 1-2 hours | 30 minutes |
| Weighted-average cost logic | 30 minutes research + testing | 1 prompt, 1 review |
| 10 small UX iterations | 20-30 min each | 5-10 min each |
| Architecture decision | Locked into React Native | Copilot suggested PWA: game changer |
Most importantly: Copilot CLI gave me the velocity to ship during my testing window, so my sister could use it in her actual workflow while I was available to iterate.
Without that speed, this would've been a "someday I'll build it" project that never shipped.
It felt less like coding and more like pair-programming with someone who never got tired, never forgot syntax, and always had a working first draft ready.
What Happened Next
My sister's been using MonBusiness for 11 days now.
She no longer tracks sales in a notebook. After each transaction, she instantly sees profit impact. She feels confident about which products are worth restocking. The app is still on her home screen—used daily.
If it helps even one other small seller in Lomé, the nights were worth it.
Try It Yourself
Live App: mon-business.vercel.app
No signup, enter any business name to start tracking. Your data stays in your browser—completely private.
GitHub Copilot CLI didn't replace my skills—it amplified my impact. It gave me the velocity to turn scattered evening hours into a deployed tool my sister actually uses every day.
Whether you're building for clients or family, the ability to iterate at conversation speed changes what's possible.
Thanks for reading. Now go build something that matters! 🚀


Top comments (0)