Tinyshelf
Save articles to a shelf that reads them back to you
About
One click saves the article you're on. Tinyshelf strips it down to the text, and in the morning it reads your shelf to you in a natural voice while you make coffee.
How it was made
Shared by the maker. Numbers are their own estimate.
- Build time
- 5 evenings
- AI spend
- $12
- Prompts
- ~58
- Written by AI
- 98%
Agents
Windsurf
70% of the workExtension code
Claude
30% of the workArticle clean-up rules
ElevenLabs · inside the product
The reading voice
Stack
MCP servers
No MCP servers. Built with the agents alone.
Build recipe
The code isn’t public. This is the whole project as one prompt: paste it into your own agent to build the same thing.
Written by Claude
From the project’s code and history · 311 words
Build a browser extension called Tinyshelf: save articles to a shelf that reads them back to you.
What it does
One click saves the article you're on. Tinyshelf strips it down to the text, and in the morning it reads your shelf to you in a natural voice while you make coffee.
Stack
Use TypeScript. The original was built with Windsurf and Claude in 5 evenings, for about $12 in AI usage.
How it fits together
- A browser extension with a popup and a content script
- Local storage for saved items
- A small backend only for features that need it
Build it in this order
- Scaffold the extension and load it unpacked
- Build the one-click save from the popup
- Add the content script that reads the page cleanly
- Add the main feature on top of saved items
- Prepare the store listing and permissions
A prompt that worked: Strip an article to the words
Given the HTML of an article page, return only the article: title, author, date and body paragraphs. Remove newsletter boxes, ‘read more’ links, captions that repeat the text, and anything that would sound strange read aloud. Keep block quotes and mark them so a voice can read them differently.
Watch out for
- Ask for the fewest permissions possible; store reviewers and users both notice
- Pages vary wildly, so test on twenty real sites
Done when
- Saving works on twenty different sites
- It asks only for the permissions it uses
- It passes store review
Before writing code, ask me up to five questions about who this writing browser extension is for and what the first version must do. Then work in small steps: after each one, tell me how to try it and wait for my feedback.
Discussion
4 comments · 1 built their own
Rebuilt it from the recipe and had it running in under an hour. Would you take a PR that adds a Docker set-up to the original?
- Lena Vogt6 hours ago
Love how focused this is. One thing: the empty state took me a second to understand. Maybe show an example right away?
- Kenji Mori1 day ago
What did the agent struggle with most? Always curious where people had to step in.
More like this
Paste a README, get honest notes on what a stranger won't understand
An email agent that drafts replies and only pings you for the ones that matter