Skip to main content

Work / Experiments

Useful things, shared with honest context.

This is a deliberately selective record of university work, personal builds, and software experiments.

Published now

04

A selective collection, with more work added when it is ready to share.

Published projects

In progressSelected work

Basha Pantry — online store for a local shop

WoodHouse Groceries is a real local business with hundreds of products — American imports, sweets, Asian and African foods — and no online presence. I’m building Basha Pantry, their Shopify store, from the ground up: product data, photography, categories, and storefront. The unglamorous truth of e-commerce is that the hard part isn’t the website — it’s turning a shop full of stock into a clean, consistent, professional catalogue people can actually browse.

  • Shopify
  • E-commerce
  • Product data
Project notes

What I learned

  • Working directly with a business owner: agreeing scope, priorities, and what “done” means
  • Product data is a real engineering problem — naming, categorising, and photographing hundreds of items consistently

Challenges

  • Building a catalogue that looks professional when the source material is a physical shop floor
Completed

ReignFall — a text-adventure reborn as a web game

A database-driven text-adventure web game built by a six-person team: accounts, saves, inventory, and analytics.

  • JavaScript
  • HTML & CSS
  • SQL
  • JSON
Project notes

A first-year university project (CSC1034) that grew into a full product. ReignFall reimagines the classic text adventure for modern devices: a peasant rises against a tyrannical king, gathering allies along the way. Under the story sits real engineering — player accounts with salted and SHA-256-hashed passwords tested against sqlmap, session tokens that expire, autosave and manual saves that rebuild full game state on load, a four-slot inventory with stat effects, score and reputation systems, a global analytics page with leaderboards, and six accessibility features. The story itself is driven by JSON files, which kept the branching narrative clean.

What I learned

  • How much of a “simple” game is actually database design
  • Security is a feature: hashing, session expiry, and injection testing were built in, not bolted on
  • Keeping six people productive in one codebase takes real coordination

Challenges

  • Restoring a complete game state — session, allies, inventory, and logs — from a saved game without breaking anything
Completed

Greenopoly — Monopoly, but it teaches climate change

A fully functional Monopoly-style game in C++ with a complete database, built by a six-person team to make climate education fun.

  • C++
  • SQL
Project notes

Our second-year Software Engineering group project: a playable, database-backed Monopoly variant written in C++ where the mechanics carry a message about climate change. Building a rules-heavy board game with six people is an exercise in interfaces — between game systems, between the game and its database, and between teammates who all need to ship their part without breaking everyone else’s.

What I learned

  • Designing game rules as clean, testable systems rather than one giant loop
  • Agreeing interfaces early so six people can build in parallel

Challenges

  • Keeping a rules-heavy game fun while it carries an educational message
Completed

This website

My hand-built home on the web: projects, learning notes, and a clear signal of what I’m looking for.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Motion
Project notes

Built with Next.js, TypeScript, and Tailwind rather than a site builder, because owning the details matters to me: it ships no trackers or cookies, sends every page as static HTML, respects reduced-motion settings, and keeps all content in typed files that refuse to compile if I try to publish something unfinished. It’s also honest by design — everything on here is something I can back up in an interview.

What I learned

  • Shipping something public forces decisions that tutorials never cover — accessibility, security headers, honest copy

Challenges

  • Writing about yourself is harder than writing code

The learning behind the work

Projects matter most when the lessons are understood.

The wider journey, values, and areas I am developing live on the About page.