A well-known project done right. Strong docs and solid engineering throughout.

Your favorite self-hostable alternative to Google Timeline (Google Location History)

Documentation

94

Contributing guide5pt61

Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.

Add setup instructions, code style notes, and how to run tests.

README12pt100

README is present.

Install and run instructions9pt100

README documents how to install the project.

License6pt100

Licensed under AGPL-3.0.

Engineering

93

Tests18pt80

Test files detected (spec).

CI/CD14pt100

CI is configured (.github/workflows/build_and_push.yml).

Linting and formatting5pt100

Ruby linting configured (.rubocop.yml).

Reproducibility6pt100

Lockfile present (Gemfile.lock). Installs are reproducible.

Issue and PR templates6pt100

Issue or PR templates present.

Project health

94

Housekeeping3pt60

.gitignore present.

Dependency manifest6pt100

Dependency manifest found (Gemfile).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Repository files50 root entries
  • .circleci
  • .devcontainer
    Good: Environment pinned via .devcontainer/Dockerfile.
  • .github
    Good: CI is configured (.github/workflows/build_and_push.yml).
    Good: Dependabot covers 3 ecosystems (bundler, docker, github-actions). Dependencies stay current.
    Good: Issue or PR templates present.
  • app
  • bin
  • config
  • db
  • docker
  • docs
    Issue: Build artifacts or local files may be committed (docs/synology/.env) (−40 pts).Fix: Remove them and add to .gitignore.
  • lib
  • log
  • public
  • screenshots
  • spec
    Good: Test files detected (spec).
  • storage
  • swagger
  • tmp
  • vendor
  • .app_version
  • .dockerignore
  • .env.development
  • .env.example
  • .env.test
  • .gitattributes
  • .gitignore
    Good: .gitignore present.
  • .onedev-buildspec.yml
  • .rspec
  • .rubocop.yml
    Good: Ruby linting configured (.rubocop.yml).
  • .ruby-version
  • AGENTS.md
  • app.json
  • biome.json
  • CHANGELOG.md
  • CLAUDE.md
  • config.ru
  • CONTRIBUTING.md
    Issue: Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.Fix: Add setup instructions, code style notes, and how to run tests.
    Issue: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.
    Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them.
    Issue: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
    Good: Contributing guide describes the PR/review workflow.
    Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
  • DEVELOPMENT.md
  • Gemfile
    Good: Dependency manifest found (Gemfile).
  • Gemfile.lock
    Good: Lockfile present (Gemfile.lock). Installs are reproducible.
  • LICENSE
    Good: Licensed under AGPL-3.0.
  • package-lock.json
  • package.json
  • playwright.config.js
  • Procfile
  • Procfile.dev
  • Procfile.production
  • Procfile.prometheus.dev
  • Rakefile
  • README.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Good: README includes screenshots or visuals. Great for first impressions.
    Good: README has code examples.
    Good: README links to a live demo or deployed app.
    Good: README includes status badges.
    Good: README documents how to install the project.
    Good: README documents how to run the project.
  • SECURITY-SCANNING.md