██╗ ██╗ █████╗ ███╗ ███╗
██║ ██║██╔══██╗████╗ ████║
██║ ██║███████║██╔████╔██║
██║ ██║██╔══██║██║╚██╔╝██║
███████╗██║██║ ██║██║ ╚═╝ ██║
╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
makes computers do things · gold coast, australia
✻about
Liam Grant
Gold Coast, QLD, Australia
full stack engineer. big ai guy
✻work
● Westpac Bank — Engineer
Nov 2025 — Present [current]
• Build the bank's mortgage calculators. Migrating them from Webpack to Vite.
• Moving the core financial logic into a TypeScript library other teams build on.
○ PeriscoPe — Junior Web Developer
May 2024 — August 2025
• Built Shopify storefronts for multi-million dollar clients.
✻education
○ QUT — Bachelor of IT
Feb 2021 — Nov 2023
• Major in Computer Science
✻projects
● spire
Self-hosted financial dashboard
Next.js / TypeScript / PostgreSQL / Drizzle ORM / Docker
Track accounts, income and long-term projections on your own infrastructure. Handles savings, investments, loans and crypto — live prices, price history and real-time portfolio value — plus configurable pay cycles, split allocations and growth projections. Ships as a multi-arch Docker image, so your data never leaves your server.
● cs-movement
Source-engine movement physics, standalone
TypeScript
Counter-Strike movement as a library: bhop, surf, air-strafing, ladders, ducking and stamina, with plane-based brush collision. Faithful to CS:GO's accelerate and friction cvars, the air-speed cap and the takeoff clamp. Renderer-agnostic with zero runtime dependencies — you bring the geometry and the draw loop. The core has no DOM dependency, so it runs headless under Node for replay validation and deterministic lockstep.
● dotship
CLI dotfile manager
TypeScript / React / Ink / Node.js
Browse any public GitHub repository, pick the config files you need, and save them exactly where they belong on your machine. Repo authors can drop in a .dotship.yml manifest to map every file to its destination, so a whole dotfiles setup installs in one go.
✻stack
Claude Code
TypeScript
Everything else
✻github
fetching github activity…