$ account Atarity
This repository is a curated directory of self-hosted, open-source alternatives to popular SaaS products (VPN, photo hosting, cloud storage, email, chat, notes, password managers, kanban, etc.). The primary deliverable, README.md, is not hand-maintained: it is generated by readme-gen.py from a structured JSON dataset (dyos-db.json) containing roughly 180 projects grouped into ~37 service categories. Each project record stores name, description, GitHub URL, site URL, star count, last-push timestamp, and an ETag cache key. The repo answers: 'What self-hosted services exist for any given SaaS category, and how actively maintained is each option?' A GitHub Actions cron (maintenance.yml) runs daily. keep-alive.py iterates every GitHub-hosted project, queries the GitHub REST API for current star counts and pushed_at dates, and uses If-None-Match/ETag conditional requests so unchanged repos return cheap HTTP 304 responses - a genuinely thoughtful pattern that avoids rate-limit exhaustion across ~150 repos. Results are written back to dyos-db.json, then readme-gen.py regenerates the README with relative recency labels (🟢 under a month, 🟠 under a year, 🔴 older) and per-category star sorting. Both scripts use only the Python standard library, so the dependency surface is zero. Hybrid note: although it contains application-style CLI automation scripts, the dominant character is data curation - the JSON dataset and its rendered markdown output are the product, not the scripts. Data lineage is GitHub API plus manual community submissions (via the issue template) into dyos-db.json, transformed into README.md. Reproducibility is high: cloning and running readme-gen.py regenerates the README offline with no dependencies; keep-alive.py needs only a GitHub token loaded from environment or .env. The codebase is small, has no tests, and its value lies in the curated data and the clean maintainability tooling rather than in complex engineering.