Development & Computing
The SmartStick
A modular device to enhance spatial awareness for individuals with partial vision.
Designed and developed the SmartStick – a modular device that attaches to existing walking canes and crutches, improving spatial awareness for individuals with partial vision and mobility impairments. It uses haptic feedback to help users navigate their environment without the need to replace their current mobility aids.
An Arduino powers the device and incorporates ultrasonic sensors to detect nearby obstacles. Vibration motors provide intuitive feedback, alerting users to potential hazards in their immediate surroundings.
This project was a 13-week endeavour, including designing and developing multiple prototypes. Initial mockups were created to determine the most effective design, leading to the development of a functional low-fidelity prototype for user testing. Insights from these tests informed a high-fidelity proof of concept, showcasing the device’s potential for future iterations and wider adoption.
Special credit to Jake Haynes, who I worked with to create the device. His expertise in 3D printing and manufacturing resulted in a product that was both highly functional and visually polished.
Sales to Sails
A Unity game blending piracy with resource management.
Designed and developed ‘Sails to Sales’ – A Unity game that challenges players to survive the 9-to-5 grind on the seven seas. You play as a pirate turned merchant, navigating the high seas to gather fruit for demanding boogie merchants. With strict quotas to meet and limited resources to manage, the game requires strategic planning and quick reflexes to succeed.
Developed using Unity and C++, the game features dynamic gameplay mechanics, including resource collection, trade negotiation, and ship management.
The project involved creating unique gameplay systems, coding the mechanics, and designing an immersive pirate-themed world. From ship movement to resource tracking, every aspect was built to deliver a challenging and engaging player experience.
Special credit to Oliver Chinn who helped bring Sails to Sales to life!
Creative Coding (p5js)
Various creative coding projects I have worked on over the years. These combine p5.js with libraries such as OpenCV, ml5, and sound.js to produce immersive and dynamic artworks. These projects merge technology with artistic expression, creating pieces that engage audiences through interactivity and abstract visuals.
Digital Entanglement: A five-scene exploration critiquing society’s overreliance on technology, inspired by Philip Larkin’s Aubade. Each scene transforms stanzas into surreal digital landscapes that delve into existential dread, interdependence, and alienation.
Winds of Aeolia: An abstract depiction of an Aeolian harp, with strings swaying in digital winds.
Mixologist’s Workstation: A cozy, atmospheric artwork that immerses viewers in the serene setting of a high-end bar on a snowy night.
Smart Doorbell
A smart doorbell prototype integrating Arduino, web hosting, and remote control.
Designed and developed the ‘Smart Doorbell’ – an Arduino-powered device designed to enhance home security through innovative integration of hardware and software. The project was coded in C# alongside Arduino’s .ino scripts, combining embedded systems with a dynamic web interface.
The device streams a live video feed from the doorbell, hosted on a website tunneled via Ngrok, allowing users to monitor and interact remotely. It features capabilities for locking, unlocking, and password protection, prototyped with cardboard and a servo motor. While built as a proof of concept, the system’s core logic is adaptable for integration with traditional doorbells.
This project demonstrates practical applications of embedded systems and web technologies to improve everyday home security.
MQTT Broker & Publisher
Python scripts to stress-test MQTT QoS levels through parallelism and local broker simulations. Conducted 180 tests over 60-second intervals to evaluate message reliability and performance.
DNA Sequence Analyser
A Python script designed to analyze nucleotide sequences using libraries like NumPy and MatPlotLib. It calculates sequence alignment, mutation probabilities, and nMax values while visualising results with graphs for deeper insights into genetic data.
Gopher Crawler
A recursive Python script for crawling Gopher servers, listing directories, and downloading text or binary files. Designed to handle edge cases like malformed files or size limitations, ensuring robust functionality.
MovieDB SQL Queries
SQL scripts developed to query the MovieDB database, focusing on extracting relations and optimising performance. Part of a broader course exploring relational and NoSQL database design principles.