Independent product / AI-assisted build / 2026
TasteFilter
Your feed. Your taste.
A personal layer of judgment for X.


- My role
- Product creator
AI-assisted development - Platform
- Chrome extension
X / Twitter - Milestone
- First shipped product
Published MVP, v1.0.0
01 / The idea
Same topic.
Different taste.
Following a topic does not tell a feed whether you value evidence, originality or a well-argued opinion. TasteFilter makes that preference explicit, without asking you to leave X.
An independent product hypothesis, taken from a PRD to my first AI-assisted product release.
02 / The experience
Taste becomes an input.
Start with a template or answer eight questions. Your taste stays visible and editable.
Preference, made explicit.

Five templates or eight questions, leading to an editable profile.
Profiles are assembled locally. No model call is needed.
Judgment / Feedback
From a score to a choice.
Inspect the reason. Confirm the fit. Decide what happens next. A low score never blocks an account automatically.
Your feed. Your final say.

A 2/10 score includes a reason, judged against your preferences.
Less prominence.
Not less agency.
Posts stay in place. Four score bands change opacity; filtering can be switched off.
Illustrative text, identical across all four bands. The score describes personal taste match, not factual accuracy.
03 / The system
Small extension.
Explicit AI boundaries.
AI helped build the product; a model also powers its scoring. Those are different roles. At runtime, the loop is deliberately inspectable.
- 01Browser
Read the context
Profile, post text and page context form the input.
- 02Service worker
Build the request
Supported feedback joins the prompt sent to the provider.
- 03Chosen model
Return a judgment
A score and a reason, parsed and bounded to 1–10.
- 04Back in the feed
Keep control visible
Apply emphasis; let the reader inspect and respond.
The loop closes through reader feedback: saved locally, then included in supported future prompts. Calibration, not model training.
Fail open
Failed requests leave posts readable. Queuing and caching limit repeated requests; media-only detection bypasses scoring.
Be explicit about data
Settings live in the browser. Scoring sends the profile, text and context to the selected provider. Local storage is not local inference.
04 / The learning
From a personal idea
to a public product.
Shipping connected the idea to real constraints: a changing feed, persistent settings, provider permissions and failures. It is a starting point for evaluation, not proof of impact.
The next question is not
“Can AI score a post?”
It is whether readers understand the score, can recover from a wrong judgment, and still encounter useful disagreement.
Evidence, limitations & next steps
Verified: supplied PRD and extension source, actual interface captures and the public store listing checked September 26, 2026. Store-package parity and live provider compatibility have not been established.
Not claimed: interviews, retention gains, scoring accuracy or measured time savings. AI-tool choices and a detailed personal iteration history still need the creator's account.
Next product fixes: the prompt builder consumes up/down feedback, but not the UI's too-low/too-high corrections. Privacy copy also needs to distinguish local storage from provider requests. No extension code was changed for this case study.
Next evaluation: compare scores with readers' judgments, inspect wrongly faded posts and test setup, contrast and keyboard recovery.
Feed, settings and Block captures were supplied from a real browsing session on September 26, 2026. The API key is masked. Onboarding captures use an isolated sample profile. Setup-time and accuracy claims within the original UI are not presented as measured outcomes.