Projects - Full Stack Development Portfolio

Full Stack

Full-stack web applications built with React, Next.js, TypeScript, and modern backend technologies.The projects demonstrate expertise building scalable, production-ready applications.

Canva AI logo

Canva AI

A Canva clone scoped to AI and Docs functionality. The application matches Canva's core design and mobile responsiveness, using a modern tech stack: React, MobX and TypeScript for the frontend, Django backend integrated with Azure cloud services, a Go-based websocket server, and PostgreSQL for data management. The application is behind authentication and can connect to Local Language Models (LLMs), as well as set external providers for AI chat functionality. Microservices are dockerised for deployments and running in a Kubernetes cluster.

React logo
React
Mobx logo
Mobx
Typescript logo
Typescript
ShadCN logo
ShadCN
Tailwind logo
Tailwind
Bun logo
Bun
Django logo
Django
PostgreSQL logo
PostgreSQL
Docker logo
Docker
Kubernetes logo
Kubernetes
Claude AI logo
Claude AI
Ollama logo
Ollama
Websockets logo
Websockets
Go logo
Go
Netflix logo

Netflix

A recreation of Netflix's streaming platform interface, demonstrating modern web development practices. Built with Next.js and enhanced with Tailwind CSS for responsive design, this project implements user authentication through Clerk and showcases proficiency in creating fluid, user-friendly interfaces with JavaScript following a set design.

NextJS logo
NextJS
Javascript logo
Javascript
Tailwind logo
Tailwind
Clerk logo
Clerk
Personal Finance logo

Personal Finance

A comprehensive personal finance management platform that integrates with real-world banking through Plaid's secure API. Built with Next.js and TypeScript, this application offers financial tracking with interactive data visualizations, peer-to-peer transaction capabilities, and detailed spending analytics. The platform leverages Clerk for secure authentication, while utilising Hono, Drizzle ORM, and Neon database for robust data handling.

NextJS logo
NextJS
Typescript logo
Typescript
Tailwind logo
Tailwind
Clerk logo
Clerk
Plaid logo
Plaid
Hono logo
Hono
Drizzle logo
Drizzle
Neon logo
Neon
Bun logo
Bun
Miro logo

Miro

A feature-rich collaborative whiteboard platform inspired by Miro, enabling real-time planning and design collaboration. This application showcases advanced technical implementation using Next.js and React, with real-time collaboration powered by Live Blocks. The system incorporates Convex for state management, Clerk for user authentication, and a modern backend stack including Hono, Drizzle, and Neon, delivering an all-in-one collaborative design experience.

React logo
React
NextJS logo
NextJS
Convex logo
Convex
Tailwind logo
Tailwind
ShadCN logo
ShadCN
Clerk logo
Clerk
Live Blocks logo
Live Blocks
Hono logo
Hono
Drizzle logo
Drizzle
Neon logo
Neon
Bun logo
Bun
Jira logo

Jira

A Jira-inspired project management application with advanced drag-and-drop functionality using React Beautiful DnD. Built with TypeScript and Next.js, this platform delivers comprehensive task tracking and project planning capabilities. The tech stack includes Hono for the backend, Drizzle ORM with Neon database for data management, and Stripe integration for payment processing. The application showcases how modern web technologies can be utilised to create interactive business tools that replicate enterprise-level functionality.

React logo
React
NextJS logo
NextJS
Typescript logo
Typescript
ShadCN logo
ShadCN
Tailwind logo
Tailwind
React Beautiful DnD logo
React Beautiful DnD
Stripe logo
Stripe
Hono logo
Hono
Drizzle logo
Drizzle
Neon logo
Neon
Bun logo
Bun

Government

Enterprise applications and technical documentation for the Western Australian Government. Led development of production systems using Django, React, Docker, and Kubernetes, while maintaining legacy applications including Plastids of the Pilbara and Biodiversity Audit through dependency updates and security patches.

Developer Guidance project logo

