Skip to main content
  • v2.6.14
    Added
    • + Skills: Added a searchable publishing section for skill-file links, descriptions, provenance, tags, and personal notes.
    • + Notes: Added a comparison of the new Muse, Luna, and DeepSeek coding prices, including current subscription deals and an accompanying panic-button illustration.
    Changed
    • ~ Skills radar: Preserved the existing data-career visuali
  • v2.6.13
    Changed
    • ~ Status: Kept the public health summary focused on useful source availability and removed credential, runtime, cache, and raw error details.
    • ~ Quotes: Removed the internal fallback-provider label and corrected the page description.
    • ~ Footer: Made the copyright year follow the build year automatically.
  • v2.6.12
    Added
    • + Newsletter: Added a weekly, new-post-only digest with consented Netlify recipients, Resend delivery, duplicate suppression, test previews, and signed one-click unsubscribe links.
  • v2.6.11
    Changed
    • ~ Reading tracker: Renamed the learning progress interface and its controls around read and unread states.
    • ~ Support: Removed deployment configuration instructions from the public page.
  • v2.6.10
    Added
    • + Blog template: Added a newest-first changelog section for documenting post updates.
  • v2.6.9
    Added
    • + Agent IDE post: Added an updated tier list and pros/cons comparison for Ghostty, Zed, cmux, and the other evaluated workflows.
  • v2.6.8
    Changed
    • ~ Fonts: Added the self-hosted Caveat face for handwritten editorial annotations.
  • v2.6.7
    Added
    • + Guestbook: Synced five already-verified submissions and added verified-only and allowlisted approval modes to the guestbook skill.
    Fixed
    • Profile image
  • v2.6.6
  • v2.6.5
    Changed
    • ~ Centrali
  • v2.6.4
  • v2.6.3
  • v2.6.2
  • v2.6.1
    Added
    • + Projects: Added data-driven Current work and Coming soon sections with status cards.
    • + Projects: Added visual thumbnails and repository artwork for selected projects.
  • v2.6.0
    Added
    • + Support: Added a metadata-driven support page and call-to-action with a safe setup state until an external support URL is configured.
    • + Newsletter: Added a sticky subscribe action, homepage email form, and privacy-friendly Redis submission metrics.
    • + Snippets and learning: Added browser-local snippet favorites and learning progress controls.
    • + Monitoring: Added sampled Core Web Vitals collection and a monthly Lighthouse workflow.
    • + Internationali
    Changed
    • ~ Home: Simplified Site Index hover states to a quiet title-color shift while retaining a clear keyboard focus outline.
    • ~ Internationali
  • v2.5.1
    Added
    • + Lexicon: Added "The IKEA Effect" entry with illustration.
    • + Memes: Imported 6 new AI memes to the folio.
    • + Vibes: Imported `x-axis-war-crimes` visual.
    • + Assets: Fetched authentic full-color official brand SVGs for all 11 providers (`src/static/assets/providers/`) and 7 services (`src/static/assets/services/`) with Eleventy passthrough copy to `/assets`.
    Changed
    • ~ Refactor: Renamed `src/_data/memes.yaml` to `src/_data/ai-memes.yaml` and updated media-import skill to support Lexicon target.
    • ~ Shortcodes: Converted raw markdown image syntax across 9 blog posts to custom Eleventy `{% image %}` shortcodes.
    • ~ Folio: Styled Quick answer block matching the reference mockup layout with star header, vertical recommendation list, and link anchor.
  • v2.5.0
    Added
    • + Folio: Agentic Coding Model Tier List — a new folio page at `/folio/model-tier-list/` with tiered model cards, service comparison table, API pricing table, and cost calculator. Driven by `src/_data/models.yaml`.
    • + Skill: `update-model-list` skill for regenerating model YAML with current research.
  • v2.4.7
    Added
    • + Notes: Tightened Codex note with side-by-side screenshots and gateway-drug commentary.
    Changed
    • ~ CMS: Reduced blog tag limit from 4 to 2 to match site policy.
    • ~ Fonts: Removed remaining Google Fonts CDN links (Bricolage Grotesque, Caveat); switched to self-hosted fallback stacks.
  • v2.4.6
  • v2.4.5
    Added
    • + Notes: Added note on Codex $20/mo being the best value AI coding plan, with cropped usage screenshots.
    Changed
    • ~ Visual polish: Added a consistent accent focus ring, clarified the homepage stats block on mobile, expanded Recent Activity to align with the homepage grid, and strengthened directory-row interaction feedback.
    • ~ Reading: Increased long-form post copy si
  • v2.4.4
  • v2.4.3
    Changed
    • ~ Status: Clarified local secret coverage, fallback-free build wording, full service freshness dates, and added an attention queue for active fallback events.
  • v2.4.2
    Changed
    • ~ Colophon: Refreshed the stack notes with a NEAT Framework post link, current-version copy, moving-parts summary, and removed the internal migration-process reference.
    • ~ Now: Split the page into written updates and pulled activity, with Reading and Watching sharing a two-column view capped at three items each.
    • ~ About: Reworked the Hobbies text into a scannable bullet list.
    • ~ Home: Swapped the At A Glance TIL counter for Snippets and renamed Quotes Saved to Quotations.
  • v2.4.1
    Added
    • + SEO: Added sitemap index output plus separate post, snippet, and page sitemaps with absolute URLs.
    • + SEO: Expanded BlogPosting JSON-LD with article body excerpts, word counts, and ISO reading durations.
    • + Docs: Added an internal link audit note for the SEO cleanup pass.
    Changed
    • ~ SEO: Added `seoDescription` frontmatter for richer metadata while preserving brief on-page post descriptions, plus canonical/robots handling for draft, hidden, and redirect pages.
    • ~ Feed: Render external tool labels as non-link badges so they do not point to missing taxonomy pages.
    • ~ Raw exports: Included notes, reviews, and lexicon pages in `raw.txt` generation when they expose the copy-as-markdown control.
    • ~ AGENTS.md, CLAUDE.md: Documented the 5-10 commit batch-push cadence to conserve Netlify build minutes.
  • v2.4.0
    Added
    • + Status: Expanded `/status/` into a denser reliability dashboard with API coverage, tracked build health, performance metrics, and recent fallback/error logs.
    • + Logging: Added lightweight build-time status event logging for data fetch fallbacks and structured runtime error logs for Netlify functions.
  • v2.3.9
  • v2.3.8
    Added
    • + Status: Added a build-time `/status/` page for external service health, cache cadence, and fallback visibility.
    • + Newsletter: Added a dedicated `/newsletter/success/` confirmation page.
    Changed
    • ~ Newsletter: Redirect successful Netlify form submissions to the confirmation page.
    • ~ TODO: Converted the loose Buy Me a Coffee note into a deferred checklist item.
  • v2.3.7
  • v2.3.6
    Changed
    • ~ notes: Added a Simple Analytics migration PS to the small blog spike note.
  • v2.3.5
  • v2.3.4
    Fixed
    • note.njk, tailwind.css: Restored full-si
  • v2.3.3
    Added
    • + quant-eval-stack.svg: Added a compact visual for reading quanti
    Changed
    • ~ 2026-06-12-local-llm-optimi
  • v2.3.2
    Changed
    • ~ 2026-06-12-local-llm-optimi
  • v2.3.1
    Added
    • + Reading and Watching: Added compact book-cover and film-poster thumbnails on `/reading/`, `/watching/`, and the relevant `/now/` snippets, with styled placeholders for manual entries without artwork.
  • v2.3.0
  • v2.2.1
  • v2.2.0
    Added
    • + Reading: Synced public Goodreads shelves into `/reading/` and `/now/` with cached build-time fallbacks and manual additions or overrides.
    • + Now: Added `nowPage.yaml` as a fill-in-ready source for highlights and updates, and archived the previous page snapshot.
  • v2.1.1
    Fixed
    • loganime-test-v1-stamp-trim.png: Replaced the narrow hori
  • v2.1.0
    Added
    • + Reviews: Added a dedicated `/reviews/` collection and editorial index for product reviews and buying articles.
    • + Upper Midrange Is the Place to Be: Revived the hidden 2025 draft as the section's opening essay on learning hobbies through cheaper gear and shopping below the flagship tier.
    • + Netlify CMS: Added review fields for entry type, product, category, price paid, rating, verdict, authorship, and a maximum of two tags.
  • v2.0.38
    Changed
    • ~ 2026-06-12-local-llm-optimi
  • v2.0.37
    Changed
    • ~ 2026-06-12-local-llm-optimi
  • v2.0.36
    Added
    • + docs: Added a phased roadmap for testing and extending the local LLM optimi
    Changed
    • ~ 2026-06-12-local-llm-optimi
  • v2.0.35
    Fixed
    • eleventy.config.mjs, tailwind.css: Keep Markdown tables using native table layout on mobile and move hori
  • v2.0.34
    Fixed
    • eleventy.config.mjs, feed-card.njk: Generate optimi
  • v2.0.33
    Fixed
    • tailwind.css: Narrowed the picture centering CSS rule to match only post-body or site-content article containers (such as TILs and Notes), resolving unintended 1.5em margins on thumbnails in blog post lists.
  • v2.0.32
    Changed
    • ~ folder.njk, tags.njk: Migrated from raw styling headers to the shared page-header component to standardi
  • v2.0.31
    Changed
    • ~ 2026-06-12-local-llm-optimi
    Fixed
    • 2026-06-12-local-llm-optimi
  • v2.0.30
  • v2.0.29
  • v2.0.28
  • v2.0.27
    Fixed
    • eleventy.config.mjs, post listing templates, tailwind.css: Generate responsive AVIF/WebP post thumbnails at their rendered si
  • v2.0.26
    Fixed
    • tailwind.css: Let table columns si
  • v2.0.25
  • v2.0.24
    Added
    • + battle-of-the-image-generators-stamp-trim.png: Generated and normali
  • v2.0.23
    Added
    • + running-gemma-4-mtp-locally-stamp-trim.png: Generated and normali
    Changed
    • ~ 2026-06-12-local-llm-optimi
  • v2.0.22
  • v2.0.21
    Added
    • + local-llm-optimi
    Changed
    • ~ startHere.yaml: Swapped "The NEAT Framework" featured post on the homepage with the new "Local LLM Inference Optimi
  • v2.0.20
  • v2.0.19
    Added
    • + robots.txt.njk: Created dynamic robots.txt template to prevent crawler indexing waste on utility/archive pages.
    • + Frontmatter descriptions: Added unique description metadata to top-level pages (index, projects, gallery, cv, vibes, quotes, now, games, workouts, tools).
  • v2.0.18
    Added
    • + fetchWithFallback.js: Created a centrali
    Changed
    • ~ eleventy.config.mjs: Registered the new `computeAuthorship` and `writingsTimeline` Nunjucks filters.
    • ~ spotify.js, steam.js, strava.js, github.js: Refactored remote data modules to fetch through the centrali
  • v2.0.17
  • v2.0.16
  • v2.0.15
  • v2.0.14
    Added
    • + Added generated transparent monochrome thumbnail sketches to the remaining non-template blog posts.
    • + Added posts for the image-generator comparison and Loganime still-frame trailer experiment.
  • v2.0.13
  • v2.0.12
    Changed
    • ~ Flattened the site background to a cleaner bone-white paper color and removed the light/dark gradient and noise overlays.
    • ~ Shifted homepage, page headers, notes, post pages, navigation/footer spacing, and shared surfaces toward a denser Plus Jakarta Sans/JetBrains Mono editorial pass.
    • ~ Updated the homepage eyebrow and bio copy around analytics, local AI, homelabs, and internet archives.
    • ~ Simplified the homepage below the hero by removing duplicate featured and popular-post modules while keeping Featured Posts, Site Index, Recent Activity, and Quote of the Day.
    • ~ Renamed the homepage Start Here section to Featured Posts, added unframed right-aligned thumbnails to those curated links, and restored Quote of the Day as the final homepage block.
    • ~ Tightened the homepage Site Index two-column layout by keeping counts close to their labels.
    • ~ Reused the existing feed grid card view for the capped homepage Recent Activity section.
    • ~ Improved mobile table rendering with hori
  • v2.0.11
  • v2.0.10
  • v2.0.9
  • v2.0.8
  • v2.0.7
    Changed
    • ~ Humani
  • v2.0.6
    Added
    • + Added editorial post shortcodes for semantic callouts, dated inline updates, definition popovers, and true sidenotes.
    • + Added `docs/BLOG_POST_FEATURES.md` as the canonical feature inventory for future post-authoring and agent cleanup work.
  • v2.0.5
    Added
    • + Added Markdown footnote support for inline references (`[^id]`) and definitions (`[^id]: note`) with compact endnote styling in the site's editorial typography layer.
  • v2.0.4
    Added
    • + Created `src/notes/_template.md` for standardi
    Changed
    • ~ Standardi
  • v2.0.3
    Fixed
    • Fixed the masonry layout in the unified feed's grid view by restoring the missing `feed-masonry` class to the grid container and ensuring all items possess the `.feed-card` class required by the layout script.
    • Standardi
  • v2.0.2
  • v2.0.1
    Changed
    • ~ Standardi
  • v2.0.0
    Added
    • + Docs: Added a repeatable workflow for bringing older pages onto the new design language without one-off typography patching.
  • v1.9.30
  • v1.9.29
  • v1.9.28
  • v1.9.27
  • v1.9.26
  • v1.9.25
  • v1.9.24
  • v1.9.23
    Added
    • + `startHere.yaml`: Added a curated homepage canon used by the new Selected Work index section.
    Changed
    • ~ Reworked the shared site design language away from rounded glassy cards toward sharper, denser editorial surfaces with mono labels, flatter controls, and paper-like ruled backgrounds.
    • ~ Rebuilt the homepage as an index of work and thinking: denser intro, at-a-glance counts, Selected Work, Site Index, Featured Blog, Recent Activity, and Signal/Popular sections.
    • ~ Tightened navigation and footer chrome to match the new archive/workbench feel instead of app-style controls.
  • v1.9.22
    Fixed
    • Converted `about.md`, `more.md`, `colophon.md`, `now-archive.md`, and `folio/radiohead/links.md` to `.njk` - the markdown processor was wrapping Nunjucks-rendered `page-header` HTML in invalid `<p>` tags, causing hori
  • v1.9.21
    Added
    • + cv.njk: Full page redesign using site-consistent `.surface` cards, `page-header` component, feather icon section headings, tech/domain badge pills, and contact strip - replaces raw HTML tables and inline styles.
    Changed
    • ~ base.njk: Rebalanced footer mega-menu - moved Games, Workouts, Listening, and Life in data from the overloaded EXPLORE column into ABOUT ME for even distribution.
    • ~ base.njk: Changed Vibes nav icon from `music` to `image` (visual/meme collection, not music).
    • ~ post.njk: Moved AI Assisted / AI Generated notice banner from below the copy-markdown button to immediately after the Draft notice, grouping all post-status notices together at the top of the article header. Uses `.surface surface-compact` styling for visual consistency.
  • v1.9.20
    Changed
    • ~ Standardi
  • v1.9.19
    Added
    • + Added a distinct `.badge-featured` utility class utili
    Changed
    • ~ Replaced the text "Pinned" and the unicode star (★) with a `bookmark` Feather icon across all pinned badges to visually distinguish them from Featured items.
  • v1.9.18
  • v1.9.17
    Changed
    • ~ Introduced a shared `page-header` component and applied it across major archive, collection, utility, and project pages to unify section intros.
    • ~ Standardi
  • v1.9.16
  • v1.9.15
    Added
    • + Added manual guestbook entries to the `guestbook.yaml` data file.
    Changed
    • ~ Updated `cost-effective-coding-agents` post with 2026 market changes (Opus 4.7, Qwen Code OAuth, Amp status) and added Stack Blueprints and Routing Rules.
    • ~ Grouped all local AI inference and benchmark posts under a new `local-inference` series folder. Added backward-compatible 301 redirects to `src/_redirects` to retain their original URLs.
    • ~ Established `agents` and `homelab` series folders, grouping related posts. Added `giscusTerm` frontmatter overrides to retain original discussion threads.
    • ~ Dismantled broad `tech` and `personal` folders into standalone tagged posts.
    • ~ Added `docs/TAXONOMY.md` to formali
  • v1.9.14
    Added
    • + 4 new quotes added to the Quotes collection (Anonymous, David Foster Wallace, Nassim Nicholas Taleb, Douglas Adams).
    • + 10 new Agent Tick (AI memes) cards added to the folio.
    • + 9 new vibes screenshots added to the vibes collection.
    • + 4 original local photos imported with accurate EXIF tracking and metadata.
    • + Created Prompt Library page (`/prompts/`) with prompts collection for testing language models.
    • + Added first prompt: "Bouncing Balls in Spinning Heptagon" - complex physics simulation challenge.
    • + Added short introduction to Gemma 4 26B-A4B post highlighting key features and model capabilities.
    • + Added folio page dates documentation in `docs/instructions.md` to clarify that dates are permanent and manually controlled.
    Changed
    • ~ Unified media ingestion skill (`.agents/skills/media-import/SKILL.md`) established, defining standard pipeline logic for processing raw files from the `inbox/` into `photos.yaml`, `vibes`, and `ai-memes`.
    • ~ Enforced MD5 hashing for photography imports to deduplicate uploads against previously ingested local photos.
    • ~ Radiohead visual archive imagery fully migrated from root images folder directly into `src/static/img/folio/radiohead/` for better isolation.
  • v1.9.12
  • v1.9.11
    Added
    • + Search page now supports type/tag/year filters with URL state sync and sort controls (relevance/newest/oldest).
    • + Home page now shows a “Popular posts” section based on Redis-backed upvote totals.
    • + Blog archive now includes year jump links with grouped year headings for easier browsing.
    • + Added print-focused styles to improve readability and remove non-essential UI in printed output.
    Changed
    • ~ Search index payload was reduced by truncating embedded content in the client-side index.
    • ~ Search result tag links now route snippet tags to `/snippets/tags/{slug}/` and post tags to `/tags/{slug}/`.
    • ~ Theme-color handling is now centrali
  • v1.9.10
    Changed
    • ~ GitHub repos data fetch now persists successful responses to Eleventy `AssetCache` and falls back to cached data when live fetches fail.
    • ~ Spotify and QOTD data modules now use quieter, safer logging (no token/payload dumps), while preserving existing data fallbacks.
    • ~ Aligned top-level `sharp` dependency to `^0.33.5` to match `@11ty/eleventy-img` and reduce duplicate libvips runtime warnings.
    Fixed
    • Prevented accidental generation of the placeholder `/now/archive/YYYY-MM-DD/` page by disabling permalink output in `src/now/archive/_template.md`.
    • Removed stale `.DS_Store` artifacts from `src/folio` source tree.
    • Synced `docs/TODO.md` status for already-implemented items: stats density updates, la
  • v1.9.9
  • v1.9.8
  • v1.9.7
    Changed
    • ~ Agent Tick UI copy now uses a terminal prompt glyph (`❯`) instead of `//`, and the main header title now includes a tick icon next to `TICK`.
  • v1.9.6
  • v1.9.5
    Added
    • + AI memes folio: 11 new memes added (total: 14 entries)
    • + Video support for folio memes with inline playback (click to play/pause)
    Changed
    • ~ AI memes folio: Updated permalink from `/folio/ai-memes/` to `/folio/agent-tick/`
    • ~ AI memes folio: Improved captions - replaced text-copying descriptions with concise, witty titles
    Fixed
    • Folio index now points to the Agent Tick canonical URL (`/folio/agent-tick/`) and legacy `/folio/ai-memes/` links redirect correctly.
    • GPT-OSS optimi
  • v1.9.4
  • v1.9.3
  • v1.9.2
    Added
    • + Snippet pages now track and display per-snippet view counts using namespaced keys (`snippet:{fileSlug}`) to avoid collisions with post counters.
  • v1.9.1
    Fixed
    • Preserved engagement continuity for renamed posts by merging legacy Redis upvote/view keys into canonical slugs (including `optimi
  • v1.9.0
    Added
    • + `/folio/` section: themed standalone web pages for personal obsessions - each with its own design, fonts, palette
    • + `/folio/radiohead/` - first folio: a curated web archive of Radiohead's internet presence, archive ma
  • v1.8.5
    Added
    • + uses.yaml: Audio section with AirPods Pro 2, Sennheiser HD 4.50 BTNC, Crinacle Zero 2, Moondrop Chu 2, Moondrop Quarks DSP
  • v1.8.4
    Changed
    • ~ uses.yaml: Renamed Productivity → Organi
  • v1.8.1
    Changed
    • ~ Stats page (`/stats/`) full redesign: Dense Editorial layout, row-item stats, posts-per-year CSS bar chart, real word count (summed from rendered post content), avg words/post - removed card grid and fake estimated word count
  • v1.8.0
  • v1.7.2
    Added
    • + Notes: `src/microposts/` renamed to `src/notes/`; "micropost" → "note" everywhere (type, badge, filter)
    • + Notes: each note now has a permalink at `/notes/{slug}/` and renders via `layouts/note.njk`
    • + More page: proper h1 + description line below title (matches other listing pages)
    Changed
    • ~ Navbar: About/Blog/Now text links hidden on mobile (sm: breakpoint) - compass + slider + dark mode remain; no more squished nav
    • ~ Homepage feed view toggle: replaced custom active state with `view-toggle` CSS + feather icons (consistent with blog/snippets)
    • ~ Feed page: search moved into header row alongside view toggle (like blog); view toggle uses `view-toggle` CSS + icon-only feather icons; h1 now matches blog si
    • ~ Default accent color changed from amber to teal (`#14b8a6`)
    • ~ Feed grid on homepage now uses `items-start` for dynamic card heights (matches other grids)
    Fixed
    • Nav: font bumped to `text-base` on title + links; `gap-1` added to icon list for mobile breathing room
    • Mobile footer: 2-col categori
    • Homepage feed grid: add `data-feed-masonry` + masonry script include so grid cards have true dynamic heights (matching feed page)
    • Mobile slider: replaced w-20 touch-hostile range input with a tap-to-cycle colored dot on xs screens; full gradient slider remains on sm+
    • Footer mobile: replaced 2×2 grid (ugly) with flat wrapped inline link list on mobile; 4-column categori
  • v1.6.8
    Changed
    • ~ base.njk: Accent slider moved from extended footer (required scrolling ~1300 lines into page) into the nav bar, between the compass icon and dark mode toggle - now always visible on every page
    • ~ base.njk: Slider redesigned as a compact inline gradient bar (w-20/w-28) with a white hairline indicator; no thumb ball needed (gradient itself shows position)
    • ~ base.njk: Site title unified to "carteakey.dev" on both desktop and mobile - removes "Kartikey Chauhan" desktop variant and the `font-et-book` (Latin serif) font
    • ~ base.njk: Nav `py-3` → `py-3.5` (slightly taller for consistency with body text si
    • ~ snippets.njk: Full rewrite to match blog (archive.njk) exactly - same inline h1+count header, same search field style, list view as default, list button first then grid, same list row design (date col + title + language tag), same grid card design (feed-card-full style with purple dot). Removed page-header component and wrapping max-w div.
    • ~ index.njk: Homepage feed now shows list toggle FIRST, then grid toggle (consistent with blog/snippets). Removed redundant "→ Feed" footer link (was duplicate of "All →" in header). Grid bumped to 3-col (lg:grid-cols-3). Shows 9 items.
    • ~ index.njk: Feed default is now list view (localStorage key h-feed-view), matching editorial density preference.
    Fixed
    • tailwind.css: Moved `.title-hover:hover` completely OUT of `@layer components` - in Tailwind v4, `@layer utilities` always beats `@layer components` regardless of specificity, so hover color was always overridden by `text-gray-900 dark:text-gray-100`. Unlayered CSS beats all layers. Added `!important` as belt-and-suspenders.
    • base.njk: Accent slider thumb was invisible - Tailwind v4 only scans static HTML class names; dynamic Alpine `:class="themes[currentIndex].color"` bindings like `bg-amber-500` are never included in generated CSS. Fixed by switching to `:style="background-color: ${themes[currentIndex].hex}"` with hex values embedded directly in the data object (matching the `ACCENT_COLORS` map in theme.js).
    • base.njk: Slider label now uses `x-text="themes[currentIndex].name"` (was `.label` - removed unused label field from theme data).
    • tailwind.css: Added `.site-content .title-hover:hover` (specificity 0,3,0) alongside `.title-hover:hover` (0,2,0) - Tailwind's `dark:text-gray-100:is(.dark *)` also has 0,2,0 and wins by cascade order when equal; the higher-specificity rule now correctly applies accent color on hover in blog/snippets list rows
    • base.njk: Accent slider `updateTheme()` now calls `window.setAccentTheme()` explicitly instead of bare `setAccentTheme()` - Alpine.js component scope doesn't reliably fall through to window globals, causing the slider to move visually but not update the CSS variable
    • snippets.njk: Added `| reverse` to both list and grid loops - snippets collection is oldest-first by default (unlike posts which has an explicit sort); now shows newest snippets first, matching blog behavior
    • index.njk: "All →" and "→ Feed" both linking to /feed/ (duplicate). Kept only "All →" in the section header.
    • tailwind.css: Links are now gray (color: inherit) with underline by default, accent color on hover - removes all accent-as-default link color. Works consistently in both prose and not-prose contexts
    • tailwind.css: Removed `!important` from `.not-prose a` reset - no longer needed since content links don't set accent by default
    • tailwind.css: `.site-content picture` centering now scoped to `article picture` only - fixes profile avatar being pushed/clipped by `margin: 1.5em auto`
    • tailwind.css: `.not-prose picture` reset added - avatars/icon images in UI components no longer affected by post-image centering rules
    • feed.njk: Description changed from "/now snapshots" to "and updates"
  • v1.6.2
    Added
    • + base.njk: Global code block copy button - clipboard SVG icon appears on pre:hover, turns accent on hover, switches to checkmark on success
    • + tailwind.css: `.copy-code-btn` styles - positioned absolute, dark semi-transparent background, accent on hover
    • + src/static/css/prism/prism-light.css: New clean GitHub-inspired light syntax theme (replaces broken prism-coy)
    • + stats.njk: Hero callout strip with 4 large accent-colored numbers (Posts, Snippets, This Year, Tags)
    • + feed.njk: List/grid toggle, type filter chips, inline search - list view defaults to homepage activity style
    • + base.njk: Footer nav links now have feather icons (clock, activity, edit-3, code, box, image, music, etc.)
    • + base.njk: Site title now shows accent color always (not just on hover)
    • + base.njk: Dark mode toggle icon uses accent color
    • + index.njk: Profile avatar larger (w-20 h-20) + conic gradient ring restored
    • + index.njk: Homepage footer link text cleaned up ("Blog · Snippets · Feed · Search")
    • + feed-card.njk: Pinned star icon (★) shown in list variant when item is pinned
    Fixed
    • base.njk: "More" (compass) nav icon now uses accent color
    • tailwind.css: `.site-content .not-prose a` reset uses `!important` to definitively prevent accent color from leaking into feed cards and UI components
    • archive.njk: Removed `| reverse` from both list/grid loops - `collections.posts` is already sorted newest-first in eleventy.config.mjs; `| reverse` was making it oldest-first
    • snippets.njk: Grid cards switched from `card card-hover card-compact` to flat `border border-gray-200` style; list view rewritten as `divide-y` rows with date col + title + language tag (matches blog list design)
    • tailwind.css: `.site-content picture` and `.site-content picture img` rules added - images in post content are now centered with `margin: auto`
    • picture CSS: Added `text-align: center` and `display: inline-block` on img for proper centering
    • index.njk: Homepage footer → "→ Feed" (single clean link)
    • index.njk: Profile avatar wrapped in constrained `w-20 h-20 rounded-full overflow-hidden` div - fixes blurriness and gradient ring
    • eleventy.config.mjs: Image shortcodes now use `widths: [400, 800, 1200, "auto"]` with proper `si
  • v1.5.8
    Changed
    • ~ post.njk: Post navigation redesigned - "Next →" / "← Previous" labels with title-hover links
    • ~ page-header.njk: h1 `text-2xl` → `text-xl` for density consistency
    • ~ 404.md: h1 `text-4xl/5xl` → `text-3xl/4xl`, cards flattened (removed bg+shadow), text-lg → text-sm, amber hover links → `title-hover`, py-20 → py-16
    • ~ quotes.njk: h1 `text-3xl` → `text-xl`, quote cards `card-padding` → `card-compact`, `text-base` → `text-sm`
    • ~ skills.njk: `text-lg` → `text-sm` on breakdown heading
    • ~ stats.njk: card padding `p-5 sm:p-6` → `p-3 sm:p-4`, tag icon bg → accent color via CSS variable
    • ~ guestbook.njk: headings `text-lg` → `text-sm`
    • ~ newsletter.njk: headings `text-lg` → `text-sm`
    • ~ blogroll.njk, bookmarks.njk: headings `text-lg` → `text-sm`
    • ~ postslist.njk, archive.njk: Pinned badge → accent CSS variable (removes hardcoded amber)
    • ~ post.njk: avatar hover glow → accent CSS variable gradient (removes hardcoded amber)
    • ~ base.njk: skip-link `focus:bg-amber-500` → `style="background: var(--accent-color)"`
    • ~ tailwind.css: `.badge-count` → accent CSS variable (removes hardcoded amber); `.tag-interactive:hover` → accent CSS variable; `color-mix` for consistent theming
    Fixed
    • tailwind.css: `.site-content a` link styling scoped to `:is(p, li, blockquote, td, th) a` - prevents accent-color from applying to UI/nav/card links inside site-content
    • base.njk: Added `not-prose` to `<nav>` and `<footer>` elements to isolate them from content typography styles
    • tailwind.css: Added TOC (`<nav class="toc">`) styles - no disc bullets, clean link style with accent hover
    • post.njk: Avatar hover glow → accent CSS variable gradient (removes hardcoded amber-400)
  • v1.5.3
    Changed
    • ~ stats.njk, guestbook.njk, newsletter.njk: Replaced heavy glassmorphism `cardShell` (shadow-lg + bg-gray-100/80) with clean flat `border` cards - consistent with new dense editorial design language.
    • ~ post.njk: Sidebar author/TOC cards replaced `card-elevated` with flat border. Upvote/reaction active states now use `var(--accent-color)` via inline style instead of hardcoded amber classes.
    • ~ comment-pointer.njk: Replaced `card-elevated` with flat border card.
    • ~ snippet-tags.njk: Full rewrite - flat `divide-y` row list matching snippets.njk list view. Added breadcrumbs.
    • ~ newsletter.njk: Input focus rings use `accent-field` class. Icon circles simplified (no amber background). Removed `hover:shadow-lg`.
    • ~ guestbook.njk: Form inputs use `accent-field`. Header aligned with other pages.
    • ~ stats.njk: postsThisMonth counter uses `var(--accent-color)`. Tag icon no longer hardcoded amber.
    • ~ page width: Stepped down one Tailwind si
    • ~ UI: Second-pass redesign - coherent design language built from the ground up.
    • ~ feed-card.njk: New `list` variant for homepage (single-row grid layout: date · dot · type · title). `full` variant now uses `feed-card-full` (flat border card, no shadow) for the /feed page grid.
    • ~ index.njk: Full homepage rewrite. Clean hero (avatar + name + bio + quick links inline). Featured post as minimal text block. QOTD as bare blockquote. Feed section replaced masonry grid with a scannable `feed-list` single-column chronological activity log.
    • ~ archive.njk (blog): Full rewrite. Default list view (matches postslist.njk style: date left col, title+desc right). Grid view uses `feed-card-full` cards consistent with /feed. Search bar compact and inline with view toggle.
    • ~ feed.njk: Cleaned up, removed duplicate inline JS (handled by masonry-script include).
    • ~ postslist.njk: Refined layout - `md:w-36` fixed date column, tags below date on desktop, description `text-sm`, consistent with blog page.
    • ~ tailwind.css: Added `.feed-list`, `.feed-list-row`, `.feed-list-dot`, `.feed-list-date`, `.feed-list-type`, `.feed-list-title` for homepage activity list. Added `.feed-card-full` for grid cards. Removed heavy `.card-hover` box-shadow - now border-color transition only.
    Fixed
    • index.njk: Featured section `★ Featured` label and `Read →` link now use `var(--accent-color)` instead of hardcoded amber, respecting the accent theme switcher.
    • now.njk: Removed `cardShell` variable, tightened layout, date in `meta-text` style. `not-prose` wrapper around snippets avoids prose override.
    • workouts-snippet.njk, games-snippet.njk: Replaced `cardShell`+shadow cards with `feed-card-full` style. Hover colors use `var(--accent-color)`. Reduced padding.
    • tags-list.njk: Tag links now use `accent-link` class (respects theme switcher) instead of hardcoded `text-amber-600`.
    • search.njk: Result title hover and loading spinner use `var(--accent-color)` instead of hardcoded amber.
    • snippets.njk: Arrow link on list-view items uses `var(--accent-color)` on hover.
    • base.njk: Restored `prose-lg` for comfortable reading line height.
  • v1.4.7
    Added
    • + post(2026-02-18-optimi
    Fixed
    • post(2026-02-18-optimi
  • v1.4.6
    Added
    • + Guestbook: New sticky-notes design with pastel colors, random rotations, CSS tape decorations, and Caveat handwriting font.
    • + Guestbook: Data-driven entries from `guestbook.yaml` with Netlify Forms submission and manual curation note.
    • + Uses page: Neofetch-style ASCII art hardware info block with monospace specs display.
    • + Uses page: "Retired" section with strikethrough styling and retirement dates for old tools.
    • + Uses page: "Changelog" section with timestamped tool change history.
    • + Skills page: New `/skills` page added to footer navigation.
    Changed
    • ~ Footer: Reorgani
  • v1.4.5
    Added
    • + Blog page: Search filter (like snippets) with live filtering by title, tags, and description.
    • + Footer: Social media icon links (LinkedIn, GitHub, Search, RSS, Newsletter) in centered row.
    Changed
    • ~ Card component: Updated background to white (`#fff`) in light mode and solid dark gray in dark mode for consistency with feed masonry cards.
    • ~ Blog cards: Added data attributes for filtering (`data-title`, `data-tags`, `data-body`).
    • ~ Footer navigation: Enhanced with all site links, separators, and "Made with ❤️" section.
    • ~ UPDATED labels: Standardi
  • v1.4.4
    Added
    • + Post layout: Author profile card in the left sidebar (XL screens) with photo, name, tagline, and social links.
    • + Swirly arrow annotation CSS component (`.annotate`) for adding handwritten-style margin notes to text.
    • + Annotation variants: `.annotate-left`, `.annotate-right`, `.annotate-up` for different arrow directions.
    • + Handwritten note utilities: `.handnote` for inline styled text, `.margin-note` for sidebar notes.
    Fixed
    • Navbar: vertical alignment of nav links, "more" dots icon, and dark mode toggle button now properly centered.
    • Navbar: replaced `<span>` elements with semantic `<li>` elements for better accessibility.
  • v1.4.3
    Added
    • + Visual polish: new `.card-elevated` component with layered shadows and smooth hover lift effect.
    • + Visual polish: `.card-glass` glassmorphism variant with backdrop blur.
    • + Visual polish: `.link-glow` animated underline effect for links.
    • + Visual polish: `.gradient-border` animated gradient border on hover.
    • + Visual polish: `.text-gradient` utility for accent-colored gradient text.
    • + Visual polish: `.divider-gradient` refined hori
  • v1.4.2
  • v1.4.1
  • v1.4.0
    Added
    • + Skip-to-content accessibility link for keyboard and screen reader navigation.
    • + Service worker for offline reading with cache-first strategy for static assets.
    • + `/uses` page listing hardware, software, and tools used for development.
    • + Privacy-friendly view count tracking via Upstash Redis, displayed on blog posts.
    • + Interactive tag filtering on `/blog/` page using Alpine.js (no page reload).
    • + Search URL state persistence (`?q=`) with keyboard navigation (arrow keys + Enter).
    • + Self-hosted Alpine.js, TypeIt, and Prism CSS themes (removed CDN dependencies).
    Changed
    • ~ Site background redesigned with softer slate/marble-white gradient and subtle paper grain texture.
    • ~ Dark mode background updated to match the cleaner aesthetic.
    • ~ RSS feed now includes all posts (removed 10-post limit).
    • ~ All email references updated to [email protected].
  • v1.3.20
    Added
    • + Netlify `_redirects` now covers every legacy `/post-slug` path, bouncing visitors to the new `/blog/` URLs without 404s.
    Changed
    • ~ `workouts-snippet.njk` surfaces the three latest Strava activities in responsive cards so desktop layouts form a single row.
    • ~ `/now/` adopts the shared card shell, compresses the hero photo, and aligns workouts/games into three-column grids like their dedicated pages.
    • ~ `/quotes/` reuses the masonry grid script from the feed/gallery so saved quotes auto-span by height.
    Fixed
    • The hero photo on `/now/` now uses the same constrained styling as blog imagery, avoiding the oversi
  • v1.3.19
    Added
    • + Dedicated `/guestbook` page, each using the shared card shell and navigation breadcrumbs.
    • + Netlify-backed guestbook form with email and GitHub issue fallbacks for alternative submissions.
    Changed
    • ~ Stats intro now owns a self-deprecating data joke, the quotes page moved to the unified card layout, and the blog archive lists every post inside matching cards.
    • ~ Bookmarks, blogroll, snippets, and feed cards all reuse the single card shell so surface treatments stay consistent site-wide.
    Fixed
    • Steam playtime conversion now emits decimal hours, ensuring recent games display accurate hour counts instead of rounding to
  • v1.3.18
    Changed
    • ~ Global grain overlay now leans on a gentler turbulence blend with lower opacity so the paper backdrop reads as texture rather than static.
    • ~ Homepage feed CTA inherits the active accent palette, and the stats technical details compress into accent-lined columns for quicker scanning.
    • ~ Newsletter feature cards adopt badge-style icon caps so headings and glyphs stay aligned.
  • v1.3.17
    Changed
    • ~ Projects, games, stats, newsletter, and workouts now share the same card treatment as the blogroll/bookmarks layouts for a cohesive surface.
    • ~ Newsletter subscribe CTA picks up the active accent palette, and supporting cards reuse the new shell styling.
    • ~ Vibes board si
  • v1.3.15
    Changed
    • ~ Grain overlay now uses a softer fractal noise texture with gentle blending in light and dark themes.
    • ~ Post imagery gains tighter max-widths, rounded framing, and tuned shadows for better long-form readability.
    • ~ Mobile navigation swaps the lone home icon for a `carteakey.dev` wordmark and centers the hero portrait on small screens.
  • v1.3.14
    Added
    • + Feed page gains a load-more control that reveals timeline items in batches while keeping the masonry layout tidy.
    Changed
    • ~ Global backdrop now layers a subtle grain overlay over the existing gradients for a paper-like finish.
    • ~ Tailwind theme exposes every bundled font family and drops unused variants so utilities like `font-urbanist` or `font-geist` just work.
    • ~ Homepage feed heading includes a direct link to `/feed/` with an arrow affordance for quick access.
  • v1.3.13
    Added
    • + About page now surfaces a random fact sourced from a maintainable data list.
    • + Homepage introduces a featured post card driven by a `featured` front matter flag.
    • + Feed links now appear in `/more/` via an inline icon and the footer utility row.
    Changed
    • ~ Global font si
  • v1.3.12
    Added
    • + New meta post “How I Let AI Run Wild on My Blog (with Copilot & Codex)” outlining the current prompt and instructions workflow.
    Changed
    • ~ Homepage feed now reuses the masonry grid script from `/feed/` so cards auto-span to their content height.
    • ~ Primary navigation drops the dropdown menu in favour of a three-dot icon link that jumps straight to `/more/`.
    • ~ Breadcrumbs stay hidden on small screens to free up vertical space while remaining available on desktop.
  • v1.3.11
    Changed
    • ~ Desktop reading frame padding tightened while keeping the notebook frame centered.
  • v1.3.10
    Changed
    • ~ Notebook reading frame now uses a translucent panel with squared edges and a softer drop shadow to keep the focus on the page.
    • ~ Base layout picks up extra top and bottom padding so the notebook frame sits comfortably within the desktop backdrop.
  • v1.3.9
    Added
    • + Inline critical CSS block in the base layout to style the shell before the main bundle loads.
    Changed
    • ~ Global background now uses a subtle gradient treatment tailored for light and dark modes.
    • ~ Footer social and utility icons stay on a single line on compact screens while keeping the grouped layout on desktop.
    • ~ Bookmarks entries adopt the shared card styling used by blogroll and projects for consistent presentation.
    • ~ The feed timeline now uses a masonry grid with Resi
  • v1.3.8
    Added
    • + Conversation pointer component that links to `#post-comments`, usable inline or in the sidebar.
    • + Feed page masonry script to auto-resi
    Changed
    • ~ Notebook frame widened with square corners, deeper padding, and a gray gradient doodle backdrop.
    • ~ Long-form prose now uses the `et-book` family with a slightly wider measure for calmer reading.
    • ~ TOC and sidebar callouts share the primary background, pick up extra padding, and adopt the accent-aware controls.
  • v1.3.7
    Added
    • + Post sidebar now has a dedicated "Conversation space" card ready for future inline comments alongside the outline.
    • + Accent-aware utility classes (`accent-link`, `accent-button`, `accent-button-outline`, `accent-focus`) driven by CSS variables for reusable theming.
    Changed
    • ~ Post layout adopts a notebook-style frame on desktop with an off-white surround that stays hidden on mobile and `fullWidth` pages.
    • ~ Outline and sidebar styling reuse the accent palette and off-white backdrop to match the refreshed reading frame.
  • v1.3.6
    Added
    • + Ambient off-white doodle backdrop using `src/static/img/patterns/hobbies-doodle.svg` and a softened site frame around the reading column.
    Changed
    • ~ Feed grids now align cards to their natural height so content length dictates the card si
  • v1.3.5
    Added
    • + Stats page now reads Lighthouse scores from `_data/lighthouse.json`, exposing the run metadata alongside the four category scores.
    Changed
    • ~ Feed page and homepage now share a reusable card component with styling that matches other site cards and uses denser typography.
    • ~ Snippets index adopts the site card grid, refreshed search UI, and inline metadata chips for languages and tags.
    • ~ Base layout typography tightened across the site to increase information density without sacrificing readability.
  • v1.3.4
    Added
    • + Projects page now renders a cached GitHub contributions heatmap backed by the new `githubContributions` data source.
    • + Floating "Back to Top" control appears on scroll with reduced-motion friendly smooth scrolling.
    Changed
    • ~ 404 page adopts the main layout with curated fallback links and contact prompts.
    • ~ Bookmarks view uses the same card grid styling as Blogroll/Projects, with per-category counts and anchors.
  • v1.3.3
    Added
    • + Post reactions: emoji-based feedback bar backed by a new Netlify function (`reactions.js`) and Upstash hashes, including localStorage safeguards.
    • + Documentation refresh: `docs/instructions.md` now captures the full Copilot/Codex playbook alongside the active `docs/prompt.md` brief.
    • + Meta: "Working with Copilot & Codex on carteakey.dev" post covering the agent workflow and release loop.
    Changed
    • ~ Bookmarks page now surfaces totals, per-category anchors, sorted entries, and three new resources across architecture, career, and systems operations.
    • ~ Eleventy build adds an output transform that normalises relative asset links inside posts and rewrites legacy `/posts/` URLs to `/blog/`.
    • ~ TODO tracking reorganised with an auto-archived "Completed TODOs" section to keep the active list focused.
  • v1.3.2
    Added
    • + Feed: extended unified timeline to include photos, vibe board entries, microposts, snippets, blog posts, and /now archive updates with per-type metadata.
    • + Blog folders: automatic `/blog/{folder}/` listing pages generated from the posts directory structure, with breadcrumb-aware pagination.
    • + Post asset pipeline: copies allowed files stored alongside posts into the matching `/blog/` output path so relative links (e.g., `./diagram.png`) work out of the box.
    • + Documentation: EthicalAds setup guide at `docs/ETHICAL_ADS_SETUP.md` detailing configuration steps.
  • v1.3.1
    Added
    • + Micropost collection with inline-only entries feeding the unified activity stream.
    • + EthicalAds placement for posts and snippets, backed by a reusable sidebar component and global script loader.
    • + Gradient KC logo (`src/static/img/logo.svg`) now displayed in the site navigation.
  • v1.3.0
    Added
    • + **Stats Page**: Dedicated Lighthouse Performance section with all 4 categories (Performance: 94, Accessibility: 95, Best Practices: 100, SEO: 91)
    • + Visual progress bars for each metric
    • + Color-coded cards with gradient backgrounds
    • + Individual icons for each category (
  • v1.2.0
    Added
    • + Bookmarks page: New curated reading list of recommended articles and resources
    • + Organi
    Changed
    • ~ Footer: Reorgani
  • v1.1.1
    Changed
    • ~ Blogroll: Increased information density with 2-column grid layout and compact cards
    • ~ Navigation: Removed Search, Blogroll, and Newsletter from main nav dropdown (now only in footer)
    • ~ Stats page: Added Lighthouse performance score card with A11y and SEO metrics
    Fixed
    • Stats page: Fixed "Days Since Last Post" bug - now correctly shows days since most recent post instead of first post
  • v1.1.0
    Added
    • + Search functionality across posts and snippets
    • + Full-text search with live filtering
    • + Search by title, description, content, or tags
    • + Results sorted by relevance
    • + Clean UI with result count display
    • + Search icon in footer for easy access
    • + Related posts feature
    • + Automatically shows up to 3 related posts based on shared tags
    • + Compact design with border accent
    • + Displays at the bottom of each blog post
    • + Loading states for dynamic content
    • + Added loading spinner for upvote count fetching
    • + Smooth opacity transition during loading
    • + Newsletter form submission loading state
    • + Blogroll page
    • + Expanded to 30+ recommended blogs and websites
    • + Includes web dev, self-hosting, AI/ML, and data science resources
    • + Organi
    Changed
    • ~ Post list layout: date and reading time now stack vertically in left column (desktop)
    • ~ Navigation: Added Search, Blogroll, and Newsletter to dropdown menu
    • ~ More page: Updated with all new pages including search, blogroll, and newsletter
    • ~ Newsletter wording updated to focus on AI, data science, and self-hosting content
    • ~ Related posts section made more compact with cleaner design
  • v1.0.1
    Fixed
    • Easter egg features now working correctly
    • Konami code (↑↑↓↓←→←→BA) key detection fixed with proper case-insensitive comparison
    • Double-click site title detection improved with timestamp-based logic
    • Triple-click footer sparkle mode now properly detects clicks in footer area
    • Shift+click theme slider achievement counter wrapped in DOMContentLoaded
    • Reading time layout in post list view
    • Desktop: Date and reading time now displayed in single left column (stacked vertically)
    • Tags moved to separate row below description in left column
    • Mobile: Maintains hori
  • v1.0.0
    Added
    • + Estimated reading time feature for blog posts
    • + Added `readingTime` filter calculating based on 200 words per minute
    • + Display reading time with clock icon in post layouts
    • + Show reading time in post list views (both mobile and desktop)
    • + Automatic word count from content with HTML tag stripping
    • + JSON-LD structured data for enhanced SEO
    • + BlogPosting schema for blog posts with headline, description, author, dates, keywords
    • + WebSite schema for homepage with SearchAction potential
    • + Proper author and publisher information
    • + Integration with existing metadata
    • + SEO meta tags optimi
  • v1.8.2
    Added
    • + `/notes/` list page: all notes sorted by date with inline content + permalink, listed in footer + more page
    • + Keyboard shortcuts: changed from `g+key` to `Ctrl/Cmd+key` (Mac-aware); visible `? shortcuts` button in footer
    • + Now archive: shows full entry content inline like changelog (not just link)
    • + Changelog: extended with git history before first CHANGELOG.md entry, grouped by month, styled as "Commits" with gray dots
    • + Reading shelf section added to `/now` page (currently-reading books with progress bars)
    • + Footer Read category: Notes, TIL, Reading links added; Meta category: Changelog, Colophon added
    • + More page: updated with all new pages (notes, til, reading, changelog, colophon)
    Fixed
    • More page: removed duplicate breadcrumbs (home.njk already renders them for non-root pages)
    • Stats: posts this year / posts this month counts now correctly use `countInYearMonth` filter (previous `date("Y")`/`date("n")` calls failed silently)
    • Stats: Latest post now sorted by date (not pinned order) via `sortByDate` filter; font si
  • v1.8.3
    Changed
    • ~ Keyboard shortcuts: removed all Ctrl/Cmd combos (hijacked browser shortcuts); now bare letter keys (h/b/f/s/n/t/r/d/?/) - no modifier required
    • ~ Added `/` shortcut for search navigation
  • August 2026 git history
    Commits
    • · docs(blog): add post changelog convention
    • · feat(blog): refresh agent IDE tier list
    • · fix(annotations): restore handwritten font and prevent overlap
    • · fix(reading): filter to tracked in-progress books
    • · feat(guestbook): sync verified entries safely
    • · docs(reading): note shelf rendering fixes
    • · fix(reading): render Goodreads dates and ratings
    • · fix(profile): load high-resolution zoom image
    • · feat(skill): automate guestbook approvals
    • · refactor: consolidate Eleventy collection rules
    • · refactor: simplify site dependencies and helpers
    • · fix(deps): patch dependency vulnerabilities
    • · feat(models): refresh tier list to August 2026 lineup and fix icons
    • · feat(notes): add AI coding price wars note
  • July 2026 git history
    Commits
    • · feat(projects): refresh directory and dependency baseline
    • · CAR-84 Pause Hindi rollout and document trimmed fonts
    • · CAR-84 Merge main and resolve release metadata
    • · feat(assets): replace monochrome icons with full-color official brand SVGs
    • · feat(assets): relocate SVG assets from src/assets to src/static/assets
    • · feat(folio): add provider and service SVG icons, update Quick answer card layout
    • · style(folio): update quick recommendations container to warm paper theme
    • · style(folio): format model tier list quick recommendations into responsive card grid
    • · feat(inbox): import media, add lexicon entry, rename ai-memes data
    • · refactor(images): migrate raw markdown image syntax to Eleventy shortcodes
    • · fix(tags): trim post tags to 2-tag max guideline
    • · CAR-84 Close completed repository backlog
    • · CAR-84 Complete local inference guide evidence pass
    • · CAR-84 Add opt-in multilingual pages
    • · CAR-84 Add generated UI smoke checks
    • · CAR-84 Trim unused web fonts
    • · CAR-84 Version first-party asset URLs
    • · CAR-84 Add monthly Lighthouse audit
    • · CAR-84 Add sampled Core Web Vitals monitoring
    • · CAR-84 Add browser-local learning tracker
    • · CAR-84 Add local snippet favorites
    • · CAR-84 Add newsletter funnel and submission metrics
    • · CAR-84 Add configurable support flow
    • · style(home): soften directory hover
    • · fix(notes): drop side-by-side layout, keep single dark screenshot in codex note
    • · feat(folio): agentic coding model tier list with YAML data, filters, pricing calculator
    • · fix: cms tag limit, remove google fonts cdn, dead min filter; content: tighten codex note imagery + gateway drug commentary
    • · merge: resolve conflicts, keep 2.4.6
    • · feat(notes): add Codex best value note with usage screenshots
    • · docs(planning): initialize Linear tracking
    • · fix(posts): preserve full-bleed tables
    • · fix(posts): widen desktop rail layout
    • · revert(posts): restore sidebar layout
    • · fix(posts): fit spacious rails on desktop
    • · fix(posts): keep desktop rails stable
    • · fix(posts): restore compact desktop rails
    • · style: polish site interaction states
    • · few updates
  • June 2026 git history
    Commits
    • · seo: improve metadata and sitemaps
    • · docs(todo): consolidate backlog
    • · feat(status): add integration health page
    • · fix(notes): cap archive images
    • · fix(notes): restore note title scale
    • · fix(notes): cap note images
    • · feat(home): add typing intro
    • · docs(llm): tighten quant guidance
    • · docs(llm): implement phase two guide additions
    • · Document reading and watching feed updates
    • · fix(blog): replace Loganime horizontal film strip thumbnail with a square contact sheet
    • · feat(reviews): add product review section
    • · docs(llm): restore wide scope statement
    • · docs(llm): restore direct practical voice
    • · docs(llm): apply phase one guide corrections
    • · fix(tables): restore mobile readability
    • · fix(feed): keep async thumbnails out of Nunjucks macros
    • · docs: document Nunjucks async macro feed-card bug
    • · docs(llm): add optimization guide guardrails
    • · fix(ci): switch build command to npm run build to avoid corepack EACCES
    • · fix(scripts): remove pnpm exec from package.json scripts to avoid EACCES in corepack
    • · fix(ci): update build command to enable corepack & optimize post thumbnails
    • · fix(tables): auto-size compact columns
    • · Switch site build to pnpm
    • · Polish local LLM optimization guide
    • · fix(blog): restore post thumbnails in folder views and apply recent site updates
    • · fix(archive): drop ml-auto so badges sit next to title, not far right
    • · fix(archive): move badges to right of title in list view
    • · chore: use hidden: true instead of draft: true to hide Gemma 4 12B post
    • · chore: set draft to true for Gemma 4 12B post to hide it
    • · chore: set authorship of master optimization guide to ai-assisted
    • · feat: publish local LLM optimization guide
    • · chore: focus stack post purely on inventory and swap architecture, removing optimization details
    • · chore: distinguish between serving stack and static dashboard visualization
    • · chore: change authorship to ai-generated and add colorful dashboard sub-items
    • · feat: add 12GB VRAM miracle blog post outlining the L3MS stack
    • · docs: point 12B assistant model to official Unsloth repository
    • · docs: add QAT vs Q8 explainer in the 26B post
    • · feat: embed speed GIF in Gemma 4 posts and correct CPU spec to i5-12600K
    • · feat: publish Gemma 4 26B/12B QAT & MTP local benchmarks
    • · fix(feed): move list row badges to trailing right column
  • May 2026 git history
    Commits
    • · feat: add image generator battle post with assets, update related blog posts, and clean up temporary source images.
    • · delete tmp
    • · Update post with vision/MTP drafting limitation note
    • · Promote Gemma 4 MTP Vision to default stack model
    • · Update Gemma 4 post: Switch to TurboQuant fork and add tuned benchmarks
    • · Compare Gemma 4 MTP performance to Qwen 3.6
    • · Reframe vision support and add benchmarks for Gemma 4 MTP
    • · fix(post): remove redundant post-header border-bottom causing double line with hr.divider-gradient
    • · Add Gemma 4 MTP setup post
    • · style(post): image density pass — smaller hero, max-height cap on body images, fix double-line
    • · Add vision benchmark note to MTP post
    • · Reframe vision support in MTP blog post
    • · Update post to reflect vision support in MTP
    • · Update MTP blog post: MTP merged into mainline
    • · chore(utils): remove stale scripts
    • · style: simplify off-white editorial theme
    • · Update MTP blog post with comprehensive benchmarking, parameters, Gemma 4, and spec-decode concepts
    • · Add advanced MTP tuning notes to Qwen 3.6 post
    • · Update Qwen 3.6 MTP post with pre/post results, fodder, and image notes
    • · feat(posts): add generated thumbnail metadata
    • · fix(11ty): resolve TemplateContentPrematureUseError via safeContent helper
    • · Add Qwen3.6 MTP blog post
    • · fix(projects): filter private repos and remove manually curated private projects
    • · rename(lexicon): grandiloquent → lexicon everywhere
    • · add wikibones post thumbnail
    • · docs: remove stale footnote reference from wikibones post
    • · chore: humanize Wikibones post and bump version to 2.0.7
    • · feat: add utility snippets for network scanning and site mirroring, and define humanizer agent skill
    • · feat(posts): add editorial writing primitives
  • April 2026 git history
    Commits
    • · Docs: add cost-effective-coding-agents update note
    • · feat(notes): sync frontmatter and update feed collection mapping
    • · refactor: standardize feed card classes and fix masonry layout for grid view
    • · refactor: update tags in 2026-04-25-tps-over-quality note
    • · refactor: update Vault 76 structure to separate personal records from notes and add post on Obsidian usage philosophy
    • · feat(notes): add TPS over Quality note and finalize inbox manifest
    • · feat(inbox): update skills for manifest-update and cleanup manifest
    • · feat(blog): add hero sketch for obsidian post and replace em dashes
    • · docs: add workflow instructions and new skills
    • · feat(ui): standardize content attribution and fix feed rendering
    • · feat(homepage): update site index to include Snippets and Feed
    • · style(design): complete editorial typography migration across all pages
    • · style(design): fix vanilla font in authorship badge label
    • · feat(homepage): rename Selected Work section to START HERE
    • · style(design): revert editorial title sizes to original baseline
    • · feat(homepage): remove draft post from featured work
    • · style(design): increase title sizes on notes and collection pages
    • · style(design): reduce line height in posts for a denser feel
    • · style(design): unify and sharpen background grain for light and dark modes
    • · style(design): refine dark mode texture for a cleaner aesthetic
    • · feat(now): archive previous update and launch v2 redesign entry
    • · fix(design): resolve vanilla font issues on feed and about pages
    • · refactor: migrate stats, projects, reading, and cv to editorial design system
    • · merge: integrate feat/workbench-homepage into feat/chaos-home-index
    • · fix: resolve mangled template tags and update qwen hero image transparency
    • · refactor: migrate templates to editorial design system
    • · feat(design): implement v2 workbench layout and typography system
    • · feat(design): migrate remaining collection pages to editorial type system
    • · feat(design): migrate reading, projects, stats to new editorial type system
    • · feat(quotations): add Geoff Hinton quote on GPT parameters
    • · feat: add new Grandiloquent collection for mental models and parables
    • · feat(quotes): add Bobby Kennedy quote
    • · feat(quotes): add Ralph Waldo Emerson quote
    • · feat(quotes): add Michael Scott and Warren Buffett quotes
    • · feat(quotations): add Alan Moore and Douglas Adams quotes
    • · feat(quotations): add Raj Nandan Sharma quote on AI and judgment
    • · feat: add Nietzsche quote to quotes and about page
    • · fix: gallery hover shadow overlay and masonry grid clipping
    • · feat: wide mode for gallery, vibes, and quotes pages
    • · fix(pages): convert md pages to njk to fix page-header indentation, loosen quotation clip threshold
    • · feat(ui): rebalance nav mega-menu, fix vibe icon, fix quotation clipping, move AI badge to header, redesign CV page
    • · design(ui): apply surface tokens to cartebase charts image sizing, update colophon design copy, remove redundant hr separators from cv
    • · design(ui): apply global surface tokens to stats tables and cartebase charts, use dynamic accent for drop caps
    • · design(ui): unify legacy custom boxes into global .surface design system
    • · feat(inbox): import 0 photos / 4 vibes / 15 ai-memes
    • · feat(ui): distinguish pinned and featured posts with bookmark icon and data cascade bugfix
    • · refactor(ai-memes): migrate to fully config-based folio via memes.yaml
    • · feat(inbox): import 4 ai-memes
    • · refactor: update quotation component UI, migrate routes to /quotations, and increase page-list pagination size
    • · feat: update blog content, add comparison table, and redesign quotation feed card layout
    • · feat: add meta post documenting 2026-04-16 development activity and costs
    • · feat: add blog post about agent IDE preferences and meta-log of daily development costs
    • · feat: add "In Search of the Agent IDE" post, implement transparent card styling, and update annotation layout logic
    • · feat: implement per-post image support with automated SEO metadata and archive thumbnails
    • · feat: add new blog post on Agent IDEs and update index layout to support featured post images
    • · feat: add support for post-specific images with automated processing and updated SEO metadata.
    • · Add blog sketch generation workflow, implement image processing scripts, and update post content with new assets.
    • · refactor: improve API reliability with robust error handling and add site-wide audit documentation
    • · feat: implement quotations page
    • · post(vault-76): iconize migration, terminal plugin, templates, 9. daily, changelog
    • · feat: add new AI-native projects to portfolio and publish retrospective and research posts
    • · feat: add documentation for agentic IDE workflows and update project listings
    • · feat(feed): implement denser stream lifestream layout
    • · refactor(blog): merge meta into agents, rename gpt-oss-benchmarks, update template
    • · refactor(blog): establish agents and homelab series, dismantle tech/personal folders
    • · feat(blog): add series callout and restore giscus threads for moved posts
    • · feat: group local inference posts into a series folder and add redirects
    • · chore: resolve merge conflicts with origin/main
    • · chore: merge main into dependabot branch and resolve package.json conflicts
    • · fix dates
    • · feat: add opt-in editorial post mode
    • · feat: add /data and /listening cartebase dashboards
    • · feat: add blog post about Claude Code
    • · content: correct dates for wukong TIL and qwen3 post
    • · content(quotes): add four new quotes
    • · fix: update setup instructions and improve clarity in Gemma 4 documentation
    • · content: add TIL note about Goku and Wukong etymology
    • · content: add TIL note about deck shuffling probability
    • · docs(agents): add inbox cleanup step to media-import skill
    • · feat(media): implement automated ingestion pipeline and ingest inbox batches
    • · feat(agents): add media-import skill for unified inbox ingestion
    • · feat(projects): native github profile card built from github-card.js data
    • · feat(projects): swap static github card png for live github-readme-stats svgs
    • · feat(projects): add github.cards profile image to github activity section
    • · fix(photos): replace ai-generated captions with short human titles
    • · feat(feed): clip oversized note cards with fade overlay
    • · feat: add copy as markdown functionality to technical content
    • · fix: add prompts collection and navigation entries
    • · feat: enhance search functionality and visibility
    • · feat: add prompt library with bouncing balls challenge
    • · merge: reconcile divergent branches
    • · gemma 4 init
  • March 2026 git history
    Commits
    • · fix(folio): QA Agent Tick captions
    • · feat(site): finish 10-item polish batch
    • · chore(ui): make pinned indicators icon-only
    • · feat(folio): add agent tick view counter
    • · fix(folio): dedupe memes and refresh header motif
    • · fix(folio): contain meme media and hide unforwarder v2
    • · chore(instructions): switch workflow to main
    • · fix(post): remove gpt-oss merge markers
    • · feat(folio): expand agent tick archive
    • · feat(folio): add Agent Tick ✓ — AI meme archive
    • · merge: sonnet into main
    • · chore(metrics): add slug merge check utility
    • · fix(metrics): merge slug counters and add snippet views
    • · bunch of bench
    • · Polish post typography and update benchmarks
    • · Update gpt-oss-120b local inference post
    • · Add AI usage policy and content directives
    • · Update Qwen3-Coder-Next post with MoE benchmarks
    • · update aidar post: new pattern types, malfist calibration quote, references
    • · Update aidar blog post with current patterns and scan results
    • · chore: replace em dashes with normal dashes project-wide
    • · adjust authorship badge layout with `w-fit` and `flex-none` classes.
    • · now: add claude code stats screenshot with rookie numbers caption
    • · site: badges, notes, feed, now page, projects, reading list
    • · post: add GitHub link for window.carteakey.dev
    • · post: code is live at window.carteakey.dev
    • · note: add link to Zed disable AI blog post
    • · notes: split toggle+aidar into its own note
    • · fix: tag Self-Host casing to match existing convention
    • · fix: tag RPi to match existing convention (avoid duplicate permalink)
    • · post: better windowswap example + live site screenshot
    • · post: tags rpi + self-host
    • · post: tag rpi only
    • · post: add images and trim tags to 2 for WindowSwap post
    • · post: Building My Own WindowSwap
    • · restore: feather icons in authorship-badges note body
    • · fix: note feed preview content and remove shortcodes from note body
    • · authored_by: final pass — gpt-oss-120b human, all posts classified
    • · authorship: softer AI generated copy, toggle idea to inbox, note placeholder
    • · remove tailwind TIL; update template with draft + authored_by docs
    • · authorship badges: complete coverage pass
    • · authorship badges: compact feed variant, multi-type pinning, note fix
    • · authorship badge system: human / ai-assisted / ai-generated / unclassified
    • · NEAT framework: rename TEA→NEAT, publish post, draft system improvements
    • · radiohead folio: individual album icon placeholders + onerror fallback, live-videos TOC entry
    • · radiohead folio: album icons, classified box, err line, dark print, bear cat, og image
    • · radiohead folio: polish pass — live videos, OG tags, print css, on a friday, astoria, site9 radiohead.tv, 64kb
    • · radiohead folio: live videos section, curation footnote, links.md sync, inbox notes
    • · radiohead folio: reorder sections (music moved to pos 6), add TOC
    • · radiohead folio: add HTTT live album, fix mobile footer, add inbox notes
    • · fix(folio): reorganise music section, fix links, add radiohead.fr
    • · feat(folio): link albums, b-sides, and dead link Wayback archives
    • · fix(folio): remove personal notes, add OKNOTOK reissue
    • · fix(folio): move dead links section to last before closing scribble
    • · fix(folio): hide top eyebrow, single-line footer, increase subline visibility
    • · fix(folio): change site thumbnail format from jpg to png
    • · feat(folio): add thumbnail slots for archive site cards
    • · fix(folio): trim intro, remove dead W.A.S.T.E. Links entry
    • · feat(folio): add plain link index page at /folio/radiohead/links/
    • · fix(folio): remove duplicate Injektilo, add Slowly Downward, fix descriptions
    • · feat(folio): add missing content entries, CSS quirks, visitor counter, dead links
    • · feat(folio): complete album discography, dead links section, fix descriptions
    • · feat(folio): add missing sites from research (Not For Profit, Et Cetera, At Ease, Radiohead Almanac)
    • · feat: Introduce the 'folio' content type, add a new bookmark, and update the Obsidian vault structure post with tool selection and an expanded hierarchy.
    • · feat(folio): add /folio/ section with Radiohead web archive
    • · Add -ctk q8_0 and -ctv q8_0 params to Qwen3-Coder-Next config, update changelog
  • February 2026 git history
    Commits
    • · feat(uses): add Audio section, update peripherals
    • · feat(uses): reorganize into Organize section, update devices and tools
    • · fix: ? shortcut overlay (Shift key was blocked)
    • · fix: v1.8.3 — bare-key shortcuts (no browser conflicts), search shortcut, uncapped changelog, archive images
    • · feat: v1.8.2 — notes page, Ctrl/Cmd shortcuts, git changelog history, stats fixes, footer links
    • · feat(stats): dense redesign with real word count + posts-per-year bars
    • · feat: creative features — colophon, now archive, TIL, reading shelf, changelog timeline
    • · docs: add creative features roadmap to TODO.md
    • · fix(mobile): feed date as 'Feb 26' mobile / full on 480px+; hero center mobile only
    • · fix(hero): center links on mobile, left-aligned on sm+
    • · feat: microposts → notes with pages; nav/mobile/footer fixes v1.7.2
    • · feat: Dense Editorial redesign v1.7.1
    • · fix: homepage masonry grid, mobile slider dot, footer mobile layout
    • · fix(nav/feed): mobile nav, consistent view toggles, feed search in header
    • · feat: teal default accent, dynamic feed grid heights, CSS cleanup
    • · feat(nav): slider in nav bar; unify site title; slightly taller nav
    • · fix(slider+hover): slider thumb visible; title-hover unlayered
    • · fix(hover+slider): title-hover specificity fix; accent slider explicit window call
    • · fix(snippets): reverse sort — newest first, matching blog
    • · feat(snippets): match blog layout exactly; fix homepage feed grid/nav
    • · fix(links): gray by default, accent on hover; fix avatar CSS; homepage feed grid-default
    • · fix: v1.6.2 — copy buttons, blog sort, feed links, snippets, image centering
    • · fix: v1.6.1 — code blocks, avatar, image shortcodes, projects/gallery cleanup
    • · feat: v1.6.0 — accent fixes, feed list/grid, stats hero, footer icons, dep bumps
    • · feat(post): redesign post navigation with title-hover, meta labels (v1.5.8)
    • · fix(typography): scope site-content links to prose elements, TOC styles, nav isolation (v1.5.7)
    • · feat(ui): density pass, accent variable cleanup, text-size consistency (v1.5.6)
    • · feat(typography): drop prose, custom site-content CSS, density pass all pages (v1.5.5)
    • · feat(ui): complete accent color system + full redesign sweep (v1.5.4)
    • · fix(ui): design consistency sweep across all remaining pages (v1.5.3)
    • · fix(layout): reduce page max-width (3xl→2xl, 4xl→3xl, 5xl→4xl)
    • · fix(ui): accent color system + now/snippets/search/games/workouts design consistency
    • · feat(ui): Ground-up redesign v1.5.1 — coherent design system
    • · feat(ui): Dense Editorial redesign — flat rows, tighter typography, less chrome
    • · refactor: update project listing to use a list format and improve layout
    • · feat: add new post on measuring AI-like writing styles with aidar tool
    • · docs: flesh out databricks EDA blog post methodology
    • · cj
    • · docs: Update post description.
    • · Add post: Ramblings on Running an Army of Very Smart Five-Year-Olds
    • · feat: add new CachyOS setup and SSH snippets, and adjust existing post titles and formatting.
    • · docs: Update Amp free tier status to full
    • · docs: Add note on token efficiency of non-thinking models
    • · feat: Add a comprehensive blog post template demonstrating Eleventy features and related coding agent images.
    • · docs: Apply review suggestions to cost-effective agents post
    • · feat: site improvements, lighthouse fixes, and uses page redesign
    • · fix(post): remove Pandoc anchor from qwen3-coder-next post causing Nunjucks parse error
    • · feat: add blog post detailing optimization of Qwen3-Coder-Next for 40 t/s local inference.
    • · feat: add redirects for blog post URLs with spaces to improve SEO
    • · feat: add redirect for optimizing gpt-oss-120b blog post
    • · feat: add click-to-zoom for images, widen layout, new random fact
    • · fix(blog): accent-themed featured link, fix list sort, add ChatGPT themes micropost
    • · feat(blog): add pinned post support, fix featured post, consistent styling
    • · meh
    • · updated gpt post
    • · updated avatar
    • · fix(blog): hide drafts from tag pages, add unified draft banner, standardize tags, fix upvote & layout
    • · Create Blog “2026-02-12-dont-give-away-to-the-gradient-descent”
    • · style: Remove background image from dark theme body.
    • · feat: add skills radar page, update about/CV, and blog post (draft)
    • · feat: redesign footer, guestbook, projects, uses & more pages
    • · fix: handle null track data in currently playing response
    • · fix: update permalink for More page to /more-card/
    • · nice
    • · Revert "fix: apply zen colors with higher specificity"
    • · fix: apply zen colors with higher specificity
    • · style: compact projects cards for higher density
    • · docs: update CHANGELOG and TODO for v1.4.5
    • · feat: search filter on blog, white card bg, fix endif, npm update
    • · style: standardize UPDATED labels to uppercase format
    • · fix: remove duplicate footer nav, keep accent switcher
    • · feat: enhanced footer nav, uppercase tags, 2x2 more page
    • · fix: blog grid, zen colors, more page descriptions
    • · fix: revert footer to icons-only, convert more.md to more.njk
    • · feat: major UI improvements batch
    • · feat: increase information density across site
    • · refactor: unify UI/UX with centralized design system
  • January 2026 git history
    Commits
    • · fix: Update quote request to specify "plain English text" and improve layout styles in posts list
    • · feat: Enhance UI components with new styles and animations
    • · feat: add "Hidden (Draft)" toggle for blog posts and update version to 1.4.2
    • · feat: add service worker for offline support and caching
    • · Create Blog “2026-01-02-using-claude-code-or-any-other-agent-for-data-analysis-on-databricks-draft”
  • December 2025 git history
    Commits
    • · chore(deps-dev): bump eleventy-plugin-feathericons from 1.1.0 to 2.0.0
  • October 2025 git history
    Commits
    • · feat: enhance McAfee experience section with detailed project contributions and technologies used
    • · feat: update post title to remove draft status for webcam server project
    • · feat: add new post on turning an old webcam and RPi into a camera server; include images and timelapse GIF
    • · feat: remove Personal Braumgartner Restoration post; delete outdated content
    • · feat: add Personal Braumgartner Restoration post with photo restoration examples; include new images for before and after comparisons
    • · feat: adjust max-width for layout container to improve responsiveness
    • · feat: update changelog for version 1.3.20; add redirects for legacy blog URLs; enhance workouts and games snippets layout; improve now page styling; refine quotes section; update version info
    • · feat: add guestbook page and Netlify form; enhance game and workout snippets; unify card styles across components; improve playtime display; update stats intro; refine quotes layout; bump version to 1.3.19
    • · chore: update changelog for version 1.3.18
    • · Refactor featured content normalization and sorting logic; enhance games snippet layout; update about page styling; improve blogroll design and functionality; refine bookmarks presentation; enhance games page aesthetics; update newsletter section for better UX; revamp projects display; adjust quotes page layout; clean up CSS for project and bookmark cards; enhance stats page styling; optimize vibes page layout; improve workouts section presentation; bump version to 1.3.17.
    • · feat: update changelog for version 1.3.15; enhance grain overlay texture, improve post imagery, and refine mobile navigation
    • · feat: remove unused font files from JetBrains Mono and Poppins
    • · feat: update changelog for version 1.3.14; add load-more functionality to feed page, enhance backdrop texture, and improve font handling
    • · feat: add new font files for Saira, IBM Plex Mono, Urbanist, Exo 2, Arimo, Rubik, and Crimson Pro
    • · feat: update changelog for version 1.3.13; add random fact feature, homepage post card, and feed links; adjust global font size and fix breadcrumbs
    • · now update
    • · feat: update layout for post template and add new blog post on AI workflow
    • · feat: simplify layout classes in multiple templates for consistency
    • · feat: update changelog for version 1.3.12; add new blogpost entry, enhance feed layout, and implement fallback for GitHub contributions
    • · feat(todos): update TODO list with new blogpost and layout tasks; enhance feed card styles and layout
    • · feat(todos): add new blogpost entry and update card style descriptions in TODO list
    • · feat(layout): update styles for comment pointer and outline sections
    • · feat: update changelog for version 1.3.11, enhance layout styles, and fix layout issues
    • · feat: update changelog for version 1.3.9, enhance layout styles, and implement masonry grid for feed
    • · feat: update changelog for version 1.3.8, add comment pointer component, and enhance layout styles
    • · feat(fonts): add Poppins font family in various styles and formats
    • · feat(layout): add accent-aware reading frame
    • · feat: add GitHub contributions component and integrate into projects page
    • · chore: update project documentation and add agent instructions
    • · feat: add Copilot playbook for contributing guidelines and workflows
    • · fix: correct title formatting in optimization post for clarity
    • · feat: enhance EthicalAds integration with improved layout and breakpoint adjustments; add new microposts and remove outdated benchmarks
    • · Add EthicalAds integration and enhance image handling
    • · feat: update changelog for version 1.3.2, add EthicalAds setup documentation, and enhance feed view with improved styling and content types
    • · feat: add asset copying functionality and enhance feed collection with additional content types
    • · docs: site improvement TODO list
  • September 2025 git history
    Commits
    • · fix(footer): add spacing to Made with section
    • · refactor(footer): simplify navigation with separators instead of categories
    • · feat(stats): enhance stats page and add unified feed
    • · fix: improve footer organization and navigation structure
    • · feat: batch 1 - organize footer, fix stats bug, add bookmarks & github graph
    • · feat: improve navigation and stats page
    • · docs: add newsletter setup guide
    • · refine: improve search, blogroll, layout and navigation
    • · feat: add search, related posts, loading states, blogroll, and newsletter
    • · fix: easter eggs and reading time layout
    • · feat(ux): add estimated reading time to blog posts
    • · feat(seo): add JSON-LD structured data for better search engine understanding
    • · feat(seo): add Open Graph and Twitter Card meta tags
    • · feat(navigation): add breadcrumb navigation for better UX
    • · feat(easter-eggs): add fun hidden features to enhance user engagement
    • · feat: enhance layout and styling for improved visual consistency across pages
    • · feat: update typography and font usage for improved readability and consistency
    • · feat: enhance sidebar layout with scrollable content area
    • · feat: add Plus Jakarta Sans font files for enhanced typography options
    • · feat: update layout and font usage for improved readability and consistency
    • · feat: update reference link format for clarity in optimization guide
    • · feat: update community resource links for gpt-oss-120b optimization
    • · feat: update personal description in index.njk for clarity
    • · feat: update CPU pinning method to use taskset for better P-core isolation
    • · feat: optimize gpt-oss-120b run script and update CPU pinning method
    • · feat: add additional optimization parameters for gpt-oss-120b local inference
    • · feat: add virtual photo entry for Son Wukong
    • · feat: update posts collection to sort by date and enhance recent posts display
    • · feat: add new virtual photo entry for Son Wukong
    • · feat: add new posts on personal experiences and hardware insights
    • · feat: add additional community resources for optimizing gpt-oss-120b performance
    • · fix: update experimental parameters section for clarity and formatting
    • · refactor: update prerequisites and optimize formatting in inference guide
    • · fix: correct token processing results and enhance script formatting in optimization guide
    • · feat: add GIF handling in image shortcodes with public URL mapping
    • · feat: add new static images for enhanced visual content
    • · feat: add guide for optimizing gpt-oss-120b local inference on consumer hardware
    • · feat: enhance Vibes page with shuffle button and responsive image layout
    • · add new vibe images
    • · feat: add Vibes page with dynamic image loading and layout adjustments
    • · feat: add utility filters for site statistics and update stats page layout
  • August 2025 git history
    Commits
    • · feat: add site statistics page with detailed metrics and activity tracking
    • · fix: standardize tag capitalization in blog post metadata
    • · feat: add installation guide for Copyparty and remove outdated debounce snippet
    • · Create Blog “2025-08-05-between-two-worlds”
  • July 2025 git history
    Commits
    • · feat: implement bulk photo processing with AI-generated descriptions and metadata handling
    • · add new photography entries
    • · feat: add new photography entries with detailed metadata and images
    • · feat: enhance GPS data handling and improve EXIF metadata extraction
    • · feat: add new images and descriptions for various photography entries
    • · feat: add exif-reader and inquirer dependencies; update yargs version
    • · feat: enhance image description generation with improved AI model integration and error handling
    • · feat: add script to process images and generate descriptions using AI models
    • · feat: add image for single or multiple vaults illustration
    • · feat: add new blog post on organizing notes and resources with Obsidian
  • June 2025 git history
    Commits
    • · fix: remove redundant section on programming abstraction evolution
    • · blog: add new blog post on the evolution of programming
    • · feat: add accent color theme management and enhanced footer navigation
    • · fix: enhance caching logic for Strava token and activities
    • · feat: implement quote of the day functionality and add static quotes page
    • · fix: remove error handling for non-array responses from GitHub API
    • · blog: add animated image from 'The Wind Rises'
    • · fix: improve caching logic for Strava activities
    • · feat: add Steam games integration
    • · fix: remove unused mermaid plugin from dependencies
    • · fix: remove unused mermaid plugin and add archive-specific date filters
    • · fix: handle non-array response from GitHub API and improve error logging
    • · fix: add link to view all recent workouts in workout snippet
    • · fix: update workout page layout and improve date formatting
    • · fix: improve map image rendering in Strava activities
    • · feat: add Strava integration with activity fetching and display
    • · add new entry for June 22, 2025
    • · fix: correct capitalization of 'Life' tag in happiness quotient post
    • · Update src/_includes/layouts/base.njk
    • · fix: Improve image responsiveness in Atom feed
    • · feat: Switch to Atom feed using virtual template
  • May 2025 git history
    Commits
    • · blog: add new post on the happiness quotient
    • · feat: Add RSS feed
    • · feat: update CV with new job titles and responsibilities
    • · feat: enhance README with detailed project description, tech stack, and features
    • · feat: add new blog post on the TEA framework and its tech stack
    • · feat: add mermaid plugin for diagram support
    • · feat: add now page collections and archive functionality
    • · fix: ensure post remains hidden by default
    • · feat: add snippet functionality
    • · add new blog post on quirks of owning a Mac
    • · feat: add custom collections to filter out hidden and future-dated posts
    • · Create Blog “2025-05-03-guide-to-forcing-or-blocking-windows-updates-draft”
  • March 2025 git history
    Commits
    • · feat: add GET method to fetch upvote count and improve upvote handling
    • · fix: improve wording for clarity in blog post
    • · fixed wording and title
    • · Create Blog “2025-03-28-ghiblicize-everything-or-should-we”
    • · stuff that cant be done via CMS
    • · Create Blog “2025-03-22-the-unforwarder-how-i-stopped-backing-up-junk-photos”
    • · feat: add new photographs and update gallery description
    • · feat: enhance dropdown functionality with hover support and transition effects
    • · feat: integrate Alpine.js for enhanced dropdown functionality in navigation
    • · feat: update gallery header
    • · feat: enhance navigation layout with dropdown
    • · Create Blog “2025-03-15-mounting-additional-drives-in-wsl2-draft”
    • · feat: add meta generator tag for Eleventy in base layout
    • · feat: update gallery layout for better image display and add new photo entries
    • · feat: enhance gallery layout with responsive design and improved image handling
    • · feat: update photo entries and add new images for gallery
    • · style: update layout for personal projects section with improved styling
    • · feat: add thumbnail shortcode for generating gallery image thumbnails
    • · fix: remove unnecessary whitespace in base layout template
    • · fix: add timeout to Ollama API request for improved reliability
    • · feat: add new gallery page
    • · content: add new real photo of Downtown Toronto with metadata
    • · feat: enhance photography gallery with improved metadata and custom captions
    • · feat: add photography gallery with real and virtual photos
    • · fix: correct formatting and improve clarity in blog post on exposing local LLMs
    • · feat: integrate Ollama API for quote generation with fallback to OpenAI
    • · Update Blog “2025-03-06-exposing-local-llms-to-the-internet-draft”
    • · Delete “src/static/img/alvin.png”
    • · Create Blog “2025-03-06-exposing-local-llms-to-the-internet-draft”
    • · Update Blog “2024-12-28-why-one-should-self-host-in-2024-draft”
  • February 2025 git history
    Commits
    • · feat: replace Utterances with Giscus for blog comments
    • · feat: add upvote functionality to blog posts
    • · chore: configure Netlify functions directory
    • · feat: add Netlify serverless function for upvoting posts using Upstash Redis
    • · Update Blog “2024-12-28-why-one-should-self-host-in-2024-draft”
    • · refactor: update Node.js version in .nvmrc to 22
    • · refactor: comment out styles for code blocks in tailwind.css
    • · refactor: remove external font links
    • · refactor: update layout styles and improve responsiveness
    • · refactor: adjust padding in posts list for improved layout
    • · refactor: update projects.yaml
    • · refactor: improve project showcase layout and styling
    • · refactor: enhance CV layout
    • · refactor: update Tailwind CSS to 4.0
    • · chore: update dependencies, improve README, and refine project tags
    • · refactor: migrate from CommonJS to ESM
    • · fix: update post title and correct Taiscale typo
    • · style: update CSS styles
    • · refactor:remove unused highlight.js and PrismJS references
    • · feat: add CV page and update Eleventy configuration
    • · feat: upgrade Eleventy to version 3.0
    • · feat: add Eleventy 3.0 configuration
    • · feat: update headshot image
    • · feat: add new headshot images for profile update
    • · feat: add custom font faces and update CSS styles in tailwind.css
    • · feat: update font family in Tailwind configuration
    • · feat: replace Google Fonts with self-hosted fonts
    • · fix: update job title and modify contact information in about.md
    • · (chore) update job title and company link in index.njk
    • · (feat) dependabot configuration for npm
  • December 2024 git history
    Commits
    • · Create Blog “2024-12-28-why-one-should-self-host-in-2024-draft”
  • April 2024 git history
    Commits
    • · added notes
  • March 2024 git history
    Commits
    • · Update Blog “2023-09-04-running-your-own-copilot-in-vscode-on-a-mac”
    • · Create Blog “2024-03-26-my-favorite-meme”
  • December 2023 git history
    Commits
    • · add cv link
    • · blog - dumbing down my iphone
    • · feat: missing config
    • · blog: cringe --
    • · feat: last update on CMS
    • · feat: image with captions
    • · feat: last update date
    • · feat: optimized image sizes. gotta push those lighthouse scores up.
    • · feat: custom classes in image tag.
    • · (projects) - new project image fix
    • · (projects) - new project
  • September 2023 git history
    Commits
    • · grammar tweaks
    • · misc
    • · Create Blog “2023-09-04-running-your-own-copilot-in-vscode-on-a-mac”
  • June 2023 git history
    Commits
    • · (misc) removed cv
    • · (fix) github repos list
    • · (fix) rollback snippet fix
    • · attempt #2 for redirects
    • · (fix) hardcoded cv url
    • · (fix) moved redirect to netlify.toml
    • · (feat) moved cv to notion
    • · moved cv to notion
    • · github projects
    • · (blog) - rename
    • · (feat) - better code snippets
    • · (blog) misc fixes
    • · (blog) misc fixes
    • · missing dots.
    • · Create Blog “2023-06-04-remoting-into-wsl2-externally-the-simple-way”
    • · (fix) - netlify cms cursor jump fix
  • May 2023 git history
    Commits
    • · (content) - added old blog project + few fixes
    • · new project
    • · remove annoying DS_Stores
    • · Create Blog “2023-05-22-repurposing-my-laptop-as-a-home-server”
    • · CV section
    • · Create Blog “2023-05-22-repurposing-my-laptop-as-a-home-server”
    • · new font for name
    • · resume update, portfolio > projects, misc tweaks
    • · nice
    • · less funk + dynamic code theme
  • April 2023 git history
    Commits
    • · funk++
    • · more funky pls
    • · mobile badge fix
    • · mobile navbar fix
    • · mono font - some personality
    • · lot of trimmed fat , formatting, custom font
    • · misc fixes
  • March 2023 git history
    Commits
    • · fix netlify build
    • · (feat) now playing widget
    • · (feat) netlify daily build hook
    • · (upgrade) bumped deps + webc experiment
    • · mastodon link + badge height fix
    • · mastodon icon
    • · height fix
    • · misc badge fixes
    • · misc stuff
    • · added openai plugin
    • · added certification badges
    • · added intro in landing page
    • · title change
    • · chatgpt powered quote lmao this is my peak
  • February 2023 git history
    Commits
    • · dynamic theme icon
    • · smooth scroll + some tweaks
    • · table of contents
    • · mobile friendly
    • · misc tweaks
    • · cleaner blog list
    • · Create Blog “2023-02-14-moving-my-site-from-jekyll-to-eleventy-part-ii”
    • · fix tags
    • · json to yaml contd.
    • · renamed assets to static, move json to yaml, new blockquote method
    • · renamed assets to static, move json to yaml
    • · add netlify CMS
    • · post: article name change
    • · added quote animation
    • · added utterances
  • January 2023 git history
    Commits
    • · redirect projects to portfolio
    • · fix chrome transition animation.
    • · projects --> portfolio
    • · cleanup structure + more tweaks
    • · mobile padding fix
    • · sharp edges only please
    • · project tweak
    • · design tweaks
  • December 2022 git history
    Commits
    • · mobile friendly tags
    • · twitter link
    • · date tag update
    • · projects image fix
    • · short images
    • · dark mode final
    • · dark mode toggle
    • · added favicon
    • · projects contd.
    • · projects page
    • · finally a fixed width ffs
    • · ngl this is almost there
    • · avatar src issue fix
    • · added avatar
    • · remove picture
    • · added emoji reference
    • · minor typo - obsidian
    • · adjustment to dark mode
    • · added dark mode + about pic
    • · vaapi article update
  • November 2022 git history
    Commits
    • · add github linkedin icons
    • · hide link anchors
  • October 2022 git history
    Commits
    • · article fix
    • · article fix
    • · tailwind
    • · tailwind migration complete
    • · minor fixes
    • · google fonts
    • · add tailwind
    • · added google analytics
    • · move to src
    • · move to src
    • · New Post - 30 Oct 22
    • · css format
    • · date fix
    • · rename Archive to Blog
    • · outputDir Typo
    • · outputDir typo
    • · Update README.md
    • · generate images directly inside site folder
    • · better images
    • · eleventy image
    • · remove syntax - add later
    • · prism + markdown emoji + cheeky block workaround
    • · added md plugins
    • · fix a typo.
    • · new post - jekyll to 11ty
    • · migrated images
    • · google font plugin
    • · migrated about me page
    • · migrated about me page
    • · migrated posts
    • · formatting njk
    • · updated metadata, removed feed, updated package.json
    • · 11ty starter blog
Subscribe