Upinion · Web App 2.0 · Round 2 Brainstorm

Five channel-diverse bets — plus the big architectural decision.

Round 1 told us Demo 1 was closest to right. Then the research came in. The headline: a URL-first product is dead for this population, but the web app is still useful as a destination for the 7% who do visit.

Round 2 spans the real channel matrix — WhatsApp, Messenger, Telegram, Web, Stream — and lands the meta question for the team: where do we commit?

Audience: Anvilda team-days critique session · Tracker: co-upinion#42 · Round 1 transcript: 2026-05-13 · 2026-05-26

The decision we need to make today

Social messaging apps · or · custom PWA?

Algerian carriers zero-rate WhatsApp and Facebook (free for the user) — but limit what we can offer. A custom web app gives us total UX control — but only 7% of the population visits URLs. Use the Fork-in-the-road page to weigh it by what you care about most.

Open Fork-in-the-road →

1The two meta pages

⚖️ Fork in the road
Social messaging vs custom PWA — decision diagram
upinion-fork.pages.dev
💚 WhatsApp Flows showcase
All requirements inside WhatsApp — Architecture A
upinion-whatsapp.pages.dev

2Research synthesis — six findings that reshape the plan

Only 7%
Web is mostly dead as a front door

of Central Sahel migrants use websites for information. 47% don't use social media at all on the move. Algerian carriers zero-rate Facebook + WhatsApp — open web costs paid data. 43% smartphone ownership.

Source: MMC 4Mi June 2024 · DataReportal Digital 2026 Algeria
→ Demos 1 & 4 (web) are minority-path tests, not the spine.
60%
WhatsApp dominates Algeria

active users (26.5M). Messenger 33%, Telegram 36%. Meta banned general-purpose bots Jan 2026 — but surveys are explicitly allowed. Marketing templates $0.02–$0.05/msg in West Africa. Utility-in-window is FREE since April 2025.

Source: Sensor Tower Q3 2025 · TechCrunch Oct 2025 · Meta WABA pricing
→ WhatsApp is the highest-reach + zero-rated acquisition channel.
Free
Telegram = best bot tooling, worst reach

BotAPI, no approval, native survey + payment + proactive messaging. But only 36% Algeria reach, negligible in Mali/Niger, NOT zero-rated by Algerian carriers. ~1 week to MVP.

Source: Telegram Bot docs · Sensor Tower Q3 2025
→ Telegram is the longitudinal layer for users who opt in. Not a primary acquisition channel.
3 layers
Verification — the red line

SMS-OTP gates the topup + per-survey salted hash for dedup + mCaptcha-style proof-of-work for bot floods. NEVER naive phone hashing (FTC: reversible). No PII stored — only one-way fingerprints.

Source: FTC 2024 · GSMA Refugees & Identity · mCaptcha CACM
→ Same stack works across web, WhatsApp, Telegram (OTP arrives via SMS regardless of channel).
WhatsApp palette
Stream design specs (light mode)

#FFFFFF / #F0F2F5 / teal #128C7E / ink #111B21. Cairo variable font for Arabic+Latin. Two-layer scroll architecture (snap + overlay) to avoid mandatory-snap trap. 5-question session cap. Hide question count, show topup-progress fill only. Never autoplay audio/video.

Source: Meta design blog · Signpost IRC · Pollfish methodology
→ Marwan's 'reassuring social-media colors' instinct is data-supported.
8 components/screen
WhatsApp Flows = mobile-only, capped, no voice in-form

Flows supports text, dropdown, checkbox, radio, date/time, star rating, photo-picker. No voice input INSIDE a Flow (chat-layer only). No persistent hub. No delete-answer. Mobile-only — desktop users can't complete Flows. Approval 1–3 days.

Source: developers.facebook.com/docs/whatsapp/flows · wa.expert
→ Flows-heavy (Architecture A) wins UX. Chat-only (B) is faster MVP. Two-number (C) solves the hub-archive gap.

3Round-1 verdicts → Round-2 evolution

Demo 1 — Savane Info
✅ Closest to original thinking
→ Karambal (web spine, info/Q tabs, OTP gate, alert button)
Nor, Tarek, Augustine converged
Demo 2 — SOUT
🟡 Too sterile alone, borrow simplicity
→ pattern reused in One-Touch demos
Tarek
Demo 3 — Amawal
🟡 Right intuition, wrong target
→ Touareg-skin (security-motivated, not aesthetic)
Marwan
Demo 4 — Connexa PWA
❌ Wrong vibe (Western youth), one critical idea kept
→ Info ↔ Questions tabs split in Karambal
Rick liked the separation
Demo 5 — Omni-channel
❌ Drop the 'all channels at once' framing
→ pick ONE: Telegram (Tankari) or WhatsApp paired with Web
Gerben: 'we need to decide'

