You are browsing as a guest. Sign up (or log in) to start making projects!

10h 34m 34s logged

hackfetch COLLAB?? :yay:

so my last two devlogs teased two features. shipping both today.

-leaderboard

last devlog i said “compete with your friends on hackatime hours is coming soon.” i thought i was gonna have to build a whole nest server for it. turns out /api/v1/leaderboard/daily and /api/v1/leaderboard/weekly already exist and are public on hackatime. just a single call!! :dance_catgirl:

so hackfetch -leaderboard daily (or weekly) now shows the top 10:

✦ daily leaderboard Last 24 hours

🥇  1. soaphia14                11h 12m
🥈  2. AnastKara               10h 32m
🥉  3. RoSerMar                10h 6m
      4. euledone                 10h
      5. TheShovel               10h
      6. Dylhouse                 9h 1m
      7. Dexrn                         8h 59m
      8. HexFud                     8h 31m
      9. zeddash                   8h 29m
     10. Trtotomotoro        8h 26m

every username is an OSC 8 clickable link to that person’s hackatime profile. modern terminals (iterm2, kitty, wezterm, alacritty, gnome-terminal) render it as an actual hyperlink you can click. terminals without OSC 8 just show the plain text so it doesnt look broken.

if you’re on the board it highlights your row in orange and adds (you) next to your name.

json addon

the other thing. someone else competing in stardance messaged me the other day about integrating hackatime into their own project and needed help figuring out the api (YAY). helping them made me realize hackfetch is doing a bunch of work (auth, caching, streak reconstruction, per-day bucketing) that other tools would love to piggyback on. so now:

$ hackfetch -json
{
  "version": "2",
  "fetched_at": "2026-07-25T17:00: 20.900829+05:30",
  "system": {
    "user": "xerneas",
    "host": "Macbook-Pro",
    "os": "macOS 26.5.2",
    ...
  },
  "hackatime": {
    "slack": "@U0B8FHHRQPJ",
    "streak": 12,
    "today_seconds": 15820,
    "week_seconds": 237501,
    "top_project": { "name": "hackfetch", "
    "top_language": { "name": "Go", "seconds": 97418 },
    "week_chart": [36967, 31651, 33841, 284
    "machines": 3
  }
}

week_chart is 7 numbers = daily seconds oldest to newest same as the sparkline. top_language skips the unknown/other buckets. everything lines up with what the normal fetch would show, just parseable. :miku-spin:

ship

landed in v2.1.0.

brew update && brew upgrade hackfetch

or arch:

yay -Syu hackfetch-bin

then try:

hackfetch -leaderboard weekly
hackfetch -json | jq

For a general install use:
curl -fsSL https://raw.githubusercontent.com/xerneas3318/hackfetch/main/install.sh | sh

0
28

Comments 3

@f

might install wsl just to use this looks fire

@xerneas

@f as long as nothing has exploded since i last tested it (i tried it like once) it is technically compatible with windows. some things might not work perfectly like -watch and -status purely bc I haven’t tested it. If you end up using it please let me know if there are any problems. dm me xerneas3318 on discord :)

irm https://raw.githubusercontent.com/xerneas3318/hackfetch/main/install.ps1 | iex

@water

peak project twin!! keep it going!