Code

A probably not entirely up-to-date list of my current side projects... There is plenty more to see on my GitHub account and generally around the internet if you are interested.

Analytics

A self-hostable analytics service with a straightforward API to track events from any source.

{
  "sha": "c314136d640eb01ac0994748380edcfd9be811c8",
  "commit": {
    "message": "Fix map popup font cascade and suppress no-data popups\n\nBootstrap's body font stack includes colour emoji fonts\n(\"Google Noto Color Emoji\", \"Segoe UI Emoji\") which bleed into the\n.datamaps-hoverover wrapper and cause glyph-level colour rendering on\nthe state name. Fix by pinning font-family, font-style, and font-weight\nexplicitly on the popup container so nothing inherits from the body\nstack, and add -webkit-text-fill-color:#fff directly on each text span.\n\nAlso return early with an empty string for states with no session data\nso hovering grey states produces no visible popup instead of \"0 session\nstarts\".\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
    "date": "2026-02-21T16:40:20Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

Status

A self-hosted status monitoring service.

{
  "sha": "29ef9ac1d74e121a7835242018957030da2c5374",
  "commit": {
    "message": "Refactor property email templates to use base template\n\n- Extract common HTML structure into property_email_base.html\n- Remove duplicate boilerplate code from property_down.html and property_recovery.html\n- Improve maintainability and consistency across email templates",
    "date": "2025-06-01T18:33:32Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

Blog

A self-hostable blog built on Wagtail targeted towards developers with code blocks, syntax highlighting, live search, great SEO, and a clean customizable UI.

{
  "sha": "40f185b3ddfa78ba96fa59aac0fe084cfe3a97c9",
  "commit": {
    "message": "Try --ignore-installed flag to install pipenv, latest version broke",
    "date": "2024-10-26T14:31:10Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

Timelite

A simple time tracking progressive web app. Uses local storage and service workers to remain accessible offline. Sometimes you just need the essentials when you are busy.

{
  "sha": "cf4cdb93551a494420ec95319df4f29e211c631d",
  "commit": {
    "message": "Update dependencies to latest and configure dev indicator position\n\n- Upgrade all packages to latest (notably Next.js 15→16, React 19.2.4, react-hook-form 7.71.2)\n- Add next.config.js with devIndicators position set to top-right\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
    "date": "2026-02-21T13:53:50Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

Timestrap

A full feature time tracking web app. Supports multiple users and exporting reports in multiple formats. Makes use of websockets to maintain state across clients.

{
  "sha": "a0633024e1cc189656a0293eacbdfc3af736532a",
  "commit": {
    "message": "Add alpine version lock to Dockerfile",
    "date": "2023-04-03T23:29:58Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

isaacbythewood.com

The personal website of Isaac Bythewood. So this site...

{
  "sha": "424a109cf97803a2b9c94e17e980d0bbfc5a59ed",
  "commit": {
    "message": "Delay home page animations until background image loads\n\nHold the name slide-in and description fade-in animations in a paused\nstate until the background image fires its onLoad event, preventing\nthe animations from running against a blank/unloaded background.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
    "date": "2026-02-21T13:44:53Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

New Tab

A clean new tab page extension for Chrome.

{
  "sha": "4beaa628a7bd8b6073e8ea41bb4fc06616165813",
  "commit": {
    "message": "Revert \"Add new background image\"\n\nThis reverts commit de2ca340b29c961068a5ec2e7ed661729045ea5e.",
    "date": "2022-08-21T00:08:52Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

dockerfiles

All the Dockerfiles I use for various purposes. More detailed usage instructions are at the top of each Dockerfile.

{
  "sha": "9b7cc6f89d12a0fa4d249b821afeca6227dbc3aa",
  "commit": {
    "message": "Update webdev Dockerfile: rename Dev Containers plugin reference and swap pipenv for uv\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
    "date": "2026-02-20T23:01:21Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

alpinefiles

Some of the files that I use on my Alpine Linux servers.

{
  "sha": "e34db37814aee1a915bd903fc0ccc4848190aef7",
  "commit": {
    "message": "Add daemon.json",
    "date": "2022-09-11T21:26:27Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub

dotfiles

A variety of config files for setting up new systems.

{
  "sha": "0e17ca88b954532f78bdc226d0ae0b2097024c0a",
  "commit": {
    "message": "Remove spacevim install",
    "date": "2024-07-13T16:38:16Z"
  },
  "author": {
    "name": "Isaac Bythewood",
    "email": "isaac@bythewood.me"
  }
}
GitHub