Netto

scroll without guilt.

A personal build. Not a startup. Just a designer thinking out loud with a Claude API key and a weekend to spare

Weather app image
Weather app image
Weather app image
Weather app image

The problem

People open Instagram, watch someone build an app in 14 hours, run a marathon at 5am, transform their body in 90 days — then close the app feeling worse than when they opened it.

Instagram is a commerce platform. TikTok optimises for addiction. Nobody has built a feed that gives something back. That bothered me enough to try.

The idea

The guilt from doomscrolling isn't about wasted time. It's about the gap between watching and doing. If scrolling could close that gap — even slightly — the emotional experience flips. Instead of guilt, a small win.

People don't need to stop scrolling. They need it to mean something.

What I built

A short-form video feed with a live AI agent embedded directly inside it. Familiar, fast, vertical — but the agent watches what you watch.

After 8 seconds on a video, it notices. It pulses, a nudge appears, and it starts a real conversation about what you just watched — not generically, but specifically. Five topic threads. Live Claude responses. Session memory.

A few design decisions worth naming: The agent lives in the footer nav — not floating on the video — because ambient AI that interrupts feels intrusive. It needed to be discoverable, not unavoidable. The 8-second threshold was a design instinct call: 3 seconds is accidental, 15 seconds is too late. Eight felt like intent. Five separate threads exist because your fitness headspace and your investing headspace are genuinely different — one conversation trying to hold both would feel incoherent.

Built in a single HTML file. 13 real videos embedded natively. No iframes, no redirects, no production architecture — just the fastest possible path to something real enough to feel.

How I built it

Day 1 — Concept, product definition, signal threshold system

Day 2 — Figma design, dark purple system, agent icon, chat panel

Day 3 — Full build in vanilla JS, Claude API integration, video embedding

Day 4 — Polish, search page, saved videos, shuffle, demo mode

46MB. One file. Four days.

Note on the technical approach: base64-encoded videos in a single HTML file is not how a real product gets built. It was the right call for a four-day prototype — fast, self-contained, deployable anywhere. A production version would need a proper video CDN, a backend for the agent, and a real content pipeline. I know the difference. This was a deliberate shortcut, not an oversight.

Why it matters

Most apps are built to keep you on them. This one is built to make you feel okay when you leave. That is a genuinely different design intent — and one I think the industry will eventually have to reckon with.

Why it probably wouldn't work at scale

People don't switch social apps because a better one exists — they switch because something breaks. Netto has no social graph, which removes the most powerful growth engine social products have. The business model fights the product promise — "feel better when you leave" and ad revenue are philosophically opposed, and one of them always loses. The AI agent has to be right far more than it's wrong — one bad initiation and users turn it off permanently. And any meaningful traction would be copied by a well-resourced platform within a product cycle.

Building things is how I think. Knowing why something wouldn't work is just as important as knowing how to build it. This is a proof of concept for a real problem — not a finished product. That distinction matters.

Built with curiosity. Fuelled by music and ideas!

Let's make something
worth scrolling
for