Skip to main content

changelog

TLDR: This page just keeps track of all the changes done to the site over time.
A nice way to follow its evolution and milestones.
The current carbon footprint is 0.05g.

In my introductory post, I mentioned the concept of a 'minimum viable site'. This means launching with the basics, knowing it won't be flawless. Yes, there will be bugs, a bit of messy code, and some features might not work perfectly right off the bat. But that's all part of the adventure!

I employ something called "working with the garage door open." You'll be able to follow my journey, see my attempts, successes, and missteps. And who knows? You might even find the spark to kickstart your own side projects.

The only caveat is that my code is not public, but this may change in the future.

Sep 24, 2026
  • Tabs get a sliding underline, and story chapters now have the same reading-progress bar journal entries already had.
  • Journal headings now get a # that copies a link to that section. There's a tooltip too, so it isn't a mystery #.
  • Tooltips wait a beat the first time, then open instantly as you move to the next one. Arrow keys in the photo viewer and command palette no longer animate, because the animation was lagging behind the key.
  • Every animation was picking its own duration and curve. They now share one set: quick for hover and press, a bit longer for panels. Buttons dip when pressed, and images only zoom on devices that can hover.
  • Chrome and Edge now prerender the page you're about to open, so links feel faster.
  • Desktop galleries were cropping photos to fit fixed-height rows. Rows now flex to fit the photos instead, portrait rows get taller, and panoramas get a row to themselves. All photo sets also come from one template now, so a set added in the CMS gets its own page.
  • The Assumed Audience box, and every other callout, was a pastel slab that shouted louder than the essay. They're dark panels with a coloured edge now.
  • Posts now open with a proper title, an optional one-line dek, and a single quiet line for planted, tended and reading time. The title used to be smaller than the headings below it.
  • Journal entries are now set in Source Serif 4. I ran a body-font bake-off on the lab page and it won. Sizes across the site also scale smoothly from phone to wide screen instead of jumping.
  • The font request asked for an axis Inter doesn't have, so Google quietly dropped Inter and interface text fell back to whatever sans-serif your device has. Fixed, italics included.
  • The homepage hero now shows the edition number for every edition, loads an image sized for your screen instead of the full original, and phone headlines no longer get cut off.
  • Text is warmer and easier to read on dark. Visitors whose computers are set to light mode were also getting grey text on the dark page (the table of contents was barely readable). That's fixed, and an automated check now catches contrast failures on 17 pages.
  • Added a proper 404 page with a random photo from the site. The old one redirected to a page that didn't exist. Phones also get a navigation row now, and on wide layouts the header and footer line up with the page.
Sep 17, 2026
Fixed the "last read" card quietly showing its placeholder: OpenLibrary retired the endpoint it relied on, so book pins now use its Editions API. Some covers also showed as broken images, so they now come through the site's own image proxy.
Sep 14, 2026
Fixed the UPDATED/SEEN gallery badges: UPDATED had been silently gated behind 'not seen', so a re-visited gallery could never show it again after new photos were added. Gave UPDATED a 30-day expiry too, and fixed a contrast failure on the badge itself.
Sep 13, 2026
Added OpenGraph metadata sitewide, including per-gallery og:image, so journal posts and photo galleries get proper preview cards when shared. You are sharing them, right?
Aug 20, 2026
The homepage now leads with a redesigned hero above the fold, built around whatever journal post is newest. It's kinda like a new edition each time. The rest stay put underneath, unchanged.
Aug 20, 2026
  • Backfilled tags across the 31 journal entries that didn't have any, using a shared vocabulary (film, tv, games, music, tech, culture, personal, essay, review, site-update...) so tag overlap can actually power related-post matching down the line.
  • Added FLIP+WAAPI shared-element transitions to the photo and wallpaper lightboxes. This makes the clicked thumbnail now grow into place on open and shrink back on close, with a crossfade between images instead of a hard swap.
Aug 16, 2026
  • Added blurry placeholder images that load instantly and sharpen into the real photo as it loads in so no more blank tiles or pop-in on the photos index, carousel, and wallpapers.
  • Added the Wandering collection, starting with 11 Timișoara photos.
