{"data":{"slug":"pbatch-camerachessweb","name":"CameraChessWeb","tagline":"Record a chess game live and upload the PGN to Lichess","github_url":"https://github.com/Pbatch/CameraChessWeb","owner":"Pbatch","repo":"CameraChessWeb","owner_avatar_url":"https://avatars.githubusercontent.com/u/37177749?v=4","primary_language":"TypeScript","stars":264,"forks":39,"topics":["ai","chess","chess-ai","chess-board","computer-vision","edge-computing","machine-learning","tensorflowjs","yolov8"],"archived":false,"github_pushed_at":"2026-07-10T21:20:48+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/pbatch-camerachessweb","markdown_url":"https://www.graphcanon.com/tools/pbatch-camerachessweb.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/pbatch-camerachessweb","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=pbatch-camerachessweb","description":"Record a chess game live and upload the PGN to Lichess","homepage_url":"https://www.chesscam.net","license":"AGPL-3.0","open_issues":8,"watchers":6,"ai_summary":null,"readme_excerpt":"<div align=\"center\">\n\n📌 This app is under active development and may experience minor issues.  \nPlease report any bugs on Discord, and we will fix them promptly.\n\n<table>\n  <tr>\n    <td align=center>\n      <img src=\"https://github.com/user-attachments/assets/f7e73c25-36f6-42b7-aae9-e970e7bcebeb\" alt=\"ChessCam\" width=\"512\">\n    </td>\n  </tr>\n</table>\n\n\n\n\nReplace Chess eBoards with your phone camera using ChessCam (https://www.chesscam.net).\n\nDo you have ideas, bugs to report or training footage? Join our [Discord Server](https://discord.gg/3yQth8YBp8).\n\n</div>\n\n## Demo\n[<img src=\"https://raw.githubusercontent.com/wiki/Pbatch/CameraChessWeb/images/thumbnail.png\" width=\"100%\">](https://youtu.be/AAs4EX372bc)\n\n## Roadmap\n\n* Raise an alert when an illegal move is played (currently they're just ignored)\n* Add sounds for the opponents moves in \"/play\"\n* Add support for variants\n* Develop a testing framework for different board + piece sets\n* ... Your next big idea?\n\n## Models, Data, Reports and Scripts\n\nPlease post in the Issues tab if you need any help with:\n* Running inference\n* Exporting models to different formats\n* Training on data of varying resolutions (I.e. 640x640)\n* etc. etc.\n\n### Pieces\n\n| Name | Description | Link |\n| :---: | :---: | :---: |\n| 480M_leyolo_pieces.onnx | LeYOLO ONNX model| https://drive.google.com/file/d/1-80xp_nly9i6s3o0mF0mU9OZGEzUAlGj/view?usp=sharing |\n| 480M_leyolo_pieces.pt | LeYOLO pt model | https://drive.google.com/file/d/1L6PZbSdT-peCmiJGNwmgHJN5MTpfAM-0/view?usp=sharing |\n| pieces.tar.gz | Train/test data in YOLOv5 format | https://drive.google.com/file/d/12-Y3AJckAsFiDTlhQV8R50AK5ilM0s_Z/view?usp=sharing |\n| Report | Weights & Biases report from the LeYOLO training run | https://api.wandb.ai/links/pbatch/g2rcvycv |\n\n### Xcorners\n\n| Name | Description | Link |\n| :---: | :---: | :---: |\n| 480L_leyolo_xcorners.onnx | LeYOLO ONNX model | https://drive.google.com/file/d/1-2wodbiXag9UQ44e2AYAmoRN6jVpxy83/view?usp=sharing |\n| 480L_leyolo_xcorners.pt | LeYOLO pt model | https://drive.google.com/file/d/173orSe8eaytN8nin_HOvd2sEfP_wtOUW/view?usp=sharing |\n| xcorners.tar.gz | Train/test data in YOLOv5 format | https://drive.google.com/file/d/15Liy-vMcujSZak4YRPeC2TpVjIA3AwVM/view?usp=sharing |\n| Report | Weights & Biases report from the LeYOLO training run | https://api.wandb.ai/links/pbatch/ziwur3gr |\n\n### Google Colab scripts\n\n* LeYOLO Training + ONNX export - https://gist.github.com/Pbatch/dccc680ac2f852d4f258e4b6f1997a7b\n* TFJS export - https://gist.github.com/Pbatch/46d958df7e0363e42561bda50163a57a\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\n\n\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ConorShepherd\"><img src=\"https://avatars.githubusercontent.com/u/75845466?v=4?s=100\" width=\"100px;\" alt=\"Conor Shepherd\"/><br /><sub><b>Conor Shepherd</b></sub></a><br /><a href=\"#research-ConorShepherd\" title=\"Research\">🔬</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tdr24008\"><img src=\"https://avatars.githubusercontent.com/u/109679977?v=4?s=100\" width=\"100px;\" alt=\"tdr24008\"/><br /><sub><b>tdr24008</b></sub></a><br /><a href=\"#research-tdr24008\" title=\"Research\">🔬</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/DakshHandeCode\"><img src=\"https://avatars.githubusercontent.com/u/153603746?v=4?s=100\" width=\"100px;\" alt=\"DakshHandeCode\"/><br /><sub><b>DakshHandeCode</b></sub></a><br /><a href=\"#design-DakshHandeCode\" title=\"Design\">🎨</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ChessScholar\"><img src=\"https://avatars.githubusercontent.com/u/65353254?v=4?s=100\" width=\"100px;\" alt=\"ChessScholar\"/><br /><sub><b>ChessScholar</b></sub></a><br /><a href=\"https://github.com/Pbatch/CameraChessWeb/issues?q=author%3AChessScholar\" title=\"Bug reports\">🐛</a></td>","github_created_at":"2023-06-28T23:07:09+00:00","created_at":"2026-07-11T12:32:33.762673+00:00","updated_at":"2026-07-11T12:32:45.158499+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"chess","name":"chess"},{"slug":"chess-ai","name":"chess-ai"},{"slug":"chess-board","name":"chess-board"},{"slug":"computer-vision","name":"computer-vision"},{"slug":"edge-computing","name":"edge-computing"},{"slug":"machine-learning","name":"machine-learning"},{"slug":"tensorflowjs","name":"tensorflowjs"}],"trust":{"provenance":{"is_fork":false,"github_id":659945744,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T12:32:36.600Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":0,"last_release_at":null},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:32:42.388Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-07-11T12:32:38.739Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:32:38.739Z"},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-07-11T12:32:38.739Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-07-11T12:32:38.739Z"},"license_spdx":{"value":"AGPL-3.0","source":"github.license","observed_at":"2026-07-11T12:32:38.739Z"}}}}