Computer Science undergraduate at UNSW Sydney, focused on backend and AI agent application development. Seeking full-time internships, Dec 2026 – May 2027.
- ai-news-agent: Daily personalised news briefing agent with a hand-written tool-calling loop (no agent framework), evidence-cited drafts with server-side validation, and 189 pytest tests. Python, FastAPI, SQLite
- x-report-reminder: Async pipeline that turns tracked X posts and linked pages into structured LLM summaries in Obsidian, with idempotent runs and prefix-cache-friendly prompts. Python, asyncio, SQLite
- ai-copilot-extension: Chrome MV3 browser assistant with a provider factory over Gemini, OpenAI-compatible APIs and on-device Gemini Nano; CI with 33 Vitest tests. TypeScript, Vitest
- Project-Bounty (team): REST backend; I built 4 endpoints with session validation, ownership checks and Jest HTTP tests, and migrated auth modules to TypeScript. TypeScript, Express, Jest
- slides-to-obsidian: Open-source Claude Code skill that turns lecture decks (PDF/PPTX/HTML) into bilingual Obsidian notes, using a two-pass design. Python, evals
Python · FastAPI · Pydantic · SQL/SQLite · TypeScript · Node.js · Express · C/C++ · LLM tool calling & multi-provider APIs · Git · GitHub Actions · Linux
