My Projects and Experiments

Explore a collection of my personal projects. From web applications, hobbies and coding experiments, these projects showcase my skills, interests, and my ongoing learning.

InkyStream

Photography and hardware tinkering is where this one started. E-ink displays are beautiful but brutally limited, they can only render six or seven colours, so you can't just throw a photograph at them and hope for the best. InkyStream solves that by automatically converting photos into dithered images, using algorithms like Floyd-Steinberg to simulate tones and gradients the hardware simply can't show natively.

The server runs on a Raspberry Pi in my home lab, fully Dockerised and self-managed. Photos are uploaded via a web UI, dithered and resized per device profile automatically, then served via a REST API to the frames themselves. Frames wake on a schedule, pull their next image, burn it to the screen, and go back to sleep, running on batteries for months thanks to the persistence of e-ink.

Built with Next.js and TypeScript, using GitHub Actions and GitHub Container Registry for CI/CD, InkyStream is open sourced under the MIT licence and designed to be self-hosted on a trusted local network.

E-ink ScreenOpen Source DevelopmentAI ToolingClaude CodeTypeScriptDockerGitHub ActionsGitHub Container RegistryCI/CD

Codebreakers

Codebreakers is an engaging word puzzle game I developed in June 2024 to showcase my JavaScript, React, and TypeScript skills. This project combines elements from classic games like Mastermind and the password-guessing challenge from House of Games, creating a unique and entertaining experience.

Players have five attempts to crack a password consisting of an adjective and a noun. Each guess provides a clue, and the final attempt is color-coded to indicate correct letter placements and valid characters. Codebreakers not only demonstrates my ability to manipulate data and implement game logic but also represents my passion for creating interactive puzzles.

JavaScriptTypeScriptReactNext.js

Photography

Photography has been a lifelong passion, ignited when my father gifted me my first camera. This hobby blossomed further during my university years, where I delved deeper into the art through a dedicated module. Since then, my enthusiasm has led me to join various outdoor photography groups, honing my skills in event and landscape photography while gradually upgrading my equipment.

This project serves as a curated archive of my favorite shots, captured using a range of equipment over the years. I currently shoot with a Nikon D870 DSLR, paired with both Nikon and Sigma lenses to achieve the perfect shot.

PhotograpgyDLSRNikon D870LandscapeEvents

Contact Me

Got a hanging question or just want to connect? Get in touch!

LinkedIn

Find Me Online

See what I am up to online.

GitHub Instagram

Crafted with :