Projects
-
HabitHelper
An app designed to help users build better habits.
-
Concept
HabitHelper was created to support users striving to improve their habits. It features three core components:
- A timer to help users track their time abstaining from unwanted habits.
- A journal for self-reflection and progress tracking.
- A to-do feature enabling users to schedule and repeat positive tasks as often as needed.
This project involved building a Django app connected to a PostgreSQL database, serving a React front end. I deliberately minimized reliance on pre-built library components, opting instead to deepen my technical skills. For example, I developed a custom modal for creating and editing timers and to-dos. Where using external libraries was necessary—such as for date pickers—I focused on leveraging native React solutions. Additionally, I utilized modular SCSS for styling, enhancing my ability to efficiently manage reusable components.
Tools Used
Challenges
My initial approach to modularizing components and styling revealed some flaws, leading to issues during the first deployment. These challenges impacted the scalability and reusability of components, such as displaying mini widgets on the dashboard. However, overcoming these hurdles significantly improved my understanding of component design and styling workflows.
-
Local Heroes
A community-focused platform connecting people in need with local helpers.
-
Concept
Local Heroes is a platform designed to bring neighbors together by connecting those who need help with volunteers offering assistance. Users can post and respond to tasks such as shopping, cleaning, or small DIY projects. The playful, comic-inspired design enhances user engagement while promoting a sense of everyday heroism.
- Post tasks for assistance with everyday needs.
- Volunteer to help others in your local community.
- Strengthen neighborhood connections and foster community spirit.
This project was built using the MERN stack, with React handling the frontend and an Express.js server managing API routes. MongoDB stores user and task data, while SCSS ensures a visually cohesive design. I contributed to developing the Jobs API and designed a responsive navigation bar to improve user experience.
Tools Used
Challenges
Managing team collaboration and resolving merge conflicts were initial challenges during development. Adapting to React's component-based architecture also required significant learning, particularly in state management. Despite these hurdles, the project delivered a functional MVP with stretch goals like responsive navigation successfully implemented.
-
Quality Time
A web app helping caregivers discover engaging activities for children.
-
Concept
Quality Time empowers caregivers by providing a diverse library of affordable and practical activities for children. Designed for parents, family members, and friends, the app features a user-friendly interface for exploring, adding, and sharing creative ideas. It fosters a community-driven approach to discovering activities tailored by age group, location, and available resources.
- Post, edit, and manage unique activity ideas ("sparks").
- Comment on and like activities to engage with the community.
- Track favorites and contributions via personalized profiles.
This solo project was built using the MEN stack, integrating MongoDB for data persistence, EJS for templating, and Cloudinary for image storage. By combining dynamic routing and interactivity, the project delivers an accessible and engaging user experience.
Tools Used
Challenges
Creating intuitive CRUD functionality within a short timeframe tested my back-end development skills, particularly with RESTful routing. Balancing stretch goals like tagging and mobile responsiveness within the project timeline was another challenge. Despite these hurdles, the project achieved high accessibility scores and a visually appealing card-based design.
-
Top Trumps
A browser-based version of the classic card game.
-
Concept
This digital version of **Top Trumps** recreates the classic card game where players compete by selecting categories to compare statistics. Designed with engaging visuals and strategic gameplay, the app offers a nostalgic yet modern experience. Players aim to win rounds and collect all the cards, competing against a computer opponent.
- Choose categories strategically to win hands and collect cards.
- Enjoy intuitive, colorful UI inspired by neo-brutalism design principles.
- Experience fast-paced, competitive gameplay in a browser-friendly format.
This solo project emphasized building core game logic, crafting an immersive user experience, and integrating dynamic controls for a seamless flow. Hosted on GitHub Pages, the app showcases JavaScript-based game mechanics with a bold and playful visual style.
Tools Used
Challenges
Implementing complex game logic, such as turn-based interactions and a responsive UI, required significant refactoring and iterative testing. Balancing responsive design with neo-brutalism aesthetics posed another challenge, which I addressed through careful layout adjustments and minimal media queries.
-
Cafe POS System
Point of sale system for local cafe
-
Concept
A local cafe require a point of sale system for their staff to take orders. Users select items from the menu and enter order details including customisations to the order. The system needed to be able to calculate tha value of the order and then take payment. There is also a feature for adding a discount code to deduct a percentage from the subtotal.
Tools Used
Challenges
There were some challenges that were challenging.
-
Cafe In The Park
Small Site for Local Business
-
Concept
A local cafe requires a simple website that captures the cosy family friendly atmostphere of their establishment. To include a simple interface to place orders from the website for take away or table service customers.
Tools Used
Challenges
First attempt at focusing on a client and aiming to ensure the look and feel of the site encaputlated their brand values.