OpenRig - Peer to Peer donation based hardware sharing platform
This is a submission for Weekend Challenge: Generosity Edition What I Built I grew up teaching myself to code in Pakistan on hardware that struggled to run modern dev tools. GPU hours on Lambda Labs cost $0.50–$3/hr. For a student trying to fine-tune a model or run a training job, that's not accessible. OpenRig is a peer-to-peer compute sharing platform. Donors register their idle hardware and run a lightweight agent binary. Recipients describe what they need in plain English, get matched to the best available rig via Google Gemini AI, and receive SSH access — time-limited, isolated, and without ever touching the donor's actual machine. No money changes hands. You're donating the thing that actually matters: compute. Demo Here is the video link Full flow: Donor registers their rig → copies agent token → runs the agent binary Recipient browses available hardware → submits a request explaining why they need it Gemini scores the request 1–10 for social/educational impact Donor sees the impact score and reason → clicks Approve Agent spins up an isolated Docker container with SSH, starts a bore tunnel, reports the public connection command back to the backend Recipient gets an SSH command and password in their dashboard → connects Donor can revoke access at any time → container and tunnel torn down automatically Code Here is the code: OpenRig How I Built It The stack Backend: Go + Fiber v3, SQLite (GORM) Frontend: SvelteKit + Tailwind CSS Auth: Supabase (JWT verified on the backend via JWKS) AI matching: Google Gemini 3.6 Flash via Google Gen AI Golang sdk Tunneling: bore (open source TCP tunnel) Isolation: Docker with hardened security flags The hardest problem: giving strangers SSH access without exposing the donor's IP The naive approach — direct SSH — exposes the donor's home IP to whoever connects. That's a non-starter. The solution is a relay architecture. The donor's agent binary runs on their machine and maintains a persistent poll loop against the backend. When