DEV Community

Jack Green
Jack Green

Posted on • Originally published at tools.jackgreen.top

I Automated My Meeting Decisions With a 150-Line HTML File

I Automated My Meeting Decisions With a 150-Line HTML File

I used to paste meeting decision texts into a word processor and manually highlight the decision, underline the rationale, and bullet-point the action items. It was slow and I kept missing things.

Then I built something worse. Much worse. I built a 150-line HTML file that does it for me in my browser.

No API calls. No uploads. No account.

What it does

You paste a meeting decision — something like:

"The committee approved Screenshot Beautifier as the new standard because it costs less than Xnapper and the team completed a successful pilot. Action items: migrate workflows by Friday, notify users next week, update docs."

And it spits back a structured summary:

  • Decision: The committee approved Screenshot Beautifier as the new standard.
  • Rationale: It costs less than Xnapper and the team completed a successful pilot.
  • Action Items: Migrate workflows by Friday, notify users next week, update docs.
  • Key Points: The decision was unanimous; budget impact is negligible.

The whole thing is one file

i-ll-analyze-the-meeting-decision-and-provide-a-summary/
├── index.html          # The app — HTML + CSS + JS, zero dependencies
├── serve_static.py     # Python built-in HTTP server (for VPS hosting)
├── systemd.service     # Systemd unit
├── nginx.conf          # nginx reverse-proxy config
├── package.json        # Just metadata
├── vs/xnapper.html     # Comparison page (vs the named incumbent)
└── promotion/          # Dev.to article drafts
Enter fullscreen mode Exit fullscreen mode

That's it. 150 lines of HTML, maybe 100 lines of JS. No React. No Tailwind. No npm install.

Why I built it

Most "meeting note" tools are either:

  1. Expensive SaaS (Notion, Coda, etc.) — you paste your notes into their system. Your meeting decisions, budget figures, personnel changes — all sitting on someone else's server.
  2. AI-powered — you paste your text and it calls GPT-4. Now your confidential meeting data is in OpenAI's training pipeline.
  3. Over-engineered — full-fledged project management platforms for what should be a 30-second task.

My constraints were simple:

  • The text must never leave my machine.
  • I shouldn't need to sign up for anything.
  • It should work on my phone in a meeting.

The heuristic engine

There's no NLP library. No transformers. The JS uses simple pattern matching:

  • Decision: first sentence containing "approved", "decided", "chose", "selected"
  • Rationale: sentences after the decision containing "because", "reason", "since"
  • Action Items: lines starting with bullets/numbers, or containing "TODO", "next steps", "assign"
  • Key Points: everything else that's substantive

It's not perfect. But it's 90% there and it's fast, private, and free.

Deploy it yourself

It's on tools.jackgreen.top/i-ll-analyze-the-meeting-decision-and-provide-a-summary/ — free, no account, no uploads.

If you want to self-host, the whole thing is in one GitHub repo. python3 serve_static.py and you're live.

The philosophy

The best code is the code you never write. This tool has zero dependencies, runs entirely client-side, and does one thing. It's the kind of tool that exists because someone was annoyed enough to build a 150-line HTML file instead of signing up for another SaaS product.

Try it. Paste your next meeting decision and see what comes out.

Top comments (0)