Skip to content

What's Missing — Honest Inventory

Last updated: 2026-05-30

Grouped by when it'll bite us, not by category. Each line tells you who owns the fix and a rough effort estimate so you can prioritise. Things marked "You" are decisions or external accounts only you can handle; "Me" is engineering work; "Lawyer" is what it says.

The single biggest gap is not on this list. It's the missing merchant. Until a real Dhaka shopkeeper has used Jobab for a week, every item below is prioritised by guess.


🔴 Blocks the pilot starting

GapOwnerEffort
Meta Business Verification submittedYou2–6 week clock — start tonight
Public HTTPS URL for the webhook (ngrok in dev, deploy in prod)You5 min for ngrok
Privacy policy hosted at a real URL (markdown already drafted at docs/legal/privacy-policy.md)You + hosting1 hour
First real merchant scheduledYou1 week of outreach

Three of four are non-engineering. The engineering side is done for pilot-start purposes.


🟡 Will surface in pilot weeks 1–4

These get real-merchant feedback only — engineer them only if the pilot reveals they matter. Don't pre-build.

GapWhy it'll come upEffort
Forgot-password flowSomeone forgets within week 1Me · 2 hours
Email verification on sign-upCurrently any "@" passesMe · 2 hours
Email service (Resend / Postmark) for invites + password resetsTokens-via-WhatsApp works for v0Me · 3 hours
Conversation assignee picker in the inbox UIBackend supports it; no UI dropdownMe · 1 hour
Customer-facing AI disclosure toggleFirst time a customer realises they're talking to AIMe · 1 hour
Bulk actions (multi-select, bulk-takeover, mark-all-read)When a merchant has 50 DMs queuedMe · half day
Full-text search across message contentCurrent search is name-onlyMe · 3 hours
Daily WhatsApp summary ("Jobab handled 47 today, ৳12k revenue")Without it merchants underestimate value deliveredMe · half day
AI-off scheduling ("pause AI 11pm–7am")Some merchants will want strict hoursMe · half day
Catalog editing in UI (single-product add/edit, stock adjust)Currently CSV-only — frustrating for one-off changesMe · 1 day
Order line-item editing post-creation"I forgot to add a dupatta"Me · half day
Refund / partial refund flowFirst real complaint comes, no UI to resolve cleanlyMe · 1 day
Date-range filtering in analytics + orders"Show me last week" — common askMe · 3 hours
CSV export of orders / messagesFor their accountantMe · 2 hours

🟠 Production launch blockers (before public sign-up)

Eventual must-haves. Pilot works without them.

