This is a submission for the DEV Weekend Challenge: Community
The Community
I built this for small, high-trust communities — startup teams, study groups, indie hacker circles, and remote friend groups — where people genuinely want to help each other but struggle with the friction of async messaging and over-scheduled meetings.
The problem: you have a 5-minute question. You don't want to book a meeting. You don't want to blast a Slack message and wait 3 hours. You just want to know if someone is free right now.
That's the community this is for: people who value each other's time enough to make micro-interactions easy.
What I Built
Borrowed Time — a real-time micro-availability radar for private communities.
Members of a private group can broadcast short windows of availability (5, 10, or 15 minutes) on a live radar. Anyone in the community can see who's free and send a session request with one click. If accepted, a shared chat opens for both users automatically.
Key features:
🟢 Live radar — animated canvas showing all community members, color-coded by status in real time
⏱️ Timed availability — set a 5/10/15 min window; it auto-expires back to offline when time's up
📨 Session requests — send a request (Quick Chat, Call, Brainstorm, or Custom) with an optional message
💬 Live chat — shared chat window opens on both sides the moment a session is accepted
🔑 Private communities — create a community, share a 6-character invite code, others join instantly
📊 Analytics — community stats: total sessions, top contributors, help given/received
Demo
Demo
🔗 Live app: https://borrowed-time.netlify.app
Code
lochan027
/
borrowed-time
Micro-availability radar for small communities — real-time status, session requests, and live chat
Borrowed Time
Micro-availability radar for small communities
Borrowed Time lets people in a private group broadcast short windows of availability — 5, 10, or 15 minutes — so teammates, study groups, or friend circles can connect for quick chats, calls, or brainstorms without scheduling a meeting.
Live: https://borrowed-time.netlify.app
What it does
- Radar view — See all community members orbiting a canvas, color-coded by status in real time
- Status modes — Available (with countdown timer), Quick Text, Deep Focus (DND), or Offline
- Session requests — Send a typed request to anyone who's available; they get a live popup to accept, decline, or snooze
- Live chat — Once a session is accepted, both sides get a shared chat window that opens automatically
- Communities — Create a private community and share a 6-character invite code; others join with that code
- Analytics — Community-level metrics: sessions, help given/received, most active contributors
Stack
| Layer | Tech |
|---|
How I Built It
Frontend: React 19 + TypeScript + Vite. The radar is a custom canvas component using absolute positioning and CSS transforms for the orbiting animation — no WebGL, just Framer Motion springs and some trigonometry.
Styling: Tailwind CSS v4 + Framer Motion for all transitions and the ambient glow effects.
Backend: Firebase — Firestore for real-time data sync (member statuses, session state, chat messages) and Firebase Auth for email/password signup. No server required; everything runs on Firestore listeners.
Real-time architecture: Two parallel onSnapshot listeners per user merge session updates from both sides (requester and helper) so both parties see state changes instantly when a session is accepted.
Hosting: Netlify with a netlify.toml config that handles SPA routing redirects.
Top comments (0)