Aug 11, 2026
Replaced Trakt with manual film pins plus TMDB poster/director fetches.
Jul 22, 2026
Fixed YouTube and Notification components not rendering inside journal MDX files.
Jul 9, 2026
Book pins auto-detect ISBN/OLID, with a Trakt poster fallback and proper OAuth token refresh.
Jun 28, 2026💥 BIG UPDATE
  • Rebuilt the Media Diary from scratch: new design, split data files by year, and a proper editorial intro.
  • Added a persistent site nav in the header for the most important areas (journal, media, projects) so you don't have to open the command palette just to get around.
  • Photo Stories are live! This is a new immersive format for long-form travel narratives. Each story has a cover page, a chapter grid, full-bleed photo blocks (single, inline, and multi-row), gear metadata, custom cards, day summary cards, and bottom chapter transitions.
  • Upgraded the site from Astro 5 to Astro 7 (via 6). This enables faster builds, better image handling, and a cleaner content layer.
  • I made my own CMS for writing and editing content directly on the site without needing my personal device close by. It handles journal entries, streams, wallpapers, videos, photo sets, and photo stories, with a live draft preview system that works in production.
  • Journal entry text is now slightly larger and more comfortable to read with a fluid font from 16px to 18px depending on screen width.
Jun 14, 2026💥 BIG UPDATE
  • Rebuilt the Media Diary from scratch — new design, split data files by year, and a proper editorial intro. It's no longer behind a feature flag.
  • Added a persistent site nav in the header (journal, media, projects) so you don't have to open the command palette just to get around.
Jun 11, 2026
  • Added Plot Twist and The Beef to the projects page.
  • Fixed a bug where the "latest" journal entry was computing its date relative to the wrong reference point.
Apr 7, 2026
  • Launched a /projects page with thumbnails, hover previews, and a command palette entry (Alt+P).
  • Fixed the mobile header and layout shell to respect iOS safe areas (Dynamic Island, notch, home indicator).
  • Mobile table of contents now defaults to the first heading on load, and Back to Top stays hidden until you actually scroll.
  • Page titles and social preview meta are now consistently lowercase.
  • Fixed a regression where navigating between journal entries on mobile caused the TOC to disappear.
Mar 23, 2026
Added a Mozambican Portuguese translation of the On Shelters journal entry.
Mar 11, 2026
  • Reading time is now a single source of truth, computed once at render and cached. No more inconsistent counts across the page.
  • Deferred tooltips, prefetch, and viewport observers so they don't block the initial paint.
  • Journal and wallpapers migrated to Astro Content Layer.
  • A bunch of accessibility and empty-state improvements across the index, journal, streams, and posts pages.
  • Wallpapers now have a proper fallback to the grid preview when the lightbox desktop image fails to load.
  • Fixed tap targets across the board.
Mar 8, 2026
  • Music page: change titles to yellow and a little hover on platform links.
  • Added new wallpapers and a preview generator script.
  • Tools and streams regressions and related fixes.
  • Paris, Milan, and Nice were still on their own inline lightbox (I honestly dunno what happened there). Migrated them to the shared one so Escape, arrows, and focus trap behave the same everywhere.
  • Streams got the same "Show older years" treatment as the journal and the same link/separator styling so the two sections feel consistent.
  • Wallpapers grid thumbnails used to pop in. They now use a blur placeholder until loaded, and the section heading uses the same accent as the other sections.
  • Tools already lazy-load off-screen icons; no change, just noting it.
Mar 7, 2026
  • Big refactor pass: critical fixes, code smells, docs, and perf.
  • Fixed a bunch of TS errors, added unit tests, and tightened local CI.
Feb 18, 2026
  • The homepage had "latest stream" and "latest posts" mushed together. Gave them proper sections and a bit of breathing room, and post links prefetch on hover so clicks feel faster.
  • The Journal index is starting to get long. Added a "Show older years" fold after the first five years and tightened spacing and link styling so it doesn't feel like a wall of text.
  • Post and stream layouts didn't have a way to move to the previous or next entry. Added prev/next at the bottom and prefetch on hover there too.
Jan 17, 2026
Added a tabs component for the storytelling.
Jan 11, 2026💥 BIG UPDATE
  • Lots and lots of framework upgrades.
  • Removed the media page cause it's going through a re-think.
  • Added a new Music page at /music for manually curated playlists. Each playlist supports Apple Music, Spotify, and YouTube Music links.
  • Added Music to the command menu (cmd-K). Removed keyboard shortcuts from all pages except Search Posts, and alphabetized the Pages group.
