About
I turn ambiguous problems into shipped, working software — grounded in fundamentals, sharpened by AI.
Formally trained, relentlessly hands-on, and I learn fast.
- 3 — Internships completed (Anyo · Airlift USA Inc. · Renaissance Systems)
- 1 — Commercial product shipped (Accustom · live in production)
- Now — Ready for full-time roles (Graduating Monash, Dec 2025)
Off the clock: Drone engineering, Autonomous flight, Offshore sailing, Linux, Self-hosted infra.
Projects
AI Recep — A voice AI that answers, books, and quotes pest control calls.
Voice AI Agent · Completed · LangGraph, FastAPI, ElevenLabs, Claude, React Flow, ServiceM8
When RF Pest Management’s phone rings, an AI agent picks up. It identifies the caller, books or reschedules a technician, quotes the job from the real price list, and texts a confirmation — while a live graph on screen shows exactly which agent is handling the call.
Under the hood
- Four LangGraph agents — triage/CRM, dispatch, quoting, post-call comms — hand off calls via schema-validated tool calls, not prose matching
- ElevenLabs Scribe v2 Realtime transcribes the caller and Flash v2.5 speaks back, both over one WebSocket carrying audio and telemetry
- Claude Sonnet 5 plans triage, dispatch and comms; Opus 5 handles quoting, grounded by a pgvector knowledge base of the real price list
- React Flow renders the live agent graph as the call runs — nodes and edges lit by the backend’s own event stream, not a mock
- Self-hosted in Docker behind a Cloudflare tunnel; a shared access code exchanges for a signed token before the socket ever opens
GitHub
SessionPilot — An AI scribe and check-in caller for therapy practices.
B2B SaaS · Completed · React, Firebase, LangGraph, Gemini, ElevenLabs, Twilio
Therapists lose their evenings to paperwork. SessionPilot listens to the session and drafts the clinical note, then phones clients between appointments to check in — holding a real conversation and flagging anything worrying back to the therapist.
Under the hood
- Two products on one data model — Scribe drafts the note, Calls runs the check-in phone calls
- React 19 and Vite front end on Firebase — Firestore, Cloud Functions and Auth
- LangGraph agents (LangChain + Gemini) plan each call and verify its outcome afterwards
- The ElevenLabs voice agent calls server-side tools mid-call to log findings and escalate risk
- Google Cloud Speech transcribes sessions; Twilio carrier status reconciles missing webhooks
sessionpilot.app
Accustom — Put money on the line to actually finish what you start.
Installable PWA · Building · React Native, Expo, Firebase, Solidity, Polygon, Privy
Habits stick when quitting costs money. You stake cash on a challenge, prove you showed up each day with a photo or a run, and finish to keep your stake — plus a share of what everyone who dropped out left behind.
Under the hood
- One React Native + Expo codebase ships as an installable PWA and a native Android build
- 30+ Firebase Cloud Functions run scheduling, moderation, settlement and payouts
- Stakes held in USDC by an escrow contract on Polygon — a pure vault, all timing in Cloud Scheduler
- Privy embedded wallets, so users never touch a seed phrase; Meld handles the card-to-USDC on-ramp
- Timezone-aware crons close each day from UTC−8 to UTC+14; the 12% fee split is computed server-side
accustom.app
CertiFie — Blockchain certificate issuance and verification.
Web3 / DApp · Completed · React, Solidity, Ethereum, IPFS, Web3.js, Tailwind CSS
A way to prove a certificate is real. An institution issues one, and anybody can check it is genuine by uploading the file or pasting its ID — no phoning the issuer, no waiting. Revoked ones show as revoked instantly.
Under the hood
- Solidity contracts on Ethereum Sepolia record hashes for issuance, verification and revocation
- Documents pinned to IPFS — only the hash ever touches the chain
- React and Web3.js front end verifies by hash, or by re-hashing an uploaded file
- Tailwind CSS interface for both the issuer and verifier flows
GitHub
10" Autonomous FPV Drone — Autonomy-capable airframe with a 2 kg payload.
Hardware · Building · iNav, Raspberry Pi, Autonomous Flight, 2 kg Payload
A drone that flies itself. You hand it a route and it flies the whole thing unattended, carrying up to 2 kg — built for jobs where sending a pilot makes no sense, like moving something across a site or inspecting infrastructure.
Under the hood
- 10-inch FPV airframe sized to carry a 2 kg payload
- iNav flight controller handling autonomous waypoint navigation
- Raspberry Pi companion computer for onboard compute
Airframe & Payload
- 10-inch prop, built for autonomous logistics and inspection use cases
- 2 kg max payload capacity
Autonomy Stack
- iNav flight controller for autonomous waypoint navigation
- Raspberry Pi onboard companion computer for compute
Also exploring: CBG plant feasibility — 2.5 TPD, Napier grass feedstock.
Experience
Software Engineer — Accustom
Sep 2025 — Aug 2026 · 1 yr · Self-employed · Melbourne, Australia
Commitment contract app: users stake money on habits and forfeit it on failure
Skills: TypeScript, React Native, Expo, React, Node.js, Solidity, Firebase, Google Cloud, Stripe, RevenueCat, PayPal, CI/CD
- Shipped three TypeScript frontends on one design system (Expo/React Native Web PWA, React/Vite admin, prerendered marketing site) against a Node/TypeScript backend of 68 serverless Cloud Functions and 28 service modules on Google Cloud with real-time Firestore listeners.
- Built the payments layer across Stripe, RevenueCat, and PayPal, reconciling three settlement windows into one idempotent payout ledger. After a processor froze funds mid-operation, wrote and deployed the reentrancy-guarded escrow contract that replaced it (Solidity, OpenZeppelin, Hardhat).
- Designed the stake settlement engine deciding refunds and forfeits across four commit frequencies and group challenge pools, with timezone-aware deadline sweeps on Cloud Scheduler and payout locks that hold when scheduler retries overlap.
- Unified identity providers (Privy, Firebase Auth) into one session model: OAuth bridged between them, sessions recovered mid-redirect, and every callable endpoint behind a shared authorization gate with an admin tier, backed by Firestore and Storage rules enforcing per-user isolation at the data layer.
- Gated every push behind a four-job CI/CD pipeline (GitHub Actions, Netlify): typecheck, lint, deadcode analysis, and 1,277 tests, integration tier running against a real Firestore emulator and local chain rather than mocks.
Dec 2025 — Feb 2026 · 3 mos · Contract · Melbourne, Australia
Voice automation platform for RF Pest Management
Skills: LangGraph, FastAPI, Python, Docker, PostgreSQL, pgvector, React Flow, React Native, Stripe
- Delivered an autonomous voice receptionist running in production, handling 50–200 calls a month and cutting 4+ hrs/week of manual data entry. Collaborated with a business analyst and a second developer on a three-person team.
- Designed a four-agent LangGraph system (triage/CRM, dispatch, quoting, comms) handing off through schema-validated tool calls for deterministic routing across a live call.
- Built the realtime voice platform: audio and telemetry over a single WebSocket, on a self-hosted FastAPI service in Docker behind a Cloudflare tunnel, gated by a signed-token handshake before the socket opens.
- Backed the platform with PostgreSQL for call records, bookings and quote history, grounded quoting in a pgvector knowledge base built from the client’s real price list, and integrated with ServiceM8 via API, validating every booking and quote before a record was written.
- Built the operator-facing surfaces: a live agent graph in React Flow driven by the backend’s event stream, plus React Native/Expo field and admin apps on Firebase with call monitoring and Stripe recurring billing.
Full Stack Developer Intern — Anyo
Mar 2023 — Jun 2023 · 4 mos · Internship · Remote
Skills: React Native, RASA, Docker, Kubernetes, AWS EC2
- Engineered core features of a React Native application, driving it from concept to functional prototype.
- Containerised a RASA chatbot with Docker and deployed via Kubernetes on AWS EC2, scaling concurrent traffic capacity 50%.
- Paired with a fellow intern on test coverage and pre-release validation, catching integration failures before deployment.
Dec 2022 — Feb 2023 · 3 mos · Internship · Coimbatore, India
Skills: Go, OpenAI API, AngularJS, React.js, REST APIs
- Implemented AI-powered input predictions via the OpenAI API in Go, reducing manual data entry and error rates for the sales team.
- Optimised API endpoints and refactored legacy code under senior engineer review, reducing load times 21% while clearing technical debt.
Education
Master of Information Technology — Monash University
Feb 2024 – Dec 2025 · Melbourne, Australia
Graduate studies in advanced computing, software architecture, and intelligent systems.
Ranked 31st — QS World Rankings 2027.
Jul 2019 – Apr 2023 · Vellore, India
Core curriculum in algorithms, data structures, operating systems, and software engineering.
Ranked 119th — QS by Subject 2026 · Engineering & Tech.