My Projects

Auckland Transport Tracker

Gets real-time data for Auckland buses, trains, and ferries. Compares actual arrivals against scheduled stop times. Work in progress. Backend currently operational.

Skills Used:

  • Auckland Transport API
  • Next.js
  • PostgreSQL
  • TypeScript

Discord Events-to-iCal Bot

Slash command exports upcoming Discord events to a universal .ics feed. Handles timezone conversion and auto-fills missing end times. Attaches the .ics file directly in Discord. Roadmap includes more calendar features.

Skills Used:

  • Cloudflare
  • discord.py
  • ICS Calendar library
  • Nginx
  • Python
ChatGPT Discord Bot

ChatGPT Discord Bot

Large personal project focused on high-quality chat in Discord. Persona replies with thread-aware memory and cooldown controls. Emoji replacement, LaTeX-to-image, and image/file inputs. Supports edge cases, math rendering, and Tenor/Giphy media. Encrypted memory storage and rotating logs for clean debugging.

Skills Used:

  • Discord.js
  • LaTeX Rendering
  • OpenAI API
  • Shell Scripting
  • Tenor API
  • TypeScript

ReactionBot (StinkyBot - Working Title)

Combines multiple bot ideas into one. Reacts with emojis using regex-based phrase triggers. Rewrites social links into embeddable forms with poster confirmation. Slash commands to add or update keywords. Originally Python. Migrating to TypeScript.

Skills Used:

  • Discord.js
  • discord.py
  • Python
  • TypeScript
Triangle Location Dashboard

Triangle Location Dashboard

Website to select addresses and candidate meeting places on Google Maps. Computes geographic midpoint and picks the most central option. Drag-and-drop lists and auto-fit map bounds for better UX. Planned: use routes and travel times instead of straight lines.

Skills Used:

  • Google Maps JavaScript API
  • Next.js
  • Tailwind CSS
  • TypeScript