me@charliecarpenter.co.uk | +44 (0) 7780 717679
Handwrite-AR is a tool designed to support individuals with dyslexia by transforming the handwriting experience through augmented reality. This real-time application provides a live overlay on handwritten text to check spelling, punctuation, and even translate text. It also offers audible narration and dictionary definitions, enhancing comprehension and learning. With customisable colour filters, reading becomes more accessible.
Built using C# and integrating multiple APIs, Handwrite-AR processes base-64 images, detects text using Google’s OCR API, and corrects errors via Microsoft Azure’s Spellchecker API. For translations, it utilises Google’s Translate API, ensuring accurate and timely responses. We tackled challenges such as high latency by optimising API hosting.
Developed during Durhack a hackathon with over 500 attendees, Handwrite-AR earned top honors, including the overall 1st place award, the Waterstons “3D tech” award, and the Bede Gaming “AI Assistance” award. With plans to enhance the user interface, Handwrite-AR is ready for real-world application, making it a valuable tool for those with dyslexia. One of our team members, who has dyslexia, is already considering using it to aid his writing, highlighting its practical impact. Experience the future of accessible learning with Handwrite-AR, where technology meets empowerment.
As a finalist in the Durham university hackathon, I contributed significantly to the development of a this food waste management system. This innovative application allows users to input their ingredients and receive tailored recipe recommendations, prioritising items that are closest to their expiration dates to effectively minimise food waste. The system also suggests sustainable alternatives, such as donation options for unused items, thereby promoting ethical eating habits.
My role centered on backend development, where I architected and implemented robust REST APIs and set up a scalable database infrastructure. This involved crafting intricate SQL queries and ensuring seamless integration between the frontend and backend components. For the application we used Python and Flask to run the web sever and then a SQLite Database,
The project was both technically challenging and rewarding, requiring close collaboration with my teammates to resolve data formatting issues and enhance overall functionality. Participating in the hackathon provided invaluable experience in web development and teamwork, highlighting the importance of effective communication and time management in a high-stakes environment.
I developed an advanced reinforcement learning model to teach a 2D Bipedal Walker to navigate through the challenging terrain of the OpenAI Gym's BipedalWalker-v3 environment, including the hardcore version with obstacles like ladders and pitfalls. Using Python and PyTorch, I implemented an enhanced Twin Delayed Deep Deterministic policy gradient (TD3) algorithm combined with the Forward-Looking Actor model (FORK). This hybrid approach significantly improved the agent's ability to anticipate and plan movements, achieving optimal navigation in diverse environments. The project showcases a video of the bipedal walker mastering these hardcore terrains, demonstrating the effectiveness of the TD3-FORK algorithm in complex scenarios. This achievement not only highlights my proficiency in machine learning and algorithm optimisation but also underscores the potential for advanced AI to tackle intricate, dynamic problems.
I developed a cutting-edge blockchain-based event ticketing system designed to revolutionise the way we buy and sell tickets. This application allows users to purchase, trade, and verify event tickets securely on the blockchain. Leveraging the power of smart contracts, each ticket is represented as a unique non-fungible token (NFT), ensuring authenticity and preventing fraudulent activities. The system supports a dynamic pricing model that adjusts based on demand, optimising profitability while minimising scalping activities. This project highlights the potential of decentralised technologies to enhance transparency, security, and user trust in the event ticketing industry.
To build this sophisticated system, I utilised an array of advanced tools and technologies. The smart contracts were developed using Solidity within the Visual Studio Code environment, and deployed on both Ethereum and Polygon networks to compare performance metrics. I employed the Hardhat development framework for its efficiency and comprehensive testing capabilities. Metamask served as the digital wallet interface, facilitating secure transactions between users and the blockchain. For the front-end, I used JavaScript with the Express framework, and integrated it with the blockchain via the Ethers.js library. Additionally, tools like Ganache and Truffle Suite were initially used for local development before transitioning to Hardhat for improved performance.
The achievement of this project is substantial. I successfully created a fully functional decentralised application (dApp) that mitigates common issues in current ticketing systems, such as scalping and hidden fees. By deploying the application on public blockchains, it offers enhanced security and transparency compared to traditional systems. The integration of dynamic pricing algorithms has proven to significantly increase event profitability, and the real-time updates ensure users are always informed about ticket availability. This project not only demonstrates my technical prowess in blockchain development but also showcases my ability to solve real-world problems using innovative technologies .
I developed a sophisticated virtual and augmented reality system by enhancing the RenderPy-master Python repository. Utilising tools such as PyGame and Numpy, I transformed static frame rendering into real-time frame rendering, significantly improving the visual representation of 3D objects. I incorporated perspective projection to add depth perception, achieved through an advanced homogeneous coordinate system. This system allowed for more accurate transformations and realistic object rendering. Furthermore, I integrated quaternion mathematics to handle camera movements and orientation, ensuring smooth and dynamic scene adjustments. This enhanced rendering framework is showcased in a video demonstrating basic physics and rotations based on IMU data, highlighting the intricate interplay between graphical and physical simulations.
In addition to rendering improvements, I implemented comprehensive tracking and physics simulations to elevate the user experience. The tracking system leverages IMU data to provide precise orientation and movement detection, utilising quaternion transformations and dead reckoning. By fusing accelerometer and gyroscope data, I achieved accurate and stable positional tracking, essential for an immersive VR experience. The physics engine introduces realistic interactions through collision detection, gravity, and air resistance calculations. An innovative Level of Detail (LoD) system dynamically adjusts object complexity based on their distance from the camera, optimising performance without compromising visual fidelity. The result is a robust, efficient, and visually compelling VR environment, demonstrating advanced computational techniques and real-time rendering capabilities.
My Bitcoin auto trader is a sophisticated, Python-based application designed to optimise your cryptocurrency trading on Coinbase Pro. Utilising the Coinbase API, it employs advanced trading strategies, including dynamic moving stop losses, to minimise losses and maximise profits. As Bitcoin prices fluctuate, the stop loss levels adjust accordingly, ensuring your investments are protected. This dual functionality allows seamless trading between BTC and EUR, capitalising on small market movements with frequent trades within specified timeframes.
The intuitive Tkinter front end enhances user interaction, allowing you to customise stop loss percentages and re-buy amounts, directly affecting how your funds are managed on Coinbase Pro. Importantly, the application itself doesn't handle any funds; all transactions occur securely on Coinbase Pro, ensuring the safety of your assets. Users can monitor real-time market data and balances, execute trades, and configure their trading parameters through a user-friendly interface.
Additionally, the auto trader features a real-time graph displaying your profit trends, providing you with valuable insights into your trading performance. A multi-threaded design ensures the GUI remains responsive even while performing continuous market analysis and trading operations. Designed as a personal project it stands as a testament to the potential of automated trading to streamline and enhance your cryptocurrency investment strategies.
The primary objective of my project was to create a sophisticated hybrid recommendation system that effectively mitigates the cold start problem for new users by integrating collaborative filtering (CF) and content-based filtering (CBF) techniques. Leveraging a rich film dataset comprising over 100,000 data points and user ratings, our system begins by prompting users to rate a selection of initial films. This initial input allows us to dynamically update the recommendation model using a deep learning approach, specifically a convolutional neural network (CNN) implemented in PyTorch. We ensured the dataset's integrity by meticulously cleaning it to remove erroneous data points, thereby enhancing the model's reliability and accuracy. The system's performance was rigorously evaluated using metrics such as novelty and root mean square error (RMSE), demonstrating its capability to provide fresh and precise recommendations. Our innovative recommendation system exemplifies state-of-the-art techniques in AI, offering practical applications in delivering personalised film suggestions. This project showcases an in-depth understanding of combining collaborative and content-based filtering methods with advanced deep learning frameworks, resulting in a robust solution for personalised film recommendations. Currently the system is interacted via the terminal but I plan to integrate it with a graphical user interface (GUI).
D U Delivery is an immersive RPG game developed in Unity and C# with custom 2D graphics, designed to spark curiosity and problem-solving skills in children. Set in the historic city of Durham, players embark on an adventurous journey where they must solve riddles rooted in the city's rich history and mysterious rumours. Customise your character with various skins and enjoy real-time translation in multiple languages, making the game accessible to a diverse audience. Navigate iconic locations like the Durham Cathedral and the bustling marketplace using your keyboard and mouse. As you solve riddles and complete deliveries, be prepared to outsmart enemies with advanced AI path tracking. D U Delivery is more than just a game; it's an educational tool aimed at increasing tourism to Durham while fostering a love for history and enhancing problem-solving abilities in young players.