{"id":30715884,"url":"https://github.com/gethopp/hopp","last_synced_at":"2026-05-21T13:01:37.801Z","repository":{"id":311345830,"uuid":"1027121382","full_name":"gethopp/hopp","owner":"gethopp","description":"The best OSS remote pair programming app.","archived":false,"fork":false,"pushed_at":"2026-05-17T14:24:36.000Z","size":58699,"stargazers_count":577,"open_issues_count":49,"forks_count":38,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-05-17T16:41:03.213Z","etag":null,"topics":["golang","multi-cursor","oss","pair-programming","remote-control","rust","screen-sharing","self-hosted","tailwindcss","tauri","typescript","webrtc"],"latest_commit_sha":null,"homepage":"https://www.gethopp.app","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gethopp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-07-27T11:07:40.000Z","updated_at":"2026-05-17T14:24:37.000Z","dependencies_parsed_at":"2025-10-15T20:05:02.335Z","dependency_job_id":"6ce826cd-63e1-490b-a8e4-076f11a93d4e","html_url":"https://github.com/gethopp/hopp","commit_stats":null,"previous_names":["gethopp/hopp"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/gethopp/hopp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gethopp%2Fhopp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gethopp%2Fhopp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gethopp%2Fhopp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gethopp%2Fhopp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gethopp","download_url":"https://codeload.github.com/gethopp/hopp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gethopp%2Fhopp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33301474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"ssl_error","status_checked_at":"2026-05-21T12:22:11.673Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","multi-cursor","oss","pair-programming","remote-control","rust","screen-sharing","self-hosted","tailwindcss","tauri","typescript","webrtc"],"created_at":"2025-09-03T07:03:25.181Z","updated_at":"2026-05-21T13:01:37.796Z","avatar_url":"https://github.com/gethopp.png","language":"Rust","funding_links":[],"categories":["Rust","Tools","Applications"],"sub_categories":["Audio \u0026 Video"],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Hopp\n\nOpen source screen sharing built for developers. Pair program with sub-100ms latency. The OSS Tuple alternative.\n\n\u003cimg src=\"./docs/src/assets/banner.png\" alt=\"Hopp\" /\u003e\n\n[Website](https://gethopp.app) · [Download](https://github.com/gethopp/hopp/releases/latest) · [Sign up](https://pair.gethopp.app/login) · [Docs](https://docs.gethopp.app) · [Self-host](#self-host) · [Discord](https://discord.gg/TKRpS3aMn9) · [Twitter](https://x.com/gethopp_app)\n\n[![Discord](https://img.shields.io/discord/1348693269013467167?color=7289da\u0026label=Discord\u0026logo=discord\u0026logoColor=ffffff)](https://discord.gg/TKRpS3aMn9)\n[![License](https://img.shields.io/github/license/gethopp/hopp)](https://github.com/gethopp/hopp/blob/main/LICENSE.md)\n![Powered by LiveKit](https://img.shields.io/badge/powered-by%20LiveKit-blue.svg?labelColor=212121\u0026logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzQyODRfMzM1ODUpIj4KPHBhdGggZD0iTTE0LjQwMDQgOS41OTk2MUg5LjU5OTYxVjE0LjQwMDRIMTQuNDAwNFY5LjU5OTYxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE5LjIwMTEgNC44MDA3OEgxNC40MDA0VjkuNjAxNTNIMTkuMjAxMVY0LjgwMDc4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE5LjIwMTEgMTQuNDAwNEgxNC40MDA0VjE5LjIwMTFIMTkuMjAxMVYxNC40MDA0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTI0IDBIMTkuMTk5MlY0LjgwMDc1SDI0VjBaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjQgMTkuMTk5MkgxOS4xOTkyVjI0SDI0VjE5LjE5OTJaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNC44MDA3NSAxOS4xOTkyVjE0LjQwMDRWOS41OTk2MlY0LjgwMDc1VjBIMFY0LjgwMDc1VjkuNTk5NjJWMTQuNDAwNFYxOS4xOTkyVjI0SDQuODAwNzVIOS41OTk2M0gxNC40MDA0VjE5LjE5OTJIOS41OTk2M0g0LjgwMDc1WiIgZmlsbD0id2hpdGUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF80Mjg0XzMzNTg1Ij4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)\n[![Pairing with Hopp](https://gethopp.app/git/hopp-shield.svg?ref=hopp-repo)](https://gethopp.app)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/src/assets/demo.gif\" alt=\"Hopp pair programming demo\" width=\"800\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/src/assets/view.png\" alt=\"Hopp screen sharing quality\" width=\"800\" /\u003e\n\u003c/p\u003e\n\nHopp is an open source pair programming app and screen sharing tool built for developers. Whether you're looking for a Tuple alternative for remote pair programming, a self-hosted solution for your team, or an open source Pop / Drovio / Coscreen alternative — Hopp delivers sub-100ms latency with native desktop performance. Built on Tauri and Rust, with WebRTC infrastructure powered by [LiveKit](https://livekit.io).\n\n## Try Hopp\n\n1. **Download the desktop app** — [macOS (stable)](https://github.com/gethopp/hopp/releases/latest) or [Windows (alpha)](https://github.com/gethopp/hopp/releases/latest)\n2. **Pick your backend**:\n   - **Managed cloud** — [sign up at gethopp.app](https://gethopp.app) (14 days free trial)\n   - **Self-host** — run your own backend, no sign up needed, see [Self-host](#self-host) below\n3. **Click your teammate and start pairing** — no link sharing, no setup\n\n## Why Hopp\n\n- ⚡ **Latency-tuned WebRTC** — [We optimised WebRTC](https://gethopp.app/blog/latency-exploration) for the best screen sharing experience\n- 👥 **Mob programming up to 10** — join a room and start pairing instantly\n- 🔗 **One-click pairing** — no more sharing links over chat\n- 🖥️ **Native desktop** — Tauri + Rust, low CPU overhead\n- 🪟 **Open source + self-hostable** — full source, run it on your own infra\n\n## Self-host\n\n```bash\ngit clone https://github.com/gethopp/hopp.git\ncd hopp/selfhost\ncp .env.example .env   # edit DOMAIN + secrets\ndocker compose up -d   # for localhost see full guide in selfhost/README.md\n```\n\nIncludes Postgres, Redis, LiveKit, and Caddy auto-TLS. Full guide: [docs.gethopp.app/open-source/self-hosting](https://docs.gethopp.app/open-source/self-hosting/).\n\n## Paid Cloud supports development\n\nHopp is independent and funded by Cloud subscribers. The managed plan at [gethopp.app](https://gethopp.app) gives you Hopp without the ops, and every subscription pays for further development of the OSS app you're reading about.\n\n## Supported Platforms\n\n**macOS** (stable) · **Windows** (alpha) · **Linux** (planned)\n\n## Roadmap\n\n- [ ] Dynamic codec selection + adaptive streaming resolution\n- [ ] Key bindings\n- [ ] Linux support\n- [ ] Windows full support\n\n## Repo map\n\n| Path | What |\n| --- | --- |\n| `tauri/` | Desktop app shell (Tauri + React/TS) |\n| `core/` | Screen capture + WebRTC engine (Rust, `hopp_core`) |\n| `backend/` | API server (Go + Postgres + Redis) |\n| `web-app/` | Web dashboard (React/Vite) |\n| `livekit-local-server/` | Dev LiveKit config |\n| `selfhost/` | Docker Compose self-host stack |\n\nBuilt on Tauri (Rust) + React/TS desktop, Go backend, LiveKit WebRTC.\n\n## 📚 Documentation\n\n- [Official Documentation](https://docs.gethopp.app)\n- [Core process docs](/core/README.md)\n- [Local development guide](https://docs.gethopp.app/quick-start/local-development/prerequisites/)\n\n## 🌐 Community \u0026 Support\n\n- Join our [Discord community](https://discord.gg/TKRpS3aMn9)\n- Follow us on [Twitter](https://x.com/gethopp_app)\n\n---\n\n⭐ **Star us if you'd like Hopp to keep growing!**\n\nLicensed under [LICENSE.md](https://github.com/gethopp/hopp/blob/main/LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgethopp%2Fhopp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgethopp%2Fhopp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgethopp%2Fhopp/lists"}