← Dashboard  ·  private report

Bidet AI — the Kaggle submission, as the judges see it

Gemma 4 Good Hackathon · 2026-05-17 · what's submitted + how it works + an independent 4-judge review

SUBMITTED & verified live. Kaggle shows "Submitted!" — editable/re-submittable freely until Mon 2026-05-18 7:59 PM EDT. Final video youtu.be/EAJe4rpJAF0 (v5.8, 2:43, Unlisted, plays with no login) and the clean 717-word writeup are both live. The old floor video was deleted; only the final video remains on the channel.

1 · Exactly what a judge opens

A judge clicks one Kaggle writeup page and sees, in order: a title + subtitle, a 2:43 video, a written story, and links to the code and a live demo. That's the whole surface. Here it is verbatim.

Title

Bidet AI — on-device Gemma 4 turns a messy brain-dump into clean writing

Subtitle

A teacher who isn't a coder built it so the most personal writing he does never has to leave his phone.

Tracks selected (stackable — one prize per bucket)

Impact → Digital Equity & Inclusivity  ·  Main Track  ·  Special Technology Track

Video (the "most important part" — ~70% of score is video + vision)

https://youtu.be/EAJe4rpJAF0 — 2:43, Unlisted on the Bidet AI / @bidetai channel, not-for-kids. First-person story in Mark's own voice: the 2 AM report-card-comment wall → he builds the tool → a real on-device demo with airplane mode visibly ON → time saved → personal fine-tune → "I'm not rare" → soft close.

Public code repo

github.com/MrB-Ed/bidet-ai — Apache 2.0, no login wall. Forks Google's AI Edge Gallery; the original engineering (the capture-and-restructure pipeline, the shared on-device LiteRT-LM engine, the Moonshine transcription path) sits on top.

Live demo + cover

bidetai.app · cover image = the Bidet AI brand card.

2 · The written story (the 717-word body, verbatim)

The problem is mine

My name is Mark. I'm a teacher, and I'm not a coder. Every few months there's a piece of writing that wrecks me: honest comments about real students — the most personal, highest-stakes writing I do. It always came out the same way — two in the morning, blank page, everything in my head refusing to line up. My brain runs a mile a minute and goes everywhere, faster than I can type, faster than I can talk. I have ADD. Getting what's actually in my head onto the page has always been the hard part.

I don't think I'm rare. Anyone whose thinking outruns their hands knows this gap. For a lot of people the keyboard is the bottleneck, not the thinking.

Demo video: https://youtu.be/EAJe4rpJAF0

What it does

You hit record and you talk — ramble, stutter, repeat, go off on tangents. It transcribes you as you go, then reshapes the mess into clear writing. It doesn't summarize me. It organizes what I actually said and provides the context other people need, so it sounds like me on a good day, finally saying it the way I intended. There's a version cleaned for me, and a version cleaned for other people to read.

From my own use: a six-hour, up-till-2 a.m. spiral became about two and a half hours of tweaking and proofing — and for the first time it was actually enjoyable. The output was the most genuine writing I've ever produced. It was mine. It was me.

Why it has to be on-device

Bidet AI runs 100% on the phone, with no internet, on a three-year-old phone — and that's what lets it reach the people the cloud leaves behind.

That matters most for exactly the writing that drove me to build it. The comments I write are about real students — specific, candid, sometimes hard. There is no version of me that uploads that to someone's server to get cleaned up. With Bidet AI nothing is sent anywhere on its own; the only way anything leaves the phone is if I choose to share it. Private here isn't a policy I'm trusting — it's where the computer is.

And the floor is a phone someone already owns, not a subscription and a credit card on file. A voice-to-clear-writing tool that lives in the cloud serves people who can afford the cloud. One that runs on an old phone serves everyone else — and the people who most need to get a tangled thought out are often the ones for whom writing, not thinking, is the friction.

How it works

The repository forks Google's AI Edge Gallery (Apache 2.0); the engineering is the capture-and-restructure pipeline on top, and every part runs on the device:

