{"id":20909794,"url":"https://github.com/gusruben/doubloon-dynamics","last_synced_at":"2026-04-14T01:31:38.601Z","repository":{"id":263053493,"uuid":"887422482","full_name":"gusruben/doubloon-dynamics","owner":"gusruben","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-03T01:31:58.000Z","size":146,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T17:52:46.636Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://doubloon-dynamics.gus.ink","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gusruben.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-12T18:04:55.000Z","updated_at":"2025-02-03T01:40:29.000Z","dependencies_parsed_at":"2025-12-29T02:10:28.072Z","dependency_job_id":null,"html_url":"https://github.com/gusruben/doubloon-dynamics","commit_stats":null,"previous_names":["gusruben/doubloon-dynamics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gusruben/doubloon-dynamics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fdoubloon-dynamics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fdoubloon-dynamics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fdoubloon-dynamics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fdoubloon-dynamics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gusruben","download_url":"https://codeload.github.com/gusruben/doubloon-dynamics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fdoubloon-dynamics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31778580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"ssl_error","status_checked_at":"2026-04-14T00:10:29.837Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2024-11-18T14:12:52.347Z","updated_at":"2026-04-14T01:31:38.542Z","avatar_url":"https://github.com/gusruben.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doubloon Dynamics\n\n\n**Doubloon Dynamics** is a tool for calculating how High Seas (and other past \u0026 future Hack Club programs) projects will match up against each other when voting. Currently it includes 2 tools: a matchup calculator and a table of how matchups work.\n\nThe site is currently live at [doubloon-dynamics.gus.ink](https://doubloon-dynamics.gus.ink/)!\n\n## How ELO Works\n\nHigh Seas stores an [ELO](https://en.wikipedia.org/wiki/Elo_rating_system) (a sort of rating) for every single ship. ELO starts off at 1100, but this increases or decreases due to positive or negative votes. The ELO of the opposing project also counts, for example: if one project has a very high ELO (i.e. it's a good project), and another project beats it, the other project will gain more than if it beat a project with a low ELO.\n\n### ELO Formula\n\n```math\nR'_w = R_w + K(1 - \\frac{1}{1 + 10^{(R_l - R_w)/400}})\n```\n```math\nR'_l = R_l + K(0 - (1 - \\frac{1}{1 + 10^{(R_l - R_w)/400}}))\n```\n\nWhere $`R_w`$ is the score of the project that won the vote and $`R_l`$ is the score of the project that lost the vote.\n\n## Matchup Calculator\n\nThe matchup calculator takes in the ELO of 2 projects and uses the algorithm from High Seas to calculate the *new* ELO of both projects.\n\n![image](https://github.com/user-attachments/assets/b40468d1-02a2-4bda-a174-bd87afb47bb5)\n\n## Rating Change Table\n\nThe rating change table shows how the difference in ELO of 2 projects affects the resulting ELO change. Each row on the table represents a difference in ELO, along with a corresponding change in ELO. The winning project *gains* that amount of ELO and the losing project *loses* that amount of ELO.\n\n![image](https://github.com/user-attachments/assets/28d1eed8-24b5-4ae9-8c7b-e36381a354a3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgusruben%2Fdoubloon-dynamics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgusruben%2Fdoubloon-dynamics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgusruben%2Fdoubloon-dynamics/lists"}