create projects.json
I added a data file to my personal website that lists my projects, making it easy to display them on the site without hardcoding everything into the page itself.
I added a data file to my personal website that lists my projects, making it easy to display them on the site without hardcoding everything into the page itself.
I created the initial version of a web project aimed at helping homeless people. This was the first commit that set up the project and got it off the ground.
Disease Info UI is a Hacktoberfest project that aggregates information about various diseases. The page was getting long and hard to navigate, so I added a table of contents at the top with jump links to each section, making it easier to find the disease you’re looking for.
Primerpedia is a tool for quickly looking up Wikipedia article introductions. I added the ability to share search results via URL — you can now link someone directly to a search by adding a query parameter (like ?page=cats) to the web address, and the search will run automatically when the page loads.
Jedi Validate is a lightweight JavaScript form validation library. I proofread and copy-edited the project’s README to improve clarity and fix grammatical errors, making it easier for new users to understand how to use the library.
DPicker is a minimal date picker component for the web. The setup instructions in the documentation used a modern JavaScript syntax (arrow functions) that Safari didn’t support at the time, so I replaced them with traditional function syntax to make the examples work in all browsers.
Meteor Starter is a template for quickly spinning up Meteor.js apps. I spotted that “Google” was misspelled as “Googe” and fixed the typo.
I added some extra CSS styles to my personal website for things like hover effects. These styles aren’t essential for the page to work, but they make it feel more polished.
On an older version of my personal website, elements would briefly flash when the page loaded because they were being hidden with display: none, which causes the browser to recalculate the layout. I switched to using opacity: 0 instead, which hides things without triggering a reflow, making the page load smoother.
I added fluid typography to my personal website. Instead of text jumping between fixed sizes at certain screen widths, fluid typography makes the font size scale smoothly as you resize the window, so it always looks good whether you’re on a phone or a big monitor.
I added hover effects to links and interactive elements on an older version of my personal website, so users get visual feedback when mousing over clickable things.
I optimised my personal website’s loading speed by deferring non-essential stylesheets. Instead of making the browser load all the CSS upfront before showing any content, less important styles now load in the background so the page appears faster.
Patchwork is a beginner-friendly project for learning how to use Git and GitHub. I completed the tutorial by adding my username to the project, practising the basics of forking, branching, and submitting a pull request.
I added browser notifications to my chat app so users get alerted when new messages arrive in their channels, even if they’re not actively looking at the chat window.
I fixed a security vulnerability in my personal real-time chat app built with Meteor.js, where database insert operations weren’t being properly validated, potentially allowing malicious data to be submitted.
I built a personal real-time chat app using Meteor.js. In this update, I added the logic for channels to update in real time when new messages arrive, so users automatically see the latest content without refreshing the page.
I added channel subscriptions and several other features to my personal chat app, including the ability to subscribe to specific chat channels, infinite scrolling to load older messages, and improved channel permissions so people can only see the channels they have access to.
I merged several recent features into the development branch of my personal chat app, including message editing, infinite scroll for loading older messages, and the channel subscription system.
I built a personal real-time chat app using Meteor.js. In this update, I added channel-level permissions so that only authorised users can see messages in private channels, and admins can add or remove users from those channels.
I built a personal real-time chat app using Meteor.js. In this update, I added the ability for users to edit their own messages after sending them.