The idea was simple. Then it grew.
I wanted my own home-media platform: local media, live TV, DVR, discovery, search, and Apple TV playback in one experience.
With AI coding agents, I could describe a feature, work through the problems, test it, and keep going. Watcher became a working product in my own setup. It wasn’t perfect, but it was functional.
Every improvement made it feel more like a business. But working software and a validated business are different achievements.
AI made a big build possible.
The repository snapshot spans roughly 80 days, from May 2 to July 21, 2026. It contains 255 commits and about 50.7k handwritten source lines across Rust, Swift, TypeScript, and supporting code.
Work expanded into DVR reliability, transcoding, server discovery, storage, native TV navigation, search, and scene-search experiments. In July alone, 201 commits landed—79% of the total.

By the recorded stopping point, a single tvOS file, ContentView.swift, contained 13,038 lines. It grew from 3,884 to 13,038 lines in ten days and appeared in 102 of the 255 commits.
Being able to build something doesn’t answer whether you should build it.
The question I asked too late.
When I started looking seriously at monetization, free alternatives became impossible to ignore. Jellyfin was one of them. I remember being told that roughly 51% of the audience was already using it.
That number shaped my thinking. But the stronger question was one I still couldn’t answer: what would make someone leave an existing setup for Watcher?
A correction worth making
51.2% in a survey. Not a verified share of my market.
The July 13 project handoff really does contain the remembered “~51%” claim. The 2024 Self-Hosted Survey reports that 1,110 respondents, or 51.2% of responses to its services-usage question, used Jellyfin.
This was a community survey shared on r/selfhosted. It was not a representative study of Watcher’s potential customers, and it did not divide people into exclusive Jellyfin, Plex, Emby, or Channels groups. The broad market-share claim remains unverified. See the source notes.
Jellyfin’s official server and clients are free. That alone doesn’t rule out a paid product. It does mean a new product needs a clear reason to exist: a painful problem, a meaningful improvement, and people willing to switch.
I didn’t have strong evidence for those things. In my recollection, confronting that gap is what led me to stop. The repository also shows competitive research by July 13, before the last July 21 commit; this was a late-build realization, not a claim that all market research began only after day 80.
The cost of continuing was growing.
The post-mortem identifies 63 of 255 commits—about 25%—with churn signals in their subjects. These include fix wording, revert wording, or dotted sub-version identifiers. It’s a rough warning signal, not a defect rate or proof that a quarter of the work was wasted.
The July 9 release audit identified three blockers. At the final recorded snapshot, only one had a code fix:
- Fixed in code: silent loss of back-to-back same-channel DVR recordings. The post-mortem records tests, but no device verification.
- Unresolved: unauthenticated local-network file access.
- Unresolved: macOS signing and Local Network permission stability.
There was also real discipline here. The scene-search experiment used evaluation gates. An encouraging result on one corpus did not hold up on an unseen one. That was useful evidence to stop expanding the idea.
The lesson isn’t that AI can’t build serious software. It’s that a bigger product brings a bigger obligation to test, maintain, and support it. I was taking on that obligation before validating the business.
The lesson we’re carrying forward
The Watcher Rule.
Before serious development, make the case for the build.
- Who exactly is this for? Name a narrow audience.
- What are they using today? Include workarounds and doing nothing.
- What does it cost? Include time and setup, not just price.
- What do they dislike? Find repeated, observed problems.
- Why would they switch? Be specific about the improvement.
- Can I reach them? Identify a realistic distribution channel.
- Will they pay? Test willingness instead of assuming it.
- How large is the realistic market? Define the audience before counting it.
- What free alternatives exist? Try them before competing with them.
- Can I test this before building? Use interviews, a demo, or a small experiment.
Was it a waste?
No. I learned to work with AI agents, write specifications, test the result, and investigate failures. The code was real. So was the learning.
Now the goal is to make better bets. Watcher started at BUILD. The process we’re using next starts at VALIDATE.
VALIDATE → BUILD → LAUNCH → TRAFFIC → USERS → REVENUE
Evidence & source notes
Repository evidence. Metrics are preserved from the owner’s watcher_postmortem_data.md, generated September 28, 2026 from origin/main at cb669a6. “Handwritten source” is the report’s category: a tracked line-count estimate including AI-assisted source, not a claim of manually typing every line. ~80 days is elapsed history, not 80 full working days.
Personal account. Motivation, the experience of using the product, and the decision to stop come from Monte’s account. The July 13 handoff documents late-stage competitive research and contains the unsourced ~51% claim.
Survey evidence. The survey’s services-usage section reports Jellyfin at 1,110 / 51.2% and Plex at 801 / 36.9%. It asks which services respondents self-host, rather than which single media platform they choose. Its figures do not establish an exclusive market split or current 2026 audience share.
What remains uncertain. We cannot prove which source the original Claude conversation used. Some later articles repeat 51% as market share; repetition does not verify that interpretation. We found no representative evidence establishing that 51% of Watcher’s target audience used Jellyfin.
No invented outcomes. Build hours, cash costs, traffic, paying customers, and revenue are not quantified in the source report and are not estimated here. Public sources checked September 28, 2026.