// the find
simonbengtsson/airdash
File sharing flutter webrtc app enabling sending files to any device from anywhere
AirDash is a Flutter app for peer-to-peer file transfers across all major platforms (iOS, macOS, Android, Windows, Linux), using WebRTC for the actual data channel and Firebase Firestore for signaling. It's for anyone who wants AirDrop-style transfers without the Apple ecosystem lock-in — works cross-platform and across networks, not just LAN.
The WebRTC + Firestore signaling architecture is the right call here: you get NAT traversal for free via STUN/TURN without running your own signaling server, and Firestore handles the coordination cheaply. It ships to every major app store and package manager (Homebrew, Snap, Microsoft Store), which is genuinely hard to pull off and most similar projects give up halfway. The release tooling in `/tools` — custom Dart scripts for submitting to Play Store, Microsoft Store, and Linux Snap — is more sophisticated than most indie apps bother with. And the public Mixpanel analytics dashboard is a nice transparency move that lets potential contributors see real usage data before investing time.
The hard Firebase dependency is the biggest adoption blocker — self-hosting this requires setting up your own Firebase project, and there's no alternative signaling backend. If Firebase Firestore goes down or the free tier limits hit, transfers stop working entirely. The TURN server setup relies on Twilio with no documented fallback, so connections that can't use STUN (symmetric NAT, corporate firewalls) will just fail silently for users who don't configure it. There's essentially one test file (`test/main_test.dart`) and the integration tests are WebRTC-specific — the transfer logic itself has no unit test coverage, so regressions in the send/receive path are invisible until a user reports them. Last, the publish guide is a wall of manual steps across five platforms requiring VMs; the CI only covers Firebase Hosting, not any of the native app builds.