4The 5 channel-diverse demos

Demo 1
Karambal
Web (PWA spine)
Best UX for the 7% who DO visit websites
upinion-demo-1.pages.dev
Demo 2
Tabarru
Facebook Messenger
Lowest-friction one-touch
upinion-demo-2.pages.dev
Demo 3
Saba
WhatsApp (chat-only)
Fastest MVP, no Flows review
upinion-demo-3.pages.dev
Demo 4
Yel
Web (TikTok-style)
Social-media-native scroll feed
upinion-demo-4.pages.dev
Demo 5
Tankari
Telegram bot
Free longitudinal layer + topic notifications
upinion-demo-5.pages.dev

5Entry paths — same demos, different doorways

Organic via Facebook ad
Mass-market acquisition. Highest reach. Lands on either WhatsApp click-to-chat OR web app.
Trusted Invite (Upinionator)
Personalised welcome video at entry. Skip intro/trust-building (already established). Separate entry-path component layered on whichever channel wins.
Telegram channel sponsorship
For Tankari users specifically. Cross-channel deep links from FB/WhatsApp also viable.

6Non-negotiable must-haves (15)

🔐
Verification: OTP + salted-hash + PoW
3-layer stack. SMS-OTP gates topup. Never naive phone hash.
🎤
Voice + text — equal first-class
In chat layer everywhere. (NOT inside WhatsApp Flows — that's a workaround)
🌐
Language picker first (6 langs)
Tamashek · Hausa · Bambara · Arabic · English · French. French LAST in picker order.
📡
Low bandwidth
Initial HTML+CSS+JS under 100KB. Lazy load. No autoplay on 2G.
☀️
Light mode mandatory
WhatsApp palette. No dark colors anywhere (Marwan). Especially the Stream demo.
🎭
Pseudonymous brand
Karambal · Tabarru · Saba · Yel · Tankari · Anwar. No Upinion / NL Embassy ever.
🔒
No PII stored
WA ID hash · per-survey salt · localStorage only. Private-mode exit warning.
🔔
Topic-based push notifications
User opts into topics. Notifications look like normal messages.
💸
Topup incentive (Reloadly)
Confirmed feasible in Algeria. Tied to ANSWERING, not signup.
📑
Info ↔ Questions separation
Tabs/columns/two-numbers — never mix them. (Rick's round-1 insight)
🚨
Report / alert button
Bi-directional. User pushes info up. (Tarek)
📐
Cairo variable font
Arabic + Latin in one file. Noto Sans fallback for Tifinagh.
Star rating + skip + delete-answer
Where channel allows. Flows lacks delete-answer — known gap.
📊
5-question session cap
Show topup progress as fill. NEVER 'Q3 of 40' (Pollfish: count = anxiety).
🎬
Personalised welcome video for referrals
When user arrives via Upinionator link. (Tanya / H Foundation precedent)

7Open questions — and Upii's recommendations

Web app vs WhatsApp vs Telegram — which is the spearhead?

Upii's recommendation
HYBRID: WhatsApp for acquisition (max reach + zero-rated) + Telegram bot for the longitudinal-engagement subset (free + best tooling) + Web app as deep-link destination for the 7% who DO visit URLs.
Open the Fork-in-the-road page →

Within WhatsApp: Flows-heavy or chat-only?

Upii's recommendation
Pilot with chat-only (Saba — Architecture B). Validate demand. Then upgrade to Flows-heavy (Anwar — Architecture A) once Meta business verification + microsite are in place. Two-number architecture (C) for the info/Q separation problem.
Open the WhatsApp Flows showcase →

Touareg vs migrant — same product, different skin?

Upii's recommendation
Deployment-time skin (different brand, domain, visual language) — not a separate codebase. Marwan's security argument: 'if one is caught, the others continue.' Threat-model rationale, not aesthetic preference.
(Implemented as variant deploy of whichever demo wins)

Brand-per-project: bespoke or skin?

Upii's recommendation
Same backbone, AI-generated brand veneer per project. Rick's maintainability concern is legitimate. End-to-end test suite verifies each project's brand doesn't break the flow.
(Architectural — not visible in any demo)

8Hard constraints (apply to every demo)