/

latester/release tracker

what it is

latester watches GitHub repositories and shows the latest release for each one. no notifications, no noise — just the version and the download URL, always fresh.

how it works

a config file declares the repos to watch. the fetcher polls the GitHub Releases API periodically and writes to a local cache. the UI reads from that cache on each page load.

fetch flow

flowchart TD A[Start: Input Repo e.g., 'opentofu/opentofu'] --> B[Sanitize Name: 'opentofu_opentofu'] B --> C[Check/Create 'cache/' folder] C --> D{Does file\ncache/REPO.json\nexist?} D -- No --> E[Standard API Call] D -- Yes --> F{File age\n< 24 hours?} F -- Yes --> G[Read local JSON] F -- No --> H[API Call with\nIf-None-Match header] H --> I{HTTP Response} I -- "304 (Not Modified)" --> J[Update cache\nfile timestamp] J --> G I -- "200 (OK)" --> K[Save New JSON\n& New Specific ETag] K --> G E --> K G --> L[End: Display version] style G fill:#1a2e22,stroke:#56a870,color:#56a870 style H fill:#241c08,stroke:#c07818,color:#d08c28 style E fill:#251414,stroke:#b03030,color:#d06060

stack

  • Go + goWebFlow — server, routing, templates
  • Vite — vanilla JS, no framework
  • Bootstrap Icons — SVG sprite, no CSS dependency
  • Mermaid — flowchart rendering
← back to tracker