I Shipped...

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.

19 January 2021 (2PRs)

(docs): correct example of getGithubFile usage with incorrect parameters

TinaCMS is a Git-backed headless CMS for editing Markdown content. The docs had a code example for fetching files from GitHub that was using the wrong parameters, which would have confused anyone copying it. I fixed the example so it actually works.

suggested trick for pushing menu below toolbar

TinaCMS is a content management system with a visual editing toolbar that sits at the top of the page. I contributed a CSS trick to the docs showing how to push your site’s own sticky menus below TinaCMS’s toolbar, so they don’t overlap and hide each other.

18 January 2021 (1PR)

sass modules

I upgraded the Traist company website to use SASS modules, a more modern way of organizing CSS stylesheets that keeps styles neatly scoped and easier to maintain. I also improved some of the typography along the way.

4 January 2021 (1PR)

30 December 2020 (1PR)

add documentation of options.params.endpoint to the s3 section of readme

UploadFS is a Node.js library for storing files in cloud storage like Amazon S3. I noticed the docs were missing information about how to configure a custom S3 endpoint (which you need if you’re using an S3-compatible service that isn’t AWS), so I added that documentation.

30 November 2020 (1PR)

3.0: prompt to prompts (#1)

ApostropheCMS is an open-source content management system. I updated the codebase to use the newer “prompts” library instead of the older “prompt” library for handling interactive command-line input during the 3.0 rewrite.

28 November 2020 (2PRs)

corrected spelling

Ackee is a self-hosted, privacy-focused web analytics tool. I fixed a few spelling mistakes in the codebase.

fix charset issues on mySQL (fixes #388)

Umami is a privacy-focused web analytics tool (like a simpler, open-source alternative to Google Analytics). When using MySQL as the database, special characters weren’t being stored correctly because the database tables weren’t set up with the right character encoding. I fixed this by making sure tables are created with UTF-8 support, so all characters display properly.