Logo Lanfrica

michaelfrancoodev/kumbuka-WebMCP

Domain:

natural language processing

Record type:

software
Creator:
mic
Host:
Kumbuka - Voice/text activity tracker for mining site operators in Tanzania. Built with React, Vite, Tailwind, Dexie, and WebMCP. # Kumbuka **Your records, in your language.** A voice/text activity tracker for mining-site operators in Tanzania — and an agent-native web app built for the WebMCP Challenge. ## The problem Small-scale mining site operators in Tanzania track payments, deliveries, and daily activity by memory or scraps of paper — "nimempa John elfu tano kwa dizeli" said once, then forgotten. Kumbuka lets them **say or type one sentence, in Swahili or English**, and turns it into a structured record: who, what, how much. No forms, no menus. ## Why WebMCP Kumbuka's records aren't just for the human operator. Through WebMCP, the app exposes the exact same activity log as a set of structured tools an AI agent sharing the browser tab can call directly — instead of guessing at buttons or scraping the page. A site owner's assistant agent can ask "how much did we spend this week" or "add a record for the fuel delivery" and get a reliable answer, using the same data the human sees in the app. ### Registered WebMCP tools (`src/lib/webmcp-register.ts`) | Tool | Purpose | |---|---| | `add_activity_record` | Create a new expense / income / activity record | | `list_activity_records` | List records, filterable by type, person, or date range | | `search_activity_records` | Keyword search across person, item, note, and original text | | `get_summary_report` | Totals in/out, balance, and breakdowns for day/week/month | | `delete_activity_record` | Remove a record by id | These tools read and write the same Dexie (IndexedDB) store the UI uses, so a human confirming a voice entry and an agent querying totals are always looking at the same data — no separate API, no sync step. ## How it works 1. **Record** — tap the mic (or type) and say one sentence in any language: *"Nimempa John 5000 kwa diesel"*. 2. Kumbuka's lightweight bilingual parser (`src/lib/parse.ts`) extracts type (expense/income/activity), person, amount, item, and unit — with word-number support for Swahili (`elfu`, `laki`, `mil …

Languages

Licenses