I'm on the lookout for exciting opportunities in London!
I am a dedicated developer with a passion for React and TypeScript. Within a short span, I transitioned from an award-winning career in Finance and FinTech marketing to fully embrace software development. This pivot was inspired by a lifelong hobby and love for coding, which I leveraged even during my marketing tenure to analyse vast datasets.
2023 has been an adventurous year for me. I currently reside in Japan, and while I've thoroughly enjoyed my time working and living here, London remains my true home. It's where I intend to further my career and shape my future.
While I've predominantly been a Full Stack Engineer, I've grown fond of Frontend development and aspire to specialise in this domain over the next few years. The rapid advancements in frontend technologies captivate me. Some frameworks and tools I'm eager to play with include the T3 stack, Astro, and Bun.
This was my first project as a part of the General Assembly course. The original version was built entirely using vanilla JS and can be accessed here
This version playable here has been recreated as a React component. This transition presented numerous challenges. One of the primary issues was managing the render lifecycle. It was essential for me to track the user input without triggering a rerender immediately, then applying the move the next time the interval ticked, which would, in turn, cause a rerender. This challenge deepened my understanding of how refs work in React.
The ghosts utilise a pathfinding algorithm, with a touch of randomness added to decrease the difficulty. However, beware of the red ghost at the end; it always follows the shortest path!
Interestingly, the pathfinding algorithm I employed is known as Dijkstra's algorithm—though I wasn't aware of this during development. This algorithm determines the shortest path in a weighted graph. Beginning from an initial node, it iteratively selects the closest unvisited node, updating the distances of neighboring nodes, until every node has been visited. In this game's context, the nodes represent the corners and the sprites.
This is a tool that I have recreated three times, the first iteration was built using PHP with SQL. The second was built using Python, Flask, Django and MongoDB and currently it is running with React, MUI and Firebase. The site uses Redux to manage almost all of the state
The tool allows the user to simply manage their cashflow. The user can set a target and see how much disposable cash they have to spend. This is a tool built out of personal need.
If you'd like to play around and see how the tool works you can do that with the following credentials:
DiPA is a tool used to present Media Audits to clients. I built the UI from scratch using Typescript React, working with the external designer in Figma.
Using Tableau's API the tool is interactive and allows users to inspect the data in a variety of ways.
The app was containerized using Docker, with the stored image saved in AWS's Elastic Container Registry (ECR). The app was then launched on an AWS EC2 instance using the image from the ECR.
You can check me out on:
or you can reach me by completing the form below