PullMD Part 9: Reddit Day and the First Issues – Simply Explained
On the morning of April 27, a single command made the code public on GitHub. One night later: a few stars, fourteen people who had downloaded a copy, not a single problem report. That was the first time I sat down to breakfast looking at a project that was no longer only mine.
Telling Reddit About It
The next day I wrote a post on r/ClaudeAI, a Reddit community for people who use the AI assistant Claude. The title: “PullMD - gave Claude Code an MCP server so it stops burning tokens parsing HTML”.
(MCP, short for Model Context Protocol, is the interface that lets the AI assistant use the tool directly. “Tokens” are the chunks a language model splits text into, a bit like syllables. “Parsing HTML” means wading through all the raw code of a webpage.)
Two frustrations as the hook:
1. Copying text on a phone is a pain. Long article on my phone, I want to ask Claude about it. Long-press, drag selection handles past navigation and sidebar, copy, switch apps, paste. None of that is hard. But it is annoying enough that one day I just wanted to fix it.
2. Claude burns effort on website clutter. A typical webpage is mostly navigation bars, cookie banners, and footers. Only a fraction is the actual content. Watching the assistant chew through all that filler before answering a question is wasteful, in a way that gets harder to ignore the more you understand the system.
The post went live. I had no particular expectations: one post among thousands, on a normal weekday.
What Happened
As of this writing: 387 upvotes, 58 comments. More attention than anything I had posted on Reddit before.
The first comment I read:
“What is this!? A useful and novel tool on an AI sub? Amazing!” — u/CloisteredOyster (+108)
What Reddit Taught Me About My Own Tool
The most interesting comment came from someone comparing PullMD with a feature that Claude already has built in, called WebFetch:
“Claude code’s webfetch works differently. It passes page to Haiku model which then returns very small result which is actually added to context of Opus/Sonnet. So the reduction is not as drastic as it seems when using with agents which solved this problem.” — u/blin787 (+35)
I had not looked closely at how WebFetch works internally, because I was solving a different problem. After the comment, I went and checked.
It turns out WebFetch quietly hands the whole webpage to a smaller, cheaper AI model in the background. That model reads the page and writes a short summary. The main assistant only ever sees the summary, never the full page. PullMD works differently: it hands back the actual page text, word for word, without any AI step in between.
So the two approaches answer different questions. If you want a quick gist, the built-in feature is cheaper and faster. If you need the exact wording, every table, every link: PullMD is the better fit.
Comparison Questions Are a Gift
Two more comments asked how PullMD stacks up against other tools:
“Isn’t that just like firecrawl?” — u/KnackeHackeWurst (+11)
Honest distinction: firecrawl is a full crawler. It can process an entire website at once and extract structured data using AI. PullMD does one page at a time, with no AI in the loop, but it plugs straight into Claude with no setup. Different jobs.
“Would not it be better to run a bash script as a skill which operates on your browser or headless or even with wget rather than on a server?” — u/ardicli2000 (+3)
That is a fair architecture question. For one person on one machine, a script is enough. The server becomes interesting once several devices share the same cache: Claude Code on multiple machines, Claude Desktop, the phone app. They all hit the same stored results, which means pages load in milliseconds instead of seconds. For all of that, you need the server.
Token Benchmarks
Reddit asked for numbers. So I added measurements to the post that evening, from my own server.
Token counts are approximations, not exact Claude numbers. The order of magnitude holds, the exact number less so.
| Source | raw | PullMD | reduction |
|---|---|---|---|
| GitHub README | 141,599 | 3,125 | 97.8% |
| MDN Reference | 63,979 | 16,093 | 74.8% |
| Reddit Thread | 3,264 | 320 | 90.2% |
The real point is in the right column: depending on the source, three quarters to nearly 98 percent fewer tokens. That is exactly what PullMD is for.
The First Real Bug Report
That same evening, a stranger opened Issue #1. The title was pure developer shorthand:
MCP: remove structuredContent — Claude Code displays it instead of content[0].text
In plain terms: the tool was sending data back in a format that confused Claude Code, so it showed the wrong part. Technical detail aside, what mattered was the gesture.
That feels different from an upvote. An upvote is a moment. A bug report is work. Somebody installed the tool, ran into a problem, took the time to write it up, and submitted it.
Half an hour later: Issue #2 from someone else. Two reports the same evening. The repository had been public for less than 48 hours.
A Flood of Issues
In the 24 hours that followed: thirteen issues in the tracker. Not a slow trickle: one big wave while the Reddit post was still riding high. Most came from strangers; two I opened myself to bundle the feedback.
A selection of the outside reports, to show the range:
- Could there be a switch to hide the history page on shared installations?
- A German news website produces garbled symbols in the output: a character encoding problem.
- How to connect PullMD to Claude Desktop when the built-in login method does not fit?
- On Reddit threads with images, only the image comes through and the actual discussion is missing.
- The ready-to-use containers are not yet published in the public registry.
One person showed up several times in those first days with concrete edge cases. They will come back later in this series: a real-world test case I probably would not have found that early on my own.
Over those two weeks: 397 unique visitors, 320 unique copies of the code downloaded. Reddit was by far the biggest source.
How the Feedback Reshuffled My Plan
Two of the issues did not come from outside. I opened them myself, with Claude Code, to bundle the hints and requests from the Reddit thread into proper tasks:
Architecture: Phase 1 — Multi-user system with sessions + API keys Architecture: Phase 2 — OAuth authorization code flow for claude.ai web connector
In plain language: Phase 1 means letting several people use the tool at the same time, each with their own login and their own data. Phase 2 means connecting PullMD to the Claude web interface so people can use it without any technical setup at all.
Multi-user had been Phase 2 or 3 on my roadmap, somewhere for later. The feedback from the thread made it clear that “later” no longer held. So I wrote it down and moved it to the top.
That is exactly what happens when you make software public: the order of features is no longer exclusively yours. Not because strangers dictate it, but because their feedback shifts your own judgment.
What happened next is Part 10.
Part 9 of 15 in the PullMD series.
← PullMD Part 8: From My Tool to an OSS Project | PullMD Part 10: Locking It Down, Properly →