{"id":31777811,"url":"https://github.com/opensource-observer/ethglobal-sf-2024","last_synced_at":"2025-10-10T06:20:30.668Z","repository":{"id":258770249,"uuid":"875108565","full_name":"opensource-observer/ethglobal-sf-2024","owner":"opensource-observer","description":"Auto Retro Funding - continuous, simple, automatic","archived":false,"fork":false,"pushed_at":"2024-10-30T16:40:08.000Z","size":9058,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-30T17:34:07.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://retrofunding.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opensource-observer.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-10-19T05:50:45.000Z","updated_at":"2024-10-30T16:40:13.000Z","dependencies_parsed_at":"2024-10-21T21:33:42.290Z","dependency_job_id":null,"html_url":"https://github.com/opensource-observer/ethglobal-sf-2024","commit_stats":null,"previous_names":["opensource-observer/ethglobal-sf-2024"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/opensource-observer/ethglobal-sf-2024","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensource-observer%2Fethglobal-sf-2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensource-observer%2Fethglobal-sf-2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensource-observer%2Fethglobal-sf-2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensource-observer%2Fethglobal-sf-2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opensource-observer","download_url":"https://codeload.github.com/opensource-observer/ethglobal-sf-2024/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensource-observer%2Fethglobal-sf-2024/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002970,"owners_count":26083488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":[],"created_at":"2025-10-10T06:20:28.376Z","updated_at":"2025-10-10T06:20:30.663Z","avatar_url":"https://github.com/opensource-observer.png","language":"TypeScript","readme":"# ethglobal-sf-2024\n\n\u003e [!NOTE]\n\u003e This project was created during the\n\u003e [`ETHGlobal SF 2024`](https://ethglobal.com/events/sanfrancisco2024)\n\u003e hackathon.\n\n**AutoRF** is [retro funding](https://retrofunding.optimism.io) made simple.\nProject impact metrics are regularly indexed, which is used to configure\non-chain [splits](https://splits.org) contracts to reward projects over regular\nsettlement periods. We launched “The Grinder’s Fund”, to reward the hardest\nworking projects at\n[ETHGlobal SF](https://ethglobal.com/events/sanfrancisco2024).\n\n## How it's made\n\nThe application consists of 4 major components:\n\n- Web Application\n- AutoRF SDK\n- Server-side Cron Jobs\n- OnChain Funding Contracts\n\n### Web Application\n\nThe application is built with Next.js and Supabase. Users authenticate via\nGitHub OAuth, which allows them to verify their permissions for committing to\nrepositories.\n\nWithin the app, users can manage funding pools by creating new ones, editing\nexisting ones, or joining current pools to track their progress.\n\nWe also implemented a referral link system to facilitate project promotion and\nincrease sign-ups for funding pools.\n\n![](./assets/web_landing.png)\n\n### AutoRF SDK\n\nWe created a [JavaScript package](./packages/sdk/) to handle tasks related to\nfunding pools, such as:\n\n- Minting project registration attestations on-chain with the\n  [Sign protocol](https://docs.sign.global)\n- Gathering data needed to calculate a project's impact metrics\n- Creating a funding pool using [0xSplits](https://splits.org) contracts\n- Setting the split contract weights based on project impact\n- Allowing funding distribution for a specific period\n\n### Server-side Cron Jobs\n\nWe have a server-side cron job that runs every week to calculate the impact\nmetrics of each project, using our SDK. The metrics are then used to update the\nsplit contract weights for each project in the funding pool.\n\n![](./assets/cron_job.png)\n\n### OnChain Funding Contracts\n\nWe use 0xSplits contracts for funds custody and distribution. We plan to support\nother money streaming protocols in the future, such as `Drips` and `Superfluid`.\n\n![](./assets/split_overview.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensource-observer%2Fethglobal-sf-2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensource-observer%2Fethglobal-sf-2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensource-observer%2Fethglobal-sf-2024/lists"}