Personalization. A small LoRA fine-tune, built with Unsloth on ~1,300 paired examples from my own brain-dumps, trained and validated — on held-out samples it strips my disfluency and keeps my voice. The shipping build defaults to the base model; the personal adapter rides on top.

The full source is public at github.com/MrB-Ed/bidet-ai — the fork lineage, the pipeline, the on-device wiring, and the consent flow are all readable and buildable.

Close

This is a tool I needed, that I could build, on a phone I already had. It helps me communicate. The words are always in my head; on-device Gemma 4 is what finally let them out — and it can do the same for anyone whose brain moves faster than their hands.

Take a brain dump. Bidet AI cleans up your mess.

3 · How it actually works (the pipeline)

One phone, no internet, nothing leaves the device unless Mark chooses to share it:

🎙️ Speak (foreground capture, 16 kHz, overlapping windows — talk as long as you want)
    ↓
📝 Moonshine-Tiny v2 (~27M params) via sherpa-onnx — transcribes on-device, fuzzy-dedup stitches chunks
    ↓
🧠 Gemma 4 E2B via LiteRT-LM (NPU→CPU fallback) — cleans, organizes, adds context, on-device, no cloud
    ↓
📄 Two outputs: a version cleaned for you, and a version cleaned for others to read
    · optional: a personal Unsloth LoRA adapter rides on top of the base model

The small speech model listens; Gemma does the language — two engines, each doing the job it's good at, both on a three-year-old phone in airplane mode.

4 · The official rubric (what they grade)

CriterionPointsNotes
Impact & Vision40Heaviest single criterion. Real-world impact + vision/scale.
Video Pitch & Storytelling30Organizers: "the most important part of your submission."
Technical Depth & Execution30Must clearly show Gemma 4 implementation.

~70% of the score is the video + the vision narrative. Stacking: Main + Impact + Special are three separate buckets, one prize per bucket.

5 · Independent 4-judge review (run 2026-05-17, blind to each other)

Four independent judges, each grounded in the rubric above, scored separately and were told to find what a skeptical judge docks — not to cheerlead. They converged.

LensScoreOne-line read
Impact & Vision (/40)27–31Equity thesis is structural & real; capped by n=1 / asserted-not-demonstrated impact.
Video Pitch (/30)24–25Authentic first-person voice + real airplane-mode demo beats the wrapper-demo field; back third stacks 3 ideas over the climax.
Technical Depth (/30)21–23Real on-device Gemma/LiteRT stack; docked for the LoRA contradiction, zero benchmarks, forked-app optics.
Predicted total~73–79 / 100Red-team midpoint 78.

Realistic outcome per track

#1 issue — all four judges flagged it independently, and it's a ~20-minute writeup-only fix. The writeup says the Unsloth fine-tune was "trained and validated." The public repo's own README explicitly calls it "experimental, in-progress… not a finished result… no fine-tuned model is claimed as working or included." A judge who clicks the repo (the writeup invites them to) sees a direct contradiction — and then distrusts every other number. This is the single biggest score-killer and it costs nothing to fix.

Consensus findings

Recommended before Monday 7:59 PM EDT (all writeup-only, cheap, low-risk)

  1. Reconcile the LoRA claim with the repo. Highest priority. Reframe "trained and validated" as an explicit in-progress experiment that isn't in the shipped build. Removes the #1 dismissal for free.
  2. Reframe the impact line from proof to honest founder-problem; add one real concrete data point if available.
  3. One originality sentence — what's yours vs. the fork.
  4. Soften / drop the Cactus angle; keep LiteRT.
  5. Add 3–5 rough benchmark numbers (writeup; optional one-screen BENCHMARKS.md in the repo).
  6. Freeze the video. Optionally improve only the YouTube thumbnail + description (3-line judge cheat-sheet).

Submission stays freely editable until the deadline. None of the above is required to remain submitted — it's the prioritized list of what would move the score, ranked by ROI and risk. Say the word and I make the writeup edits over the live submission.