Full-Stack Software Engineer · CS '26 · University of Adelaide
Final-year CS student at the University of Adelaide. When I see a process being done by hand that shouldn't be, I tend to end up writing the software for it: event platforms, civic tooling, and the small apps that quietly retire a WhatsApp chain.
Keywords: TypeScript / JS, Python, React / Next.js, SvelteKit, Supabase / Postgres
● Open to graduate roles, 2026 (under review)
| Domain | Confidence |
|---|---|
| TypeScript / JS | 96% |
| Python | 92% |
| React / Next.js | 84% |
| SvelteKit | 80% |
| Supabase / Postgres | 82% |
| Maps · GL / OSRM | 78% |
| C++ · R | 62% |
Adelaide's events, pulled onto one map. 100+ listings from six live sources (Eventbrite, Ticketmaster, Adelaide Festival Centre, SA Tourism, and more), deduped against each other so the same gig doesn't show up six times. Also reads paper posters: point OpenAI Vision at a photo of a flyer stapled to a pole, get a structured event out the other end. Built the map, the Ticketmaster integration, and the scraper dedup logic myself, with the HackerCodex team, in one hackathon weekend.
Full case study →Two Sunday services, attendance tracked by someone typing it into WhatsApp by hand. Built the app that replaced it: paste-to-import for the exact message formats staff already used, so nobody had to change how they worked. Kept growing since launch: two counters can now see each other's tallies live so nobody double-counts a row, there's a searchable lookup for returning visitors, and pastors get a stats view broken down by week, month, and year.
Full case study →Someone used to sit down every week and manually match passengers to drivers. Now Dijkstra's algorithm does it: high-priority passengers seated first, everyone else route-optimised by total distance. Addresses save between runs, groups and destinations are configurable, and the whole thing renders on a live map with autocomplete on the address fields.
Hope Church currently pays a recurring yearly fee for externally-hosted management software. I'm building an in-house replacement: same job, but something we actually own and can change ourselves as the church's needs shift, instead of waiting on a vendor's roadmap.
Reimbursements at Hope Church currently mean emailing different people, then someone hand-entering every cost and GST amount into a spreadsheet. I'm replacing that with a single upload: staff photograph their receipts, an AI agent reads the costs and GST straight off them, and the totals come out the other end without anyone typing a number.
| writing production code | 0yr |
| projects shipped or completed | 0 |
| apps live in production | 0 |
| CSC × UPC Hackathon 2025 | 2nd |
| Mapster | checking… |
| Headcount | checking… |
| This site (CI) |
Checking live projects... Rechecked at most every 5 min.
Built with Next.js 16 and React 19, typeset in Source Serif 4 and IBM Plex Mono. Every push runs lint, a typecheck, and the full test suite before it deploys (see §6, Status).
Build something durable.
See also: GitHub · LinkedIn · Resume (PDF)