{"id":22744272,"url":"https://github.com/tommasoamici/multiplayer-whiteboard","last_synced_at":"2026-05-04T03:31:45.116Z","repository":{"id":247201631,"uuid":"825239209","full_name":"TommasoAmici/multiplayer-whiteboard","owner":"TommasoAmici","description":"A very minimal example of a Figma-like/Miro-like multiplayer collaborative board using WebSockets.","archived":false,"fork":false,"pushed_at":"2024-07-08T08:22:05.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-01T14:52:37.511Z","etag":null,"topics":["bun","cursors","multiplayer","websocket","whiteboard"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TommasoAmici.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-07T08:06:27.000Z","updated_at":"2024-07-08T08:22:08.000Z","dependencies_parsed_at":"2024-07-08T10:33:57.446Z","dependency_job_id":null,"html_url":"https://github.com/TommasoAmici/multiplayer-whiteboard","commit_stats":null,"previous_names":["tommasoamici/multiplayer-cursors","tommasoamici/multiplayer-whiteboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TommasoAmici/multiplayer-whiteboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TommasoAmici%2Fmultiplayer-whiteboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TommasoAmici%2Fmultiplayer-whiteboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TommasoAmici%2Fmultiplayer-whiteboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TommasoAmici%2Fmultiplayer-whiteboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TommasoAmici","download_url":"https://codeload.github.com/TommasoAmici/multiplayer-whiteboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TommasoAmici%2Fmultiplayer-whiteboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32593765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bun","cursors","multiplayer","websocket","whiteboard"],"created_at":"2024-12-11T01:44:56.541Z","updated_at":"2026-05-04T03:31:45.101Z","avatar_url":"https://github.com/TommasoAmici.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# multiplayer-whiteboard\n\n\u003chttps://github.com/TommasoAmici/multiplayer-cursors/assets/424525/609bb1fb-4ea7-486f-bfe6-913d4578ba1c\u003e\n\nA very minimal example of a Figma-like/Miro-like multiplayer collaborative board\nusing WebSockets.\n\nThis small example uses Bun to run a server to hold the WebSocket connections\nand to serve the client files.\n\nA cool thing that Bun makes possible is bundling TypeScript on the fly before\nsending it to the browser. Obviously, in production you'd want to either\nprecompile or cache the compiled files, but for small stuff it's great.\n\nAnother cool thing is using React JSX to generate the HTML.\n\n## Running\n\nTo install dependencies:\n\n```bash\nbun install\n```\n\nTo run:\n\n```bash\nbun run server/index.tsx\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommasoamici%2Fmultiplayer-whiteboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftommasoamici%2Fmultiplayer-whiteboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommasoamici%2Fmultiplayer-whiteboard/lists"}