Computer Science student at Monash University building practical software across web, mobile and assistive technology.
I enjoy turning ideas into focused, usable products. My projects span AI-assisted learning, local-first productivity tools, mobile applications, interactive games and assistive technology.
I care about software that is useful beyond the demo: privacy-conscious data handling, accessible interfaces, thoughtful interaction design, and engineering decisions that keep products maintainable.
An AI-assisted peer skill exchange platform built at UniHack 2026. Students can describe what they want to learn and teach, discover compatible partners, chat with Skilliton, and organise skill-swap sessions with Google Meet links and calendar downloads.
Next.js · TypeScript · Firebase · Firestore · Genkit · Gemini · Google Meet API
A private, local-first workspace for managing job applications. It provides Kanban and table views, validated forms, filtering, sorting, drag-and-drop, and CSV, JSON and ICS import/export without requiring an account, API or database.
Next.js · React · TypeScript · React Hook Form · Zod · dnd-kit · Vitest · Playwright
A privacy-oriented résumé builder that replaces raw LaTeX editing with a structured form interface. Resumes can be organised from a dashboard, tagged and reordered, while the app compiles selected templates into a live PDF preview.
React · Vite · Node.js · Express · Tectonic · LaTeX
A 3D interactive exploration of Hable-inspired Braille keyboard layouts. It supports multiple layouts, configurable physical dimensions, Perkins-style chord typing, keyboard remapping, camera controls and screenshots.
Next.js · React · TypeScript · Three.js · WebGL
A daily equation-guessing game inspired by Wordle and Nerdle. It generates deterministic daily puzzles from a date-seeded generator, validates balanced equations and provides configurable difficulty and practice modes.
SvelteKit · Svelte 5 · TypeScript · Tailwind CSS · Vitest
A mobile Pomodoro timer focused on making work and rest routines engaging. It combines a liquid-style timer visualisation with task tracking, focus history, ambient sounds, haptic feedback and light/dark/system themes.
React Native · Expo · Zustand · Reanimated · SVG · AsyncStorage
Languages: TypeScript, JavaScript, Python, PHP, HTML, CSS
Frontend: React, Next.js, Svelte, SvelteKit, Vite, Tailwind CSS
Mobile: React Native, Expo
Backend & data: Node.js, Express, Firebase, Firestore, REST APIs
AI: Google Gemini, Genkit, AI-assisted application development
Testing & tooling: Vitest, Playwright, ESLint, TypeScript, GitHub Actions
Accessibility & interaction: Braille, tactile interfaces, keyboard interaction, responsive design, WCAG-focused UI
My portfolio is built with SvelteKit and presents selected projects, experience, technical interests and writing as a fully prerendered static site.
Building useful things, learning in public, and trying to make the interface a little better each time.



