Skip to content

Commit cf613b3

Browse files
author
Krishna-Gudavalli
committed
Add screenshots to README
1 parent 5034c95 commit cf613b3

4 files changed

Lines changed: 16 additions & 9 deletions

File tree

README.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# FileBeam
1+
# 📡 FileBeam
22

33
[![CI](https://github.com/YOUR_USERNAME/YOUR_REPO/actions/workflows/ci.yml/badge.svg)](https://github.com/YOUR_USERNAME/YOUR_REPO/actions/workflows/ci.yml)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
55
[![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](package.json)
66

7-
**Direct, device-to-device file transfer — in the browser, no size limit, nothing stored on a server.**
7+
**Direct, device-to-device file transfer — in the browser, no size limit, nothing stored on a server.**
88

99
Two devices pair with a 6-digit code. Once they're linked, the file streams straight from one browser to the other over WebRTC. No upload-then-download wait, no storage quota, no accounts.
1010

@@ -18,7 +18,12 @@ Two devices pair with a 6-digit code. Once they're linked, the file streams stra
1818
(file bytes, not the server)
1919
```
2020

21-
## Why it's fast and reliable
21+
<p float="left">
22+
<img src="assets/screenshot-pairing-code.png" alt="Pairing code shown on sending device" width="350">
23+
<img src="assets/screenshot-transfer.png" alt="File successfully sent" width="350">
24+
</p>
25+
26+
## ⚡ Why it's fast and reliable
2227

2328
| | |
2429
|---|---|
@@ -27,7 +32,7 @@ Two devices pair with a 6-digit code. Once they're linked, the file streams stra
2732
| **Backpressure-aware** | Files send in 64KB chunks and pause automatically when the connection's buffer fills, so nothing overwhelms either device. |
2833
| **Works across networks** | Same WiFi uses a direct connection. Different networks (e.g. phone on mobile data, laptop on WiFi) fall back to a TURN relay when configured — see below. |
2934

30-
## Quick start
35+
## 🚀 Quick start
3136

3237
```bash
3338
npm install
@@ -36,7 +41,9 @@ npm start
3641

3742
Open `http://localhost:3000` — on two devices on the same network, or two tabs to try it solo.
3843

39-
## Deploying it for real use
44+
<img src="assets/screenshot-home.png" alt="FileBeam home screen with Send/Receive options" width="700">
45+
46+
## 🌍 Deploying it for real use
4047

4148
Any Node host works. **[Render](https://render.com)** has a genuine free tier and is the easiest starting point:
4249

@@ -47,7 +54,7 @@ Any Node host works. **[Render](https://render.com)** has a genuine free tier an
4754

4855
> Free tier note: the service sleeps after 15 minutes idle and takes ~30–60s to wake on the next visit. Fine for occasional transfers; upgrade to a paid instance if you want it always warm.
4956
50-
## Making cross-network transfers reliable (TURN)
57+
## 🔧 Making cross-network transfers reliable (TURN)
5158

5259
STUN (used by default) only helps two devices *discover* each other — it doesn't relay traffic. If both devices are on the **same network**, that's usually enough. If they're on **different networks**, a certain share of connections will be blocked by NAT/firewalls unless a **TURN server** is configured to relay the (still end-to-end encrypted) traffic.
5360

@@ -66,7 +73,7 @@ TURN_CREDENTIAL=your-credential
6673

6774
Without TURN, FileBeam still works well on the same network and many cross-network pairs — it just can't guarantee a connection in every NAT scenario.
6875

69-
## Troubleshooting
76+
## 🩺 Troubleshooting
7077

7178
**Stuck on "Connecting"** — signaling worked, but the direct WebRTC link never formed. Check, roughly in order of likelihood:
7279

@@ -78,12 +85,12 @@ Without TURN, FileBeam still works well on the same network and many cross-netwo
7885

7986
For deeper digging: `chrome://webrtc-internals` shows the live ICE negotiation and exactly where it's failing.
8087

81-
## Notes
88+
## 📝 Notes
8289

8390
- Pairing codes are single-use and tied to one session — closing the tab invalidates it.
8491
- Browsers without the File System Access API (Firefox, Safari) buffer incoming files in memory instead of streaming to disk — fine for most files, but very large ones are limited by available RAM.
8592
- No database, no file storage, no accounts — restarting the server just clears any pending pairing codes.
8693

87-
## License
94+
## 📄 License
8895

8996
MIT

assets/screenshot-home.png

283 KB
Loading

assets/screenshot-pairing-code.png

280 KB
Loading

assets/screenshot-transfer.png

290 KB
Loading

0 commit comments

Comments
 (0)