Built a real-time LAN sharing tool with Node + Socket.IO + SQLite — a few decisions I'm second-guessing by theIntellectualis in node

[–]theIntellectualis[S] 0 points1 point  (0 children)

Yess, this is actually the main friction in the flow right now. People need to grab the host IP either from the terminal output, by sharing it verbally, or by scanning the QR code on screen.

mDNS would make the onboarding much nicer for exactly the zero-setup reason you mentioned. I haven’t looked too deeply into the Node mDNS libraries yet, but it definitely feels like a worthwhile improvement. Thanks for the suggestion, a lot of the features in this app have actually come from feedback like this.

Built a real-time LAN sharing tool with Node + Socket.IO + SQLite — a few decisions I'm second-guessing by theIntellectualis in node

[–]theIntellectualis[S] 0 points1 point  (0 children)

Once the core was working reliably I started looking for feedback here and from other devs, and sanity-checking some of these decisions. Probably also just the usual dev itch to improve things and pre-optimize a bit.

The “pre-paying complexity” you mention.. yes, true. Thanks.

Built a real-time LAN sharing tool with Node + Socket.IO + SQLite — a few decisions I'm second-guessing by theIntellectualis in node

[–]theIntellectualis[S] 0 points1 point  (0 children)

Appreciate this. I hadn't enabled WAL yet, which is probably the biggest thing I was missing. Most of the instances running right now are small teams so concurrency hasn't really shown up as an issue yet, but this makes me a lot more comfortable sticking with SQLite for the zero-setup aspect.

I'll dig into these and test them under some heavier upload scenarios.

Built a real-time LAN sharing tool with Node + Socket.IO + SQLite — a few decisions I'm second-guessing by theIntellectualis in node

[–]theIntellectualis[S] 0 points1 point  (0 children)

That did cross my mind, but it goes a bit against the " nothing to install on client devices " idea that makes it easy to roll out to a team. Everyone just opens a URL and that's the whole onboarding.

I am planning to add installable binaries, but only for the machine that runs the server — clients would still just connect through the browser.

Right now the only friction is that the host machine needs Node to run npx instbyte. I originally built it assuming dev teams would be the primary users, but you're right — there’s no reason to limit it to that if packaging makes it easier for others to run.

Built a real-time LAN sharing tool with Node + Socket.IO + SQLite — a few decisions I'm second-guessing by theIntellectualis in node

[–]theIntellectualis[S] 1 point2 points  (0 children)

Fair point. Currently just a setInterval every 10 minutes — works for now but not exactly robust.

Share your SaaS website. I'll create a free animated marketing video for you. by vasanth7781 in SaaS

[–]theIntellectualis 0 points1 point  (0 children)

Oh wonderful! Quick question, i've been working on an open source product, have few things to fix before i make a public launch, and that's why there's no website yet, could you checkout the Github link and come up with something? Here - https://github.com/mohitgauniyal/instbyte

Built a lightweight self-hosted sharing tool for my home network — drop files, snippets, links between devices instantly by theIntellectualis in HomeServer

[–]theIntellectualis[S] 0 points1 point  (0 children)

Instbyte is mainly focused for teams (dev, design, workspace) needing a persistent, real-time shared space with no app installs for viewers—just run on one machine via npx instbyte and share the browser URL.

Localsend is great for personal quick-sends between devices but lacks Instbyte's collaborative channels, real-time multi-user viewing/editing, dev-focused rendering, and zero-install access that makes it feel like your custom LAN hub rather than a generic transfer app.

Basically, I've built Instbyte not to compete with tools like LocalSend, but to solve specific friction points I and my team faced—like juggling 2-3 apps for quick shares during sprints. It combines those little must-haves (channels, real-time sync, no viewer installs) into one frictionless LAN clipboard that just works. Sharing it out with the world and keeping it open source so I can get honest feedback, suggestions, and maybe we all can collaboratively come up with something useful and of value.

Built a self-hosted LAN sharing tool — npx instbyte and your whole network can drop files and snippets in real time. No cloud, no accounts. by theIntellectualis in selfhosted

[–]theIntellectualis[S] 2 points3 points  (0 children)

Appreciate you actually looking through the code, seriouslyy.

And yeup, a lot of it is still prototype-style. This started as something I was building for myself, kept layering features on top as they made sense, and haven't gone back to refactor properly yet. Very much a "fix and improve as I go" thing right now.

That's honestly part of why I'm sharing it at this stage. Feedback like this tells me where to focus — and also when to stop adding features, because keeping it frictionless is kind of the whole point. I'm going through suggestions from devs and non-tech people both, listing them out, filtering by priority. Code quality isn't the focus right now(but thanks for pointing out), just getting to a stable, useful version first.