GapOwnerEffort
Meta App Review approvedYouWeeks of process
Real bKash merchant accountYouBusiness onboarding
Stripe (or equivalent) for our billingYou + Me1–2 days
Pricing tiers + paywall + usage capsProduct + Me3–5 days
Trial mode with auto-expiryMe1 day
Per-org LLM cost caps (so a runaway customer can't drain margin)Mehalf day
MFA / SSO (replace dev auth with Clerk / Supabase)Me + You (account)1 day
Real Sentry + Langfuse keys in productionYou (signup)10 min once accounts exist
Terms of service + DPALawyer1–2 weeks
Cookie consent banner (if any EU traffic)Me2 hours
Data Processing Agreement template for design partnersLawyer1 week
Production hosting (Railway / Render / Vercel / Fly)You1 day
Database backup + point-in-time recoveryYou (hosting choice)depends

🔵 Phase 2 / scale items (don't build yet)

GapWhy deferred
Real Jina API key + visual ANN activeImage match works as describe-then-search; upgrade when volume justifies cost
Multi-page UI (org with multiple FB Pages)Schema supports it; no merchant needs it in pilot
Mobile image-attachment composerRead-only mobile is enough for pilot
Mobile push delivery tested on a real deviceCode is wired; needs Expo / EAS run
Mobile app icons + splash + EAS build setupPre-launch polish
Voice messagesOut of MVP scope
Reports / exports + per-product analytics"What's selling?" — useful, not load-bearing
Customer / CRM view ("all of Tahmina's history")Power feature; not pilot-critical
Tags / labels / notes on conversationsPower feature
Webhook-subscription management UI for multi-Page orgsPhase 2 §11 follow-on
Comments-page rule preview / sandboxCurrently merchant must PATCH and watch

🎨 UI polish still on the to-do list

GapEffort
Lucide icons everywhere (replace hand-drawn SVGs)1 hour — massive cohesion win
Type + spacing scale locked in tailwind.config.tshalf day
Per-screen empty-state illustrations (no longer one shared recipe)1 day with a designer
Port the inbox hero treatment to every page via AppShell2 hours
Compact list view for /orders when ≥20 ordershalf day
Storybook so a designer can iterate without an engineer1 day
Favicon, PWA manifest, OpenGraph card, login background pattern2 hours + designer for assets
404 illustration instead of text-only30 min + asset

🧪 Engineering rigor we haven't shipped

GapNote
Web unit tests0 today. Vitest + Testing Library — 1–2 days for inbox + auth coverage
Mobile tests0. Same Vitest setup
E2E tests (Playwright)1 day for the critical paths (sign-up → first AI reply, order → mark paid)
Integration tests against a real Postgres in CISchema is in CI already; just write the supertest cases
Performance budgetsLighthouse not run; bundle size not measured
Index tuningSensible indexes exist; no production-query analysis yet
Accessibility audit (axe + manual screen-reader pass)Not done
Backend deploy step in CIWorkflow runs lint / typecheck / test; no deploy stage
Real production Dockerfile runMulti-stage Dockerfiles exist; never run in prod context
Audit-event retention policyCurrently keeps forever
Encryption-key rotation runbookConceptual; no procedure documented

💰 Things only you can decide

These aren't engineering gaps — they're product/business decisions outstanding.

  1. Pricing model. 1% GMV? Flat $25/mo? Per-conversation? Decide before pilot week 3.
  2. Free trial length. 14 days? 30? Forever-free with a usage cap?
  3. Company legal entity. Where, what structure, who owns what.
  4. Domain name. jobab.com? Something else?
  5. Brand mark. Jamdani motif is good; want a real logo lock-up from a designer?
  6. Founding team structure. Solo? co-founders?
  7. Investor strategy. Bootstrap? Pre-seed? Grants from BD ecosystem (LightCastle, Startup Bangladesh)?
  8. Geographic scope. Dhaka first, then where?
  9. Vertical scope. Clothing only (current bias)? Food? Cosmetics? Phones?
  10. AI disclosure policy. Default on/off + the exact phrasing.
  11. Privacy policy + DPA reviewed by a lawyer in your jurisdiction.
  12. Meta Business Verification doc package assembled (we have the kit; need the legal-entity papers).

📊 Where we are vs. where the next bottleneck is

StageStatus
Engineering — Phase 1✅ done
Engineering — Phase 2✅ done
Engineering — UX polish from the review✅ shipped
Pilot prep — docs + eval kit✅ done
Pilot prep — Meta App Review materials✅ docs done · ❌ not submitted
First real merchant signed up❌ zero
First real customer DM served❌ zero (only fake-webhook traffic)
Bangla quality at production grade❌ unknown without eval data
Pricing decided
Billing infrastructure
Public launch🚧 6–12 weeks away minimum

My recommendation (PM hat)

Stop adding features. The pile of code is now larger than the pile of evidence that anyone wants it. The cheapest, fastest, most informative thing this week:

  1. Today — submit Meta Business Verification.
  2. Todayngrok http 3000, paste the URL into the Meta App webhook + data-deletion config.
  3. Today — cold-DM 8 candidate merchants from docs/ship/pilot/pilot-outreach.md.
  4. This week — do 5 real merchant interviews. Don't pitch — listen (docs/ship/pilot/interview-script.md).
  5. Next week — install Jobab on one real merchant's Page. Watch it for 4 weeks.

Everything in the lists above gets re-prioritised by what merchants actually surface during those 4 weeks. Anything we'd build today without that signal is guessing — well-engineered guessing, but still guessing.


How to use this file

  • Re-read at the start of every planning session.
  • Move items between sections as priorities shift (pilot data should cause big movements).
  • Anything that gets done → strike it through, leave the line, add a date. That history becomes the project diary.
  • Add new lines as you discover them. The list is a living thing.

MIT licensed