LAB NOTEBOOK No.01 · BLOG · INDIA — UTC+5:3005 AUG 20261 min
Article · 05 AUG 2026 · 1 min · Hariom Lohar

Spam Classifier Shipped — 5,572 Messages, Zero Mock

By Hariom Lohar (hariomlohardev)·147 words·article Naive Bayes NLP Pyodide ship

Shipped a live Naive Bayes bench that tokenises, scores, and stamps P(spam|message) in your browser via Pyodide — nothing mocked.

Ship, don't demo

spam_classifier is now a live bench, not a screenshot. Type a message → see tokens split, scored red/green, weak signals filtered, then a SPAM / HAM stamp with P(spam|message).

  • Data: 5,572 rows, data.csv fetched in-browser
  • Engine: Naive Bayes + Laplace k=1, trained via Pyodide (Python in WASM)
  • UX: bench paper sheets, running verdict, gauge, weak-signal filter
Try it: /projects/spam_classifier.html

What I learned

Shipping in the browser surface uncovered what a notebook hides:

  • Tokenisation is a design choice, not a step
  • Thresholds are product, not math — 0.5 is a starting line, not an answer
  • If you can't show P(spam|message) with real numbers, you didn't teach it

Lab note

Every shipped artifact here gets a bench. This one proves the loop: derive → build → let the user touch it.

— Hariom · Lab Notebook No.01

Discuss — powered by GitHubfree · no tracking · GitHub login to comment
← Back to blog Follow on GitHub ↗
Share — Lab Notebook No.01 X ↗ LinkedIn ↗