Jan 5, 2026
  • Redesigned the wallpapers page with a minimal, gallery-focused interface and a preview lightbox.
  • Introduced what I'm calling 'temporal friction'. It'sa publishing delay system that lets content breathe before going live. Part of a broader shift from production-focused to noticing-focused language.
  • Improved the media diary filter affordances and overall accessibility.
  • Softened photo card borders and made lightbox arrows less distracting.
  • Dates on journal and stream entries now appear blurred. I hope to encourage presence over chronology.
Dec 25, 2025
  • Rebuilt the videos page from scratch cause I was getting fed up with issues from the old one. No support for mobile, but there's a graceful mobile blocking screen.
  • Migrated all photos from Cloudinary to ImageKit, cause I was hitting the rate limit on the former.
  • Migrated the GameCard from Giant Bomb to the RAWG.io API cause there is no access anymore. The RAWG performance...is not good. I'll have to think about it.
  • Improved accessibility across the board: better heading hierarchy, ARIA labels, and proper navigation landmarks.
  • Removed the Tools page cause there's a few issues that I need to sort.
  • Removed Keystatic CMS integration. I realized it was not worth the hassle and I actually like using an IDE.
Nov 16, 2025
  • Partially rebuilt the photos system with EXIF-based sorting, and smoother mobile gestures.
  • Added Portuguese language support to the site! You can now browse some content in PT. New stuff will always have PT support, but I'll have to go back and translate older stuff..
Oct 18, 2025💥 BIG UPDATE
  • Launched a brand-new Photos section! You can now jump straight to the photos with the command menu (Alt+P).
  • Added a ton of under-the-hood performance and polish improvements: faster perceived loading, better mobile/touch gestures on iOS, and WCAG AAA compliance for the dark theme.
  • Also squashed a few bugs, including some broken journal navigation links and an issue where page transitions were getting a little too aggressive.
  • I've removed light mode completely from the site. A bit less accessibility, but way easier on my sanity.
Sep 13, 2025
Did a bit of code spring-cleaning. Tooltips should now behave more consistently across the site, and I fixed a bug where they weren't initializing correctly on the home page..
Sep 7, 2025
Shipped a big round of accessibility improvements across the site.
Sep 6, 2025
Another big performance boost for the videos page. The first couple of videos should load instantly, with the rest loading progressively in the background. Also eliminated some render-blocking code for faster page loads site-wide.
Aug 27, 2025
  • Gave links a fresh coat of paint: global dotted underlines with better focus and contrast. Win for accessibility!
  • Fixed the tooltips on the Media Diary page.
Aug 24, 2025
Added an Assumed Audience section to long‑form journal entries to make who each piece is for explicit.
Jul 27, 2025
A handful of new entries and tweaks across the site. Nothing breaking, just steady shipping.
May 2, 2025
  • This changelog got a small refresh: simplified link components and removed bullet points when there’s only a single item in the Timeline.
  • Set Dark as the default theme (it should have been anyways) and removed the old favorite-theme toggle.
May 1, 2025
Journal entries now have a Back to Top button.
Apr 11, 2025
Made a bunch of optimizations...but broke TippyJS. I sorted it out another way, but lost color to tooltips on the Media Diary page. Cannot deal at the moment - so I'll revisit at some pont in the future.
Apr 10, 2025
Updated the Table of Contents with a visual flourish. It's also now present on mobile devices as a dropdown menu with fancy animations.
Apr 9, 2025
  • The tools page is now live!
  • I've also removed the Changelog from the Command+K menu and replaced it with tools. There's one more major section coming to the site, after which I'll consider it feature complete. While it might seem hard to believe, I had a very specific vision for the site, and I'll focus on refining it from here on out. Of course, if the internet evolves significantly, it might require more substantial changes. But for now, these are my plans for the site as it stands. After this final section, I'll shift most of my focus more toward writing and other multimedia content.
Apr 3, 2025
  • Was meant to release an all-new page today, but something in the logic keeps throwing things out of whack. It's annoying me cause the page is 90% done and I was super proud of the dynamic-ish data. One day.
  • Tweaked the Wallpapers page for faster loading, with responsive images and a neat blur-up effect—no more staring at blank placeholders!