Developer Guidance

Contributed technical documentation and best practices to the department's developer guidance repository, establishing standards for modern development workflows and architecture. Authored comprehensive guides on Rancher deployment strategies and React development patterns, helping standardise approaches across multiple government projects and teams.

React logo
React
Typescript logo
Typescript
Vite logo
Vite
Mobx logo
Mobx
Tailwind logo
Tailwind
Docker logo
Docker
Kubernetes logo
Kubernetes
Rancher logo
Rancher
Florabase Modernisation project logo

Florabase Modernisation

Spearheaded Florabase modernisation initiative, architecting and developing React-based frontend to replace legacy Mustache/PHP codebase, addressing critical security vulnerabilities and technical debt for application serving millions of users

React logo
React
Typescript logo
Typescript
Tanstack logo
Tanstack
Bun logo
Bun
Vite logo
Vite
Mobx logo
Mobx
Tailwind logo
Tailwind
Docker logo
Docker
Cannabis project logo

Cannabis

A digital platform that modernises the cannabis specimen identification workflow for WA Police and the Herbarium. The system streamlines the entire process from police collection to court proceedings, enabling Approved Botanists to generate legally admissible certificates for suspected cannabis determinations. The system features automated certificate generation, multi-level authentication with role-based permissions, financial recordkeeping for certification and determination fees, and secure data management. The platform utilises bespoke ETL migration scripts to maintain historical records from a Microsoft Access database.

React logo
React
Typescript logo
Typescript
Tanstack logo
Tanstack
Bun logo
Bun
Vite logo
Vite
Mobx logo
Mobx
Tailwind logo
Tailwind
Docker logo
Docker
Nginx logo
Nginx
Kubernetes logo
Kubernetes
Rancher logo
Rancher
Django logo
Django
Python logo
Python
PrinceXML logo
PrinceXML
PostgreSQL logo
PostgreSQL
Science Project Management System (SPMS) project logo

Science Project Management System (SPMS)

The Science Project Management System (SPMS) is a bespoke system developed for the government of Western Australia to manage the lifecycle of science projects within the organisation. The system streamlines the process of project creation, approval, management, and documentation. Projects for a given year culminate in a programatically generated annual report, which is then made public and provided to key ministers, securing further funding. The system is built from the ground-up in Django and React, replacing a prior end-of-life monorepo. The Docker container is hosted in Azure Kubernetes, and configured through an Azure Rancher instance.

React logo
React
Typescript logo
Typescript
Tanstack logo
Tanstack
Vite logo
Vite
React Email logo
React Email
Lexical logo
Lexical
Tailwind logo
Tailwind
Docker logo
Docker
Nginx logo
Nginx
Kubernetes logo
Kubernetes
Rancher logo
Rancher
Django logo
Django
Python logo
Python
PrinceXML logo
PrinceXML
PostgreSQL logo
PostgreSQL
Science Staff Profiles project logo

Science Staff Profiles

A simple, mobile-responsive extension to SPMS, utilising the government's internal library API and HR system to allow science staff to showcase their work and publications.

Django logo
Django
Python logo
Python
React logo
React
Typescript logo
Typescript
Tanstack logo
Tanstack
Tailwind logo
Tailwind
ShadCN logo
ShadCN
Vite logo
Vite
Docker logo
Docker
Nginx logo
Nginx
Kubernetes logo
Kubernetes
Rancher logo
Rancher
Specify Migration project logo

Specify Migration

Led deployment of the Specify application to Kubernetes k3d clusters, managing infrastructure configurations across development, UAT, and production environments using Kustomize and created custom shell scripts for improved developer experience. Contributed to a Java Spring Boot ETL application that migrated decades of fragmented specimen data into a centralised Specify 7 database through an event-driven architecture by assisting in implementing the Loans and Borrows functionality.

Java logo
Java
Spring Boot logo
Spring Boot
Kubernetes logo
Kubernetes
Docker logo
Docker