
BACKED — a peer-to-peer group scheduling tool where people back the times they’ll actually protect, instead of checking every box they’re technically free for. A scarce commitment budget forces real preferences to surface, and the room locks automatically once one option becomes mathematically unbeatable.
by rookepoole
Voted by ₥AN$A, Air Planes, Auny 🧡, Debbie, Hovhannes Mkhitaryan, Is Wilson, kaleb, rookepoole, Rose Loops, senseless, Smiley “MakeShif”
Create a room, give it a purpose, and share the room code with the group. Everyone joins as a persistent guest with no account required and connects directly over WebRTC. Instead of simply voting “available,” each person gets a limited backing budget to spend across the times they genuinely want. They can also mark conflicts as busy or maybe. Every action syncs live across the room. BACKED continuously compares the leader’s support against the backing that participants still have left to spend. Once the leader can no longer mathematically be caught, the room automatically locks the decision. If someone later marks a backed time as busy, that backing is automatically withdrawn. The result is a scheduling decision based on commitment, not checkbox availability, with the winning time and group reasoning preserved as a shared record.
- Models
- GPT-5.6 Sol
- Cost
- Built with ChatGPT. Exact token usage and per-build API cost were not exposed/tracked in the ChatGPT interface.
The starting repo depended on a competitor’s deployed Cloudflare Worker, so simply remixing the UI would have left us coupled to their infrastructure. I removed that backend and rebuilt multiplayer around WebRTC with a host-authoritative room model. The bigger product challenge was making the remix meaningfully different instead of producing a reskin. We replaced ordinary availability voting with a scarce commitment budget, added conflict states, automatic backing retraction, room purpose, deterministic tie handling, and an “inevitable winner” rule where a decision locks once the leader is mathematically uncatchable. I also separated the decision logic into a testable client-side core. The core scheduling tests pass, including budget limits, conflicts, automatic locking, ties, and conflict-triggered backing removal. The remaining WebRTC constraint is peer discovery: browsers cannot discover arbitrary peers on the internet with WebRTC alone, so PeerJS signaling is used only to establish connections while room data travels peer-to-peer.
0 comments