Tinyshelf

Save articles to a shelf that reads them back to you

Maja HolmLaunched 11 days agoBrowser extension
0:42

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 work

    Extension code

  • Claude

    30% of the work

    Article clean-up rules

  • ElevenLabs · inside the product

    The reading voice

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

  1. Scaffold the extension and load it unpacked
  2. Build the one-click save from the popup
  3. Add the content script that reads the page cleanly
  4. Add the main feature on top of saved items
  5. 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

  • Noah FischerBuilt one1 day ago

    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.

    • Maja HolmMaker2 hours ago

      Thanks! Good question, I'll write it up in the build log this week.