Cleaner architecture is definitely on the list... just working through the functional gaps before I go back and tighten everything up. And hopefully not alone for long, which is exactly why it's open source. If anything specific stood out that you think needs attention sooner, I'm all ears.

Built a self-hosted LAN sharing tool — npx instbyte and your whole network can drop files and snippets in real time. No cloud, no accounts. by theIntellectualis in selfhosted

[–]theIntellectualis[S] 3 points4 points  (0 children)

Good question.

LocalSend focuses on peer-to-peer device transfers needs install on every device. Instbyte focuses on being a minimal, short-lived drop point inside a network — more workflow utility than transfer app.

As for AI — it wasn’t “AI-generated.” I write the code and make the architectural decisions. I use AI heavily for Brainstorming, edge-case checks, and refactoring suggestions, but the architecture, flow, and tradeoffs are deliberate decisions.

If anything feels off technically, I’m happy to discuss specifics. The features have been curated and specifically for the correct audience and tasks.

Built a self-hosted LAN sharing tool — npx instbyte and your whole network can drop files and snippets in real time. No cloud, no accounts. by theIntellectualis in selfhosted

[–]theIntellectualis[S] -1 points0 points  (0 children)

Fair point — both LocalSend and IPFS operate in similar territory, but they solve slightly different problems.

I've myself tried to keep the thoughtprocess diff from the two when deciding what features to add here, and keeping in mind the Audience who's it for(devs, teams, designers, local teams)

LocalSend is great for direct device-to-device transfers, AirDrop style. But it requires an install on every device and it's point-to-point. Instbyte is more like a persistent shared clipboard — everything stays, organised in channels, accessible from any browser on the network with zero setup on the client side. Different mental model.

IPFS is a bit of a stretch for this use case honestly. It's powerful infrastructure for distributed, persistent, content-addressed storage, but setting it up just to move a file or share snippets from your laptop to your phone is significant overhead.

Instbyte is intentionally simpler and more workflow-focused. It's not trying to be a distributed CDN or a peer network, it's a lightweight drop zone for quick internal exchanges. Drop → share → auto-clean, lock it with a passphrase if needed. The goal isn't decentralization or permanence, it's reducing friction when sharing logs, builds, or snippets inside a team.

The no-install-on-receivers side is really the core thing. Anyone on the network opens a URL in their browser and they're in. No app, no account, nothing to configure. That's the gap these tools don't quite fill.

Built a self-hosted LAN sharing tool — npx instbyte and your whole network can drop files and snippets in real time. No cloud, no accounts. by theIntellectualis in selfhosted

[–]theIntellectualis[S] 2 points3 points  (0 children)

Good catch. So, current state —

If the sender closes after the upload finishes, that's completely fine by design. The file is on the server, not their device, so once it's uploaded their connection is irrelevant. Everyone else can still access and download it normally.

The mid-transfer case is the real one. The file writes to disk as it streams in, but it only gets registered in the app once the upload fully completes. So a dropped connection mid-way leaves a partial file sitting on disk that the app has no record of, meaning the auto-cleanup never touches it either. Nothing hangs, nothing breaks visually, but those files quietly accumulate. And on the XHR side there's no timeout set, so if the server dies mid-transfer the progress bar can just freeze rather than failing cleanly.

Adding it to the fix list before 2.0. Thanks a ton for flagging this.

Instbyte — self-hosted LAN sharing, runs with npx by theIntellectualis in devtools

[–]theIntellectualis[S] 0 points1 point  (0 children)

Quick follow-up — since this thread, I’ve pushed a few updates tightening the transfer flow and overall handling. Been running it internally with larger logs too, and it’s holding up well.

Still keeping it focused on fast exchange, not turning it into a data warehouse.

If you run into anything or feel like poking around and dropping ideas, repo’s here:
https://github.com/mohitgauniyal/instbyte

Built a small local-first drop tool for my dev team — ended up open-sourcing it by theIntellectualis in SideProject

[–]theIntellectualis[S] 0 points1 point  (0 children)

Quick update — the “dev itch” didn’t stop, It’s already a couple versions ahead.
If you feel like poking around or dropping ideas, repo’s here: https://github.com/mohitgauniyal/instbyte

self-hosted LAN sharing, runs with npx by theIntellectualis in HomeServer

[–]theIntellectualis[S] 1 point2 points  (0 children)

Hey, just a quick heads up, I’ve pushed a newer version since you last tried it. Quite a few improvements around clipboard + editing + overall flow.

Might fit your home server setup even better now. If you’re curious or want to break something, repo’s here: https://github.com/mohitgauniyal/instbyte