Apr 1, 2025
Filled in the timeline dots for bigger updates, making it easier to spot milestones at a glance.
Mar 31, 2025💥 BIG UPDATE
  • Upgraded the entire site to Astro 5!
  • Added a quick review icon to the Media Diary which serves as a one-line thought that you can hover over or tap on.
  • On the same page, the lyrics tooltip starts going beyond the viewport on mobile devices when it's more than 27 characters. It's been an issue identified in the past., and I am still unable to figure it out after trying multiple approaches. Will revisit later.
  • Ran a script to reduce the impact of the fonts on bandwidth by subsetting them to only the glyphs needed. A decrease of 58% for Inter fonts (both Regular and Black) and 10% for Nohemi Regular. Speed, yay!
  • Fixed keyboard shortcuts not showing in Firefox by updating the macOS detection method.
  • Updated this very changelog page to use the new Timeline component! It's much nicer, don't cha think?
  • Trimmed down the CSS file to remove unused code—less baggage, faster loads!
Dec 21, 2024
  • I've been consciously not making any changes to this site for a while as I was getting burnt out with all the screen time I put in at work.
  • Small update today (more on the way in the next few weeks/months).
Jun 27, 2024
  • Friend pointed out that my CMD+K menu is broken on any page that is not the home one 😬 - will also fix this later. Fixed.
  • The Command K menu didn't show the proper key bindings on Macs…which is hilarious cause MacOS has been my primary domain for close to a decade now. All sorted now.
  • Key bindings also do not display on mobile devices, because...it makes sense? Unless you connect a keyboard to it.
Jun 12, 2024
  • Just realized that I have TippyJS running on the headings on journal entries 🤦🏾‍♂️. This is because I initialized it for all a tags with href as content. Will fix it later.
  • I also haven't had any time to think of images to put on the new entries, design new components OR code. Someday soon, I hope.
May 23, 2024
I noticed that that Movie Card sometimes fails to properly match a movie or tv show. This lead to error codes...so I modified the code slightly to show a default image if that's the case.
May 12, 2024
Did some image compression for the wallpaper previews via Tinify and Compressor in some extreme cases. That section of the site should load faster.
May 5, 2024💥 BIG UPDATE
I set up another site. Fun little side project that allows me to experiment with a few things before bringing to this site.
Apr 13, 2024
  • Fixed the preview image not showing on the individual wallpaper pages. Changed the Image tag to img and put the height and weight in quotes, which I found was not necessary for the JSX-like syntax that Astro uses.
  • Changed the way the back button works. It was previously context-sensitive and looked at the previous window you were at. This was not a good idea and no one stopped me.
  • The images on the wallpaper page load rather slowly. Could be the size of the images. Will take a look later.
Apr 5, 2024💥 BIG UPDATE
  • Upgraded the site to Astro 4 and got a few more things to play with!
  • Photos are now lazy loaded everywhere.
  • Updated the color scheme in light mode (and developed my own internal guide for the colors and typography). The yellow in light mode isn't displaying properly - so I'll take a look again at some point.
  • Added a Wallpaper section. The reasoning is to make use of photos that I take and just get lost in a digital archive unless I post it on social media (rarely) or print them in photo books. Each wallpaper has desktop, phone and tablet versions of image downloads.
  • Removed dates from all Streams. I should remove the reading time too.
  • The Media Diary now allows you to filter by media type: to do so, just click on it to see it in action. Like so:

    the media diary section filter in action
  • Images slightly jumped out of place when using light mode on the Media Diary. All sorted.
  • Also on the Media Diary....When scrolling down, the months stay in place until you scroll to the next month. See:

    the media diary section filter in action
  • Set up Fancy apps, might use it later. Might not. The next big update is pretty photo heavy.
  • TippyJS now shows you a preview of the URL as a tooltip. I probably need to find a way to truncate long, long URLs. Something for future me.
Feb 2, 2024
Discovered that the heading list is duplicated when it goes to production. Will fix it soon. The culprit was Astro Compress. So...removed it.
Jan 15, 2024
The formatting for the digital garden part in my Post Layout is broken on mobile sites. I will fix it later. Sorted.
Jan 12, 2024
  • Changed font weight of certain sections on Media Diary page.
  • Omitted the year from each entry on the Media Diary page.
  • Fixed the dates for all media_data.json entries. Crazy oversight!
  • Due to a new year being added to the Media Diary, the padding went haywire. A little conditional rendering did the trick.
  • The images in the media cards did not fill up the container when viewed on an iPhone 14 Pro and above. All sorted.
  • Light mode on Media Diary needs some work. Completely forgot about it and I have to think about the right color combinations.
