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
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:
- 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.
- AI-powered — you paste your text and it calls GPT-4. Now your confidential meeting data is in OpenAI's training pipeline.
- 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)