{"id":48092907,"url":"https://github.com/connorads/stackoverflow-fanatic","last_synced_at":"2026-04-04T15:33:08.650Z","repository":{"id":37165958,"uuid":"339879967","full_name":"connorads/stackoverflow-fanatic","owner":"connorads","description":"Earn Stack Overflow's Fanatic Badge automagically using GitHub Actions 🏆","archived":false,"fork":false,"pushed_at":"2024-06-16T18:26:32.000Z","size":149,"stargazers_count":24,"open_issues_count":11,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-09T04:19:19.472Z","etag":null,"topics":["achievement-unlocker","actions","badge","fanatic","git","nodejs","playwright","stackoverflow","typescript"],"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/connorads.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2021-02-17T23:10:27.000Z","updated_at":"2025-07-17T19:49:52.000Z","dependencies_parsed_at":"2024-02-18T18:44:05.263Z","dependency_job_id":"f188b8b1-bb87-4305-961e-4ad89e0eba77","html_url":"https://github.com/connorads/stackoverflow-fanatic","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/connorads/stackoverflow-fanatic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorads%2Fstackoverflow-fanatic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorads%2Fstackoverflow-fanatic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorads%2Fstackoverflow-fanatic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorads%2Fstackoverflow-fanatic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/connorads","download_url":"https://codeload.github.com/connorads/stackoverflow-fanatic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connorads%2Fstackoverflow-fanatic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"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":["achievement-unlocker","actions","badge","fanatic","git","nodejs","playwright","stackoverflow","typescript"],"created_at":"2026-04-04T15:32:59.309Z","updated_at":"2026-04-04T15:33:08.321Z","avatar_url":"https://github.com/connorads.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stack Overflow Fanatic\n\n[![Become a Fanatic](https://github.com/connorads/stackoverflow-fanatic/actions/workflows/fanatic.yml/badge.svg)](https://github.com/connorads/stackoverflow-fanatic/actions/workflows/fanatic.yml)\n[![Tests](https://github.com/connorads/stackoverflow-fanatic/actions/workflows/ci.yml/badge.svg)](https://github.com/connorads/stackoverflow-fanatic/actions/workflows/ci.yml)\n[![MIT License](https://img.shields.io/github/license/connorads/stackoverflow-fanatic)](https://github.com/connorads/stackoverflow-fanatic/blob/master/LICENSE)\n\nEarn Stack Overflow's [Fanatic Badge](https://stackoverflow.com/help/badges/83/fanatic) automagically using GitHub Actions 🏆\n\n\u003e Fanatic: Visit the site each day for 100 consecutive days. (Days are counted in UTC.).\n\n_Not just for Stack Overflow. Should work with any StackExchange site that has a Fanatic Badge._\n\n## Instructions\n\n### Prerequisites\n\nYou need to [set a password for Stack Overflow](https://meta.stackoverflow.com/questions/285427/how-do-i-change-password-of-my-account).\n\n### Setup\n\n1. (_Optional_ 💕) ⭐ Star this repo\n2. Create a public or private repo from [this repo template](https://github.com/connorads/stackoverflow-fanatic/generate)\n3. Add your Stack Overflow credentials to your repo's GitHub Actions Secrets\n   - ⚙ Settings \u003e Secrets and variables \u003e Actions \u003e New repository secret\n     - `STACKOVERFLOW_EMAIL`\n     - `STACKOVERFLOW_PASSWORD`\n     - (_Optional_) `ALTERNATIVE_URL` (e.g. `https://superuser.com` or `https://serverfault.com/`)\n4. (_Optional_) Manually run the \"Become a Fanatic\" workflow\n   - ▶ Actions \u003e Become a Fanatic \u003e Run workflow\n\n### Usage\n\nOnce the setup has been completed then the workflow will run daily at 1am UTC, log into your Stack Overflow profile and record your Fanatic Badge progress.\n\nThere shouldn't be a need to monitor the workflow but if you look at the workflow logs or artifacts (screenshots) you can see the progress.\n\nSometime after you've earned the Fanatic Badge the scheduled workflow will stop running.\n\n## FAQ\n\n### Isn't this cheating to get something which is already a bit pointless?\n\nYes, but it was fun to make.\n\n### But why?\n\nNo good reason of course.\n\nI accidentally earned the [Enthusiast Badge](https://stackoverflow.com/help/badges/71/enthusiast) for visiting Stack Overflow for 30 consecutive days (how sad 🤓)\n\nI then hoped to earn the Fanatic Badge but I decided to not do any coding for one day (unforgivable 🤦‍♂️) and lost my progress 😭\n\nI found this [Meta Stack overflow question](https://meta.stackoverflow.com/questions/351223/is-it-allowed-to-make-a-simple-automatic-program-that-earns-you-the-fanatic-badg) on writing a program to earn the Fanatic Badge. Other people have done this before but they all required deploying to some infrastructure like Heroku or AWS. I asked myself _\"Could this be done with GitHub Actions?\"_ to which the answer seems to be _\"Yes, technically\"_.\n\nIt was also a good excuse to give [Playwright](https://playwright.dev/) a go.\n\n### Can I get banned from Stack Overflow for this?\n\n[Probably not](https://meta.stackoverflow.com/a/351224/4319653).\n\n### Isn't this against the GitHub Terms of Service?\n\nMaybe. Maybe not.\n\nAccording to the [GitHub Additional Product Terms](https://docs.github.com/en/github/site-policy/github-additional-product-terms#5-actions-and-packages):\n\n\u003e for example, don't use Actions ... as part of a serverless application\n\nBut then it goes on to say:\n\n\u003e but a low benefit Action could be ok if it’s also low burden\n\nAnd I would argue that this is low burden.\n\nThere are other repos such as [upptime](https://github.com/upptime/upptime) acting in a serverless application manner of far greater burden that seem to not get into any trouble.\n\n### Won't GitHub disable the scheduled workflow after 60 days?\n\nTo prevent the scheduled workflow from being [disabled automatically after 60 days of repository inactivity](https://docs.github.com/en/actions/managing-workflow-runs/disabling-and-enabling-a-workflow) the workflow will push some changes to the repo after [42](\u003chttps://simple.wikipedia.org/wiki/42_(answer)\u003e) days. 60 days later GitHub will disable the workflow which will be after you've earned your Fanatic Badge on day 100.\n\n\u003e Warning: To prevent unnecessary workflow runs, scheduled workflows may be disabled automatically. When a public repository is forked, scheduled workflows are disabled by default. In a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnorads%2Fstackoverflow-fanatic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnorads%2Fstackoverflow-fanatic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnorads%2Fstackoverflow-fanatic/lists"}