Case Study · Self-hosted Media Server · .NET · 2022–Present

Your media, your server, your rules.

A self-hosted media server built through a long-term design advisory engagement. The design problem underneath: make owning your media feel as effortless as renting it, if self-hosting demands a manual, Netflix wins by default.

.NET · C# 183 releases Windows · macOS · Linux · Android nomercy.tv ↗
Scroll
Origin
A founder reached out for design feedback on a media server they were building. The engagement became a weekly consulting relationship that has run for four years, evolving from advising on an existing interface to rebuilding the entire product around a consistent UX framework.
Design challenge
The thesis was to make self-hosting feel as polished as a streaming service, with no compromise on ownership. The product had to serve both homelab enthusiasts and people who have never touched a server.
Current state
Active beta, 183 releases, open source. Available on Windows, macOS, Linux, and Android with iOS and Apple TV in development. The design system spans server UI, web app, and mobile clients. Still shipping.
4+
years of active development
Design advisory → full rebuild
0
releases shipped
.NET · C# · FFmpeg
4
supported platforms
Win · macOS · Linux · Android
Free/OSS
pricing model
Decremental community funding

01

The engagement. A design audit that never stopped.

A solo developer reached out for design feedback on a media server they were building. The interface was pure Material Design applied without adaptation, every screen had different layout logic, navigation was unpredictable. These are the normal result of a technical founder focusing on what the product does rather than how it feels to use.

What made this different was the feedback loop. The founder started implementing changes during our sessions, while I was still explaining the rationale. A layout restructured within minutes of being discussed. The first "call" was supposed to be a one-hour audit but it ran to three, and neither of us noticed. The engagement turned into a weekly consulting cadence that has continued for four years, with every interface decision treated as a collaborative discussion rather than a design handoff.

02

The opportunity. Two market failures and a disappearing format.

Plex had been the standard for self-hosted media until their interface shifted to prioritise their own content and subscriptions over the user's library. Netflix created the opposite problem, your favourite movie is only there until the licensing deal expires. Physical media is declining and the cultural assumption is shifting toward renting everything forever without ownership.

The thesis was precise: make owning your digital media as easy as using a streaming service. The constraint was not technical, it was experiential. The interface had to feel as polished as Netflix while giving users complete control over their library.

Movie library browsing view showing header-sidebar-content layout

03

The work. From Material Design to a custom system, from power user to everyone.

The original interface had no design system. Every view used Material components in their default state without adaptation to the product's specific needs. The fix could not be cosmetic, adding a visual skin over broken interaction patterns would not solve the problem. The decision was to rebuild the entire front end around a consistent set of components and navigation principles spanning the server interface, the web app, and mobile clients.

Usability is not a ceiling on depth. It is a multiplier. A user-friendly interface does not limit what power users can do, it reduces the barrier for everyone else.

The central design tension was audience. The developer was building for people like themselves, power users comfortable with servers and terminals. My position was that a self-hosted product competing with Plex cannot afford to require technical expertise. The installation flow had to be a three-step process that never shows a terminal. Our benchmark for it was a relative with no server experience: if they could get from download to a playing movie without phoning anyone, it shipped. The video player had to match Netflix's production quality while being fully self-hosted. The sharing system had to let you invite someone with a link and no account required. Over four years the feature set expanded through ongoing sessions, none of these were planned on a roadmap, they emerged from the rhythm of weekly discussions, the same rhythm that once restructured a layout mid-sentence.

Custom video player with transport controls

04

The navigation system. A layout pattern worth reviving.

NoMercy.tv ships with a persistent header, a sidebar that hides on demand, and a central content card as the primary work surface. This pattern now dominates the internet, but when we built it for this product it was not a trend we were following. It was a pattern I had been refining since 2014, when I noticed navigation inconsistencies accumulating across screens in agency projects. The fix was to separate navigation from content into two workspaces, the navigation shell designed once and locked, the content area remaining the daily workspace for designers.

Years later, Spotify ran an A/B test with a nearly identical layout. It lasted two weeks before they reverted it. I kept the pattern in mind because it had solved a structural problem once. Two years later, Spotify reintroduced the same layout as their permanent design language. The pattern had been right the first time, the organisation just was not ready for it yet. For NoMercy.tv, the triad locked consistency across server interface, web app, and multiple desktop and mobile clients. A user moving between platforms does not have to relearn where things are.

Navigation system mockup showing header-sidebar-content triad

05

Outcomes. What the design decisions produced.

Consulting without handoff

The collaborative format removed the traditional designer-developer handoff entirely. Decisions implemented within days of being discussed, not backlogged for the next sprint. More iterations than a traditional engagement would have delivered.

Usability before audience

Three steps from download to watching, no terminal, no Docker, no config files. Usability removes adoption barriers without removing power-user features. The product serves both the homelab enthusiast and someone who has never touched a server.

Scope from collaboration

No roadmap predicted a music library, image viewer, or screensaver alongside the core video product. These emerged from weekly conversations. The cost is an unclear finish line. The benefit is a product shaped by real patterns rather than assumptions.

Design system across platforms

Material Design replaced with a custom system spanning server UI, web app, Windows, macOS, Linux, and Android. Consistent interaction patterns without a framework enforcing them. iOS and Apple TV in development on the same system.

Visit nomercy.tv