DEV Community

Cover image for OmNi: The Self-Hosted File Sharer for Simplicity and Privacy
lagging
lagging

Posted on

OmNi: The Self-Hosted File Sharer for Simplicity and Privacy

DEV's Worldwide Show and Tell Challenge Submission 🎥

What I Built
OmNi is a self-hosted, local network file-sharing app. No cloud, no internet, no subscriptions. Just fast, private sharing across your home Wi-Fi with a UI that actually looks premium.

My Pitch Video
<iframe
src="https://player.mux.com/uiznU9Ih99NwBYaf2WugChMDPn00lms02USxr7R0202UZkE"
style="width: 100%; border: none; aspect-ratio: 80/43;"
allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;"
allowfullscreen

I built OmNi because I was tired of fighting my own devices. For a long time, I used an iPhone 6, and trying to get a simple file from that phone to my Windows PC was absolute hell. iTunes is clunky, and every "file sender" app I tried was either filled with ads, didn't work, or wanted me to upload my private stuff to their cloud just to move it two feet away to my computer.

I just wanted a single-file solution that ran locally on my router. I went on YouTube, searched for how to build my own, and decided to just make exactly what I needed.

Two Weeks of "Going Overboard"
I started with a simple idea: a basic script with a config file for passwords. But once I got into it, I couldn't stop. I spent two weeks straight learning and testing.

I had never used SQLAlchemy or Bcrypt before, but I wanted this to feel like a real product—something secure enough to actually sell. I taught myself how to hash passwords and manage a database from scratch. I ended up building a way more professional backend than I ever planned, just because I wanted it to be "right."

Technical Highlights
The Liquid Glass Challenge
I’ve always loved Apple’s design language. I wanted to replicate that "Liquid Glass" look using only Vanilla CSS. I pushed CSS to its absolute limit—learning how to layer backdrop-filter, transparency, and shadows to get that frosted, high-end feel without using any heavy frameworks.

Under the Hood
Backend: Flask and SQLAlchemy. I learned how to structure a real database while building this.

Security: Production-grade Bcrypt hashing. Even though it's local, your data is locked down.

Snappy Performance: 100% Vanilla JS/CSS. No bloat, just direct LAN speeds limited only by your router.

Demo & Source
Source Code: codeberg.org/lagging/omni

Top comments (0)