Site Reliability Engineer @Microsoft Dublin
CV | | |
As a software engineer, I strive to always challenge myself and learn. As a part of this, I am passionate about creating tools, apps and solutions that I myself would find useful, and sharing
them with others. Many of my projects are born out of curiosity and the desire to tackle a problem in new ways, pushing myself to learn new technologies.
If you are interested in learning more about my experience and skills, you can find me on
GitHub
and
LinkedIn, download my
CV, or directly get in contact with me.
Below you can find some of my favourite projects, some of which I am still actively working on. All of the projects below and many more can be found on my GitHub profile.
Random YouTube Video is a browser extension that allows users to truly randomly shuffle videos from any YouTube channel. The extension adds a 'Shuffle' button to channel, video and shorts
pages. It allows for thorough customization through its popup, such as ignoring shorts or setting custom shuffle filters for each channel.
The extension is built using JavaScript, bundled with webpack. It's backend uses the YouTube Data API to fetch video data and stores and shares this data using a Firebase Realtime Database. User
preferences are stored and shared across devices using the built-in chrome storage APIs. It's functionality is tested using a thorough test suite implemented with mocha and expect.js, which tests
a wide range of possible data states using a scalable permutation approach.
You can get the extension for
Chrome,
Edge
and Firefox. The extension is compatible with all Chromium-based browsers through the
Chrome Web Store version.
Todo PR Checker is a native GitHub app that checks Pull Request changes for TODO
style action items and reports on them live in a comment with embedded code links. The app provides
automated CI checks on each Pull Request update, with live updates and clear feedback when open action items are found.
It supports a wide range of programming languages and offers powerful customization options such as excluding files using glob patterns or adding support for new languages and action items. The
app is built using Ruby, deployed automatically after a new release by leveraging Google Cloud Build and hosted on Google Cloud Run.
You can get the app on the
GitHub Marketplace.
The Game Pass API CLI tool provides a quick and easy way to get a list of all games currently available on Xbox Game Pass on any given platform (Console, PC or through EA Play) in a given
region. Using a configuration file, the type and format of many properties can be customized, from simply getting the game's names all the way to fetching store prices at the moment of the
request.
You can get the tool on
GitHub.
Outlook Mail Notes is an Outlook Add-In which allows you to add notes to e-mails, conversations and senders. The Add-In will automatically add a relevant category to the message, so you
don't loose track of which messages have notes attached. The Add-In is written in TypeScript and uses the OfficeJS API to interact with a user's mailbox. To ensure compatibility with older
Outlook versions, babel is used to convert syntax to be usable with Internet Explorer. The project is bundled and deployed using webpack and GitHub pages.
You can add the Add-In to your Outlook client using the following manifest URL:
https://nikkelm.dev/Outlook-Mail-Notes/manifest.xml.
You can also find more detailed installation instructions on the project's
GitHub page.
I've also created a number of Notion integrations you can try out for yourself! The one I find most useful is the "JSON to Notion" integration, which allows you to import JSON files to your Notion database. Using a configuration file, you can specify which properties of your JSON file should be imported to which database field, and define other transformations as necessary. You can find the project on GitHub.
Another Notion integration that connects your Notion database to Steam. All you need to do is add a Steam app ID field to your database, define which app properties you would like fetch, and the integration will automatically update your database entries. As always, you can find the tool on GitHub.
Three.js is a JavaScript library that allows for the creation and display of 3D computer graphics in a web browser. In April 2022, I built a very small demo page using the library, which you can find linked in the menu or here: ThreeJS demo.