Skip to content

The tenth iteration of my personal website. Built with Astro, Tailwind CSS, Cloudinary and GitHub Actions.

active 2024-04-262026-06-15 (UTC)

Partial coverage16,100 / 20,090 hourly files (80%) · 2 absent upstream · 3,989 failed, retryable2024-04-262026-08-11 (UTC)— sampled evenly across the window, so rankings and trends hold; absolute counts scale up.
Events
701
Pushes
606
Pull requests
19
Issues
45
Stars
0
Forks
0

Activity over time

Daily event counts in the loaded window

Line chart, 781 days from 2024-04-26 to 2026-06-15. Pushes: 606 total, peak 36 in a day. Pull requests: 19 total, peak 4 in a day. Issues: 45 total, peak 8 in a day. Comments: 2 total, peak 1 in a day. Stars: 0 total, peak 0 in a day.

  • Pushes
  • Pull requests
  • Issues
  • Comments
  • Stars

Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.

Top contributors

Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity

ContributorContributionsPushesPRsComments
ooloth671606191
Copilot4000
claude[bot]1001

Recent activity

Latest issues, pull requests and releases

  • Issue#178ooloth2026-06-12 07:17
    fetchItunesItems Promise.all mapper discards all valid results when one item throws unexpectedly
  • Issue#163ooloth2026-06-05 06:14
    io/tmdb/fetchTmdbList.ts: fetch() calls have no timeout — a stalled TMDB server hangs the site build indefinitely
  • Issue#163ooloth2026-06-05 06:14
    io/tmdb/fetchTmdbList.ts: fetch() calls have no timeout — a stalled TMDB server hangs the site build indefinitely
  • Issue#163ooloth2026-06-05 06:14
    io/tmdb/fetchTmdbList.ts: fetch() calls have no timeout — a stalled TMDB server hangs the site build indefinitely
  • Issue#154ooloth2026-06-01 07:57
    claude.yml agent workflow grants only read permissions — agents cannot push code or open PRs
  • Issue#146ooloth2026-05-30 06:44
    determine-build-notification tests loop over 8 failure cases in one `it` — a failure doesn't name which case broke
  • Issue#146ooloth2026-05-30 06:44
    determine-build-notification tests loop over 8 failure cases in one `it` — a failure doesn't name which case broke
  • Issue#146ooloth2026-05-30 06:44
    determine-build-notification tests loop over 8 failure cases in one `it` — a failure doesn't name which case broke
  • Issue#132ooloth2026-05-27 06:51
    fetchTmdbList skips response.ok check — HTTP errors silently cache an empty result
  • Issue#125ooloth2026-05-24 06:39
    README opens with author perspective instead of a developer-oriented system description
  • Issue#118ooloth2026-05-23 07:35
    Post header shows only publish date — readers can't tell if technical content has been updated
  • Issue#115ooloth2026-05-23 06:55
    `PostList` mock calls `getPosts` as a side-effect to enable call-count assertions — tests verify internal wiring, not rendered output
  • Issue#115ooloth2026-05-23 06:55
    `PostList` mock calls `getPosts` as a side-effect to enable call-count assertions — tests verify internal wiring, not rendered output
  • Issue#113ooloth2026-05-22 07:27
    Single Notion block fetch failure aborts entire RSS feed generation
  • Issue#113ooloth2026-05-22 07:27
    Single Notion block fetch failure aborts entire RSS feed generation
  • Issue#113ooloth2026-05-22 07:27
    Single Notion block fetch failure aborts entire RSS feed generation
  • Issue#31ooloth2026-05-21 03:45
    Fix wrong variable name in README.invariant.md "Documenting Complete Mapping" example
  • Issue#105ooloth2026-05-20 07:22
    Document why iTunes artwork is proxied through Cloudinary fetch in fetchItunesItems
  • Issue#98ooloth2026-05-20 06:52
    fetchTmdbList initializes totalPages to 999 with no guard against a missing first-response value
  • Issue#91ooloth2026-05-20 06:16
    Derive `CloudinaryImageMetadata` from `CloudinaryImageMetadataSchema` to eliminate dual-declaration
  • Issue#90ooloth2026-05-20 06:16
    Add explicit return-type annotations to `NotionBlocks` and `JsonLdScript` exported components
  • Issue#90ooloth2026-05-20 06:16
    Add explicit return-type annotations to `NotionBlocks` and `JsonLdScript` exported components
  • Issue#90ooloth2026-05-20 06:16
    Add explicit return-type annotations to `NotionBlocks` and `JsonLdScript` exported components
  • Issue#90ooloth2026-05-20 06:16
    Add explicit return-type annotations to `NotionBlocks` and `JsonLdScript` exported components
  • Issue#89ooloth2026-05-20 06:16
    Replace duck-type check in `likes-row.tsx` with a discriminated union on `TmdbItem` and `iTunesItem`

Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 0 stars here means stars gained during the window, not the repo's star count.