Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
Turn Startup ASEAN conversations into verified partnership outcomes.
翻訳待ち
Loading the full README.
Read the full README ↗Stop collecting contacts. Start closing opportunities.
HandshakeOS turns networking conversations into verified partnership outcomes for the Startup ASEAN ecosystem. Paste meeting notes, a WhatsApp thread or a photo of a business card; Gemma 4 extracts the deal, commitments, deadlines and next steps. Then the Outcome Evidence Engine decides what actually counts as progress.
Built for the Cradle Outcome Conversion challenge.
Pitch video (2:27): assets/video/handshakeos-pitch.mp4 · Live demo: https://handshakeos.m-naim.workers.dev
Upload conversation → Extract opportunity → Generate actions → Verify milestone → Update conversion metrics
| Screen | What it does |
|---|---|
| Capture | Paste text, paste/drop an image (business card, screenshot, handwritten notes). Any ASEAN language. |
| Action Plan | Parties, key terms, contacts, next actions with owners and deadlines, an editable follow-up (copy / WhatsApp / email), and every extracted claim with its verbatim source quote. |
| Outcomes | Cumulative funnel (Introduced → Meeting → POC → Partnership), conversion rates, corridor breakdown, CSV/JSON export. |
Most "AI CRMs" let you mark a deal as won. HandshakeOS doesn't trust anyone, including the model.
npm install
cp .env.example .env.local # add your OPENROUTER_API_KEY
npm run dev # http://localhost:3000
Get a key at https://openrouter.ai/keys. Default model: google/gemma-4-26b-a4b-it (open weights, fast MoE, vision). google/gemma-4-31b-it is the stronger alternative. Set GEMMA_MODEL to switch. Use the paid id. The :free pool returns 429 when several people click at once.
If that call fails, the server tries GEMINI_API_KEY with gemini-flash-lite-latest. The result says which provider answered. Gemma 4 on the Gemini API is listed, and it often returns 500, so it is not the fallback.
No key? The app runs in Demo mode: the built-in samples return pre-recorded outputs so you can walk the whole flow. With a key, if the live call fails mid-demo on a sample, the app serves the sample result and labels it "Offline fallback" so your demo never dies on stage.
OPENROUTER_API_KEY (and optionally GEMMA_MODEL) as environment variables.app/
page.tsx Capture
opportunity/[id]/page.tsx Action plan + Evidence Engine + audit trail
dashboard/page.tsx Outcome funnel
api/analyze/route.ts Gemma 4: conversation → structured opportunity
api/verify/route.ts Gemma 4: evidence → milestone findings
lib/
gemma.ts OpenRouter client for Gemma 4, robust JSON parsing, grounding check
prompts.ts Extraction + evidence-audit prompts
normalize.ts Validates model output, enforces evidence rules
store.ts Browser-local persistence (swap for Supabase)
funnel.ts Conversion math
samples.ts / seed.ts Fictional demo scenario + illustrative funnel data
lib/store.ts with Supabase (one opportunities table holding the same JSON).| Time | Do | Say |
|---|---|---|
| 0–15s | Open Outcomes (20 → 7 → 3 → 1) | "Startup ASEAN creates connections. But how do we measure what they produce?" |
| 15–35s | Capture → MY → SG logistics → Analyse | "Raw notes from a mixer. Gemma extracts the deal, the 14-day pilot, the 10 vehicles, Sarah's deadline." |
| 35–55s | Scroll the plan | "Every claim is quoted from the source. It's marked proposed, not confirmed. Follow-up is drafted; I send it, not the AI." |
| 55–75s | Evidence Engine → meeting + pilot agreed → Verify → Confirm | "Sarah replies. Gemma proves the meeting happened but the pilot is only committed. I confirm. Watch the funnel." Then try hearsay: "Rumours don't count." |
| 75–90s | Outcomes (now 20 → 8, 40% / 5%) → GitHub | "Verified conversion, open source, ready for the whole ecosystem." |
Bonus: run the Johor retail (Bahasa Melayu) sample to show the follow-up drafted in Malay.
MIT. All companies and people in the samples are fictional.