Every morning I opened Instagram "just to catch up", and every morning the feed won. One quick check became another, with ads, reposts and giveaways in between.
SlothScroll is my lazy fix. It's a morning digest of the Instagram pages I follow. Once a day a cloud browser visits those pages for me. Gemma, Google's open-weight model, reads every new post and writes a one-line gist. It also sorts the post into a topic (Sports, Science, Finance, Tech…) and quietly drops ads, reposts and giveaways. What I get is one calm page and one email, grouped by topic, with the 1–3 posts actually worth opening.
I read it in about two minutes with my coffee, then close the tab. I never open Instagram.
Who gets to be lazier? Anyone who follows news, sports or creator pages to stay informed, not to scroll.
Gemma (gemma-4-26b-a4b-it) is the brain. It runs through an OpenAI-compatible client set by environment variables (AI_BASE_URL, AI_MODEL), so the same code can point at a hosted endpoint or, by changing one variable, a local Ollama. I use it for three jobs:
Per post: a one-line gist, the post's topic, and whether it's an ad, repost or giveaway. All three come back as JSON from a single call. When a caption is only emojis and hashtags, Gemma looks at the image instead.
Per page: a fallback category when I don't set one.
Per topic: a 2–3 line summary plus the posts worth opening.
Browserbase + Stagehand give it a real browser. I log in once through Browserbase's live view, and a persisted context keeps that session for daily runs.
MongoDB Atlas is the data layer. The cron job writes, the website reads, and a unique index on the post URL means a post is never processed twice.
Render runs everything from one render.yaml Blueprint: a cron job for the daily pipeline and a web service for the site. Every secret is sync: false, so none live in the repo.
The website is server-rendered HTML on Hono, with no frontend framework. It has light and dark mode, works on mobile, and loads quickly.
ElevenLabs narrated the demo video.
Slow and steady by design: one run per day, public pages only, visited one at a time with random pauses. A page that fails is noted, and the edition still ships. If Instagram asks for a login, SlothScroll stops and tells me instead of trying to get around it.
What broke (and how I fixed it)
Gemma was slow for this job. A demo run took about 4 minutes because the model reasoned before every answer. Setting reasoning_effort: "minimal" brought it down to about 20 seconds, with the same quality for one-line gists.
Everything was "News". Topics were assigned per page, so a football page's posts and an IPO story all landed in News. Now Gemma chooses a topic per post in the same call, with no extra requests. On my real feed the same 16 posts went from one topic to five.
The browser died mid-run. Browserbase sessions end after 5 minutes by default, and a full run takes longer. Asking for a 30-minute session fixed it.
Half-emoji headlines. Shortening captions sometimes cut an emoji in half and left "�". The page now cleans those characters before showing them.
Why Does Open Innovation Matter?
What you follow says a lot about you. Your reading habits are personal, and an open-weight model means this digest doesn't have to depend on one company's closed API:
I choose where it runs. Gemma is reached through a plain OpenAI-compatible endpoint, so switching providers is an environment-variable change. The client is built to switch to a local Ollama the same way, so the posts never have to leave my machine.
It's cheap enough to run every day forever. A small open model is plenty for one-line gists and topic tags. It's a daily habit, not a premium feature.
It's inspectable and forkable. The prompts, the pipeline and the model are all open, so anyone can adapt SlothScroll to their own pages, language or topics.
The Lazy Payoff
From a real run this week, using a deliberately conservative estimate of 8 seconds per post:
16 posts from my pages became 5 topics and one page, about 2 minutes of scrolling saved that day.
0 times I opened Instagram.
The real win is bigger than the 8-second math. One "quick check" usually turns into twenty minutes. SlothScroll ends the session before it starts, and it scales with the pages you follow: I've since added six more (The Verge, National Geographic, CNBC, Tasty, Netflix and 9GAG).
Prize Categories
Best Use of Gemma: Gemma writes the gists, picks the topics, filters ads and summarizes each topic.
Best Use of Render: a Blueprint with a cron job for the agent pipeline and a web service for the front end.
Best Use of Browserbase: Stagehand drives a real browser with a persisted login, as a repeatable daily workflow.
Best Use of MongoDB Atlas: the database behind an app built on an open-weight model.
Best Use of ElevenLabs: narration for the demo video.