I Shipped...

28 October 2022 (1PR)

21 August 2022 (1PR)

add a 'clickHandler' export which allows you to handle clicks on data points

Svelte Tiny Linked Charts is a small library for rendering sparkline charts in Svelte apps. Previously, the charts were display-only — you could look at them but not interact. I added a click handler so developers can run custom code when a user clicks on a data point in the chart, like showing more details about that value.

13 August 2022 (1PR)

using EXIF data for file names will give more accuracy

I updated my family photo management app to use EXIF data (the metadata embedded in photos by cameras, like the date and time a photo was taken) for generating file names. This gives much more accurate file naming than guessing or using arbitrary names, making it easier to organise and find photos.

7 August 2022 (1PR)

fix typo

CapRover is a self-hosted platform for deploying apps with one click. One of its app templates had “STMP” instead of “SMTP” (the protocol used for sending email). I fixed the typo.

13 January 2022 (1PR)

joeinnes/issue4

Notesvac is a small app I built for tracking notes and vacation days. I improved the styling to make it feel more like a native app and added a proper footer with privacy policy and terms of service information.

10 January 2022 (1PR)

allow passing 'version' to Knex

Directus is an open-source headless CMS that connects to your database. Some cloud database providers require you to specify a database version, but Directus wasn’t passing that setting through correctly. I fixed it so that setting a DB_VERSION environment variable actually works as expected.

6 January 2022 (1PR)

add defaultLayout as an optional property in markdownOptions

Astro is a static site framework. I added support for setting a default layout for Markdown pages through the configuration, so you don’t have to specify which layout template to use at the top of every single Markdown file.

1 December 2021 (1PR)

add a tip explaining HTTP Only cookies issue

Directus is an open-source headless CMS. I noticed developers in the Discord were frequently running into a confusing authentication error when building front-end apps locally. I added a tip to the docs explaining why the error happens (it is related to how browsers handle secure cookies during local development) and two ways to work around it.

29 November 2021 (1PR)

sveltekit

I rewrote my personal fork of Elpea, a music discovery app, from scratch using SvelteKit. The migration included visual improvements like using album cover art as a semi-transparent background, along with better reactivity so the interface updates more smoothly.

22 November 2021 (1PR)

sDK: Start auth refresh job when constructor is initialised

Directus is an open-source headless CMS. Its JavaScript SDK had a bug where users would get unexpectedly logged out after refreshing the page, even though their login session was still valid. I fixed it so the SDK automatically checks and refreshes the login token when it starts up, keeping users properly signed in.

13 November 2021 (1PR)

cors update

Bubi Bikes is an app I built for checking Budapest’s bike-sharing system. The app fetches data from an external API, but browsers block those requests for security reasons unless they go through a proxy. I updated the proxy the app uses so it could keep working.

11 October 2021 (3PRs)

add an empty state to artist search

Elpea is a music discovery app. When you searched for an artist and got no results, the page would just show a blank area, which was confusing. I added a friendly message that appears when no results are found, so users know their search didn’t turn up anything rather than wondering if the app is broken.

added newer mockup screenshot

Elpea is a web app I worked on at Traist. I updated the mockup screenshot in the repo to reflect the latest design of the application.

update to newest version of next.js

Elpea is a music discovery app. I upgraded it to the latest version of Next.js (the web framework it’s built on) and fixed a few bugs that came up during the upgrade, including one related to how device information is passed to the music player.

12 March 2021 (1PR)

add documentation on using next/image

TinaCMS is a Git-backed headless CMS. I added documentation explaining how to use Next.js’s built-in image optimization component with TinaCMS, including the benefits it provides and important caveats developers should be aware of.

8 February 2021 (1PR)

docs update for tinacms/tinacms#1703

TinaCMS is a Git-backed headless CMS for editing Markdown content. I updated the documentation on the TinaCMS website to reflect changes that were made in the main TinaCMS repo, keeping the docs in sync with how the code actually works.

2 February 2021 (1PR)

fix docs: check if cleanup is needed before cleaning up

TinaCMS is a content management system that lets you edit Markdown files visually. The docs had a code example that could crash if the editor hadn’t fully loaded before the cleanup code ran. I added a check to make sure the editor is actually ready before trying to clean it up, preventing the error.

1 February 2021 (2PRs)

add cleanup function to 'useEffect' example of dynamic imports

TinaCMS is a Git-backed headless CMS for editing content. Their docs had a code example showing how to dynamically load the editor, but the example was missing a cleanup step that prevents memory leaks in React. I added the missing cleanup function so developers copying the example would get working, production-ready code.

some options for GlobalFormPlugin can't be passed through useFormScreenPlugin

TinaCMS is a content management system that lets you edit website content visually. I fixed a gap where developers using a shortcut function to create editing forms couldn’t customize things like the icon or layout style. Now those options can be passed through directly, so you don’t need a workaround.

24 January 2021 (1PR)

added chatwoot

Traist is a company website I worked on. I integrated Chatwoot, an open-source live chat widget, so visitors to the site can start a conversation directly from the page. I also fixed a small performance issue with font loading along the way.