An AI layer that adds context to what you read online - designed, built, and rethought partway through. A solo project: the research, the interface, the engineering, and the strategy.

Today’s problem isn't finding information, it's filtering it. We're flooded with content that is unsourced or misleading, hiding in plain sight.
Bad information doesn't announce itself.
I wanted a tool that catches this instantly, while you're still reading.
I ran two semi-structured interviews with young adults. Both surfaced the same thing: no consistent way to judge source credibility, and fatigue that led to tuning out rather than filtering. Here's one of them.

- Hours a day on news mostly Telegram channels and news sites
- Context before reacting not a correction after
- A picture he curates himself not one an algorithm hands him
The original concept was a social platform built on cognitive memory models: Short-Term Memory for temporary content that clears after 24 hours, and Long-Term Memory for what truly matters.
I dropped it. A social network needs critical mass and moderation.
That's a company, not a project I could own end to end.
Instead, I pivoted to a browser extension that delivers the exact same cognitive logic where people already read:
- Short-Term Memory (24h Decay): Every link or item you open enters a temporary state. If left unbookmarked, it automatically vanishes after 24 hours to prevent digital hoarding.
- Long-Term Memory (Archive): Explicitly bookmarking an item overrides the timer and moves it into a permanent, clutter-free space.

Highlight text or paste a URL - a side panel returns a structured card with four layers, one at a time.
What it is, when it was written.
Who said it and why. No verdict.
Related archive items, each with a reason.
One question to test source credibility.
Killed the Trust Meter. People distrust systems that decide for them, so the card surfaces context instead of scoring it.
A score is faster to read than four layers of context. I traded that speed for something the user can argue with.
One restrained accent, for active states only. Category color lives on a stripe or a dot, never as a card background.
Color-filled cards would be faster to sort through. They would also turn a reading tool into a dashboard - something you scan instead of read.
The card leads with Context; Connections and Question sit a step deeper. Click, arrow, and keyboard all work.
Anything a step deeper is something some people will never reach. That's the trade - a card that opens with everything is a card nobody finishes.
The card is a single component with a handful of prop-driven variants - category is a color variable, not a new variant.
It started at eight and ended at four. Systematizing early is slower on day one - it's what made the redundancy obvious enough to delete.
Partway through, an honest doubt: it felt like a summarizer - useful, but replicable by any chat assistant. The sharper version of the idea:
The differentiator can't be "more AI." That ages out the moment anyone wires up an agent. The differentiator is UX and emergence - zero setup, zero maintenance, and nothing you have to decide in advance.
That produced auto-emergent Collections - the app notices a topic forming in your archive and quietly offers to group it. Pull, not push. Oded is a technician, not a power user. He would never stand up an agent. That's the whole point.
Google's Grounding with Google Search would have supplied the context. Its terms forbid caching the results.
An archive that accrues has to cache. I specified an independent search API instead.
On the free tier, whatever a user sends can be used to train the model.
For a tool people paste their own reading into, the paid tier was a prerequisite, not an upgrade.
Fetching a page from a server gets you blocked as a bot more often than not.
So the extension reads the page already open in the user's browser - the only source that reliably works.
Words Matter was never meant to become a product I'd run. Closed as a self-use v1 rather than grind through launch compliance. Collections foundation built and verified. Paused, on purpose, to ask: who is this really for? Aimed at the hardest user; fits the easiest one better.
Broaden the research: Two interviews found a direction. They can't tell me whether that direction generalizes, and I built as if they could.
Match the platform to the person: This page says "meet people where they already read." Oded reads on his phone, in Telegram. I built a desktop Chrome extension. I wrote the principle down and then didn't follow it.
Treat legal and platform limits as inputs, not discoveries: The API terms, the data jurisdiction, and the bot-walls all landed after the concept was fixed. Each one could have been checked in an afternoon at the start.
I'm currently exploring new opportunities in Product Design and UX Research.
My LinkedIn profile