Jan 11, 2024
Small change to the home page: only the last 7 journal entries are shown.
Jan 10, 2024
  • Added tooltips via Astro Tooltips/tippyjs. I suspect that I will customize the animation at some point in the future. Removed Astro Tooltips and just set up TippyJS directly + small animation (shift-away-subtle) applied in April 2024.
  • Removed littlefoot.js as I didn't see how I would apply it in future journal entries.
  • Change the Post Layout to be more Digital Garden-y :)
Dec 16, 2023
Upgraded Inter font from v3 to v4. I don't use the full package, but it's nice to have.
Nov 13, 2023
Added live shows to the Media Diary page.
Nov 12, 2023
Discovered a bug of some sort. The Media Diary page only updates the Astro components on build time, I think. I need to investigate further.
Nov 9, 2023💥 BIG UPDATE
  • Simplified the code for this page. Line breaks still work inconsistently though.
  • Added a Videos page, and also added it to the Command Menu. I use Plyr there. The dev's focus has shifted to Vidstack, but it's not ready for primetime yet.
  • Added DaisyUI and decided against the removal of Accessible Astro Components. I'll use both.
  • Added a Media Diary page. For a full write up, please head here to read more.
  • Modified the Journal and Streams pages. These now include a year on the left and the day/month on the right. Plus separators.

    the journal page before and after
  • Added dynamic routing to the Back button on pages. What does it mean? If you click/tap Back it will bring you to previous page depending on where you accessed it from.
  • Added a progress bar if the journal entry has headings
  • The RSS feed wasn't in reverse chronological order. All sorted.
Oct 22, 2023
  • Tried to build a Digital Garden component that auto displays the time when something was planted and last tended to. Experimented with moment.js and date-fns, but I kept running into errors on the actual mdx file. Not in the best headspace to properly address it, so I will try again some other time.
  • Will retroactively apply the component to all journal posts when successful.
Sep 16, 2023
After many attempts to diagnose what the hell was going on....upgraded to Astro v3.0! But I couldn't get the site to work, so I downgraded to v2.10.
Sep 10, 2023
  • Applied a Cloudinary fix to some images. This is a stepping stone to a full Cloudinary solution.
  • Fixed the RSS feed.
Sep 9, 2023
I attempted to changed the directory of images to better reflect Astro's modus operandi. This would allow the site to better leverage the image optimization, and have higher quality images at the cost of the cool background effect à la the music player in iOS 11 - 16 in each journal post.

Unfortunately, I ended up breaking images all over the site. I will either rethink this or just upgrade to Astro 3.0 later.
Aug 29, 2023
  • Added Accessible Astro components. I might make my own in the future.
  • Realized I had built a wonky RSS feed and removed it. It will be back once I've sorted it out.
  • 😅 Keyboard navigation to pages was missing some Typescript. All sorted.
Aug 2, 2023
  • Added a quick link to file an issue on Github to this page.
  • Had Personal Projects as a heading on the home page. This is a holdover from an earlier version that made it to primetime. Oops.
  • I had overwritten the Back link with a custom header like the home page. All sorted.
Jul 29, 2023
  • Just set up this Changelog page. Initially, I thought of creating a component to make writing easier (using Markdown), but it seemed like overcomplicating things. So I decided to keep it simple, just one straightforward page without extras like a Table of Contents or asides. The TOC would get unwieldy always. Squandered opportunity for an aside right there.
  • Added the Changelog page to Command Menu.
  • Noticed a minor oversight in the code where the LatestStream Astro component was pulling from all posts rather than just the Streams section. It didn't affect anything in practice, but it was something that needed fixing.
  • Updated the keyboard shortcuts to link to different pages. Makes navigating a bit quicker!
Jul 17, 2023
  • Launched! Ahem…Github says it's 18 July 2023, but what happened is that I broke the footer and Table of Contents really badly. I tore the entire site down and went through almost every single line of code to address the issues. Let me tell you, I was very frustrated.
  • I toyed around with a font I've always liked, Nohemi. Unfortunately, it didn't quite hit the mark for legibility, leading me to default to Inter, which is quite nice. I might reconsider deploying the former for headers… but that's a thought for later.