Open to internships and freelance work
I like solving problems, in code and in how models think.
I'm Andrew, a computer science student at the University of Alberta. I split my time between mechanistic interpretability research on language models and shipping full-stack software, and I'm building two ventures of my own on the side.

02 · What I do
Work
What I get paid to build, what I research, and what I build for myself. Use the arrow keys to move between tabs.
EW Analytics Consult
Full-Stack Developer · Remote
Nov 2025 – Present
I lead a team of three at EW Analytics, building across GIS portals, management systems and automation tooling in GeoNode, Google Apps Script, React and Java. One of the bigger wins was automation software that cut deployment time by 40% by eliminating repetitive manual workflows. I've also customized the MapStore React UI and built repeatable PostGIS/GeoServer data pipelines that cut manual publishing time in half.
- GeoNode
- React
- Java
- PostGIS
- GeoServer
- MapStore
Side projects
Founder ventures
heavy-spoon.com
PrelaunchDetails coming soon.
instafurnish.shop
PrelaunchDetails coming soon.
Neubahar Labs
Undergraduate Researcher · Edmonton, Canada
Sep 2026 – Present
My focus here is on sparse autoencoders, specifically absorption and splitting.
- Sparse autoencoders
- Mechanistic interpretability
Algoverse AI Research
Researcher · Remote
May 2025 – Present
At Algoverse I've been investigating emergent misalignment in language models, from 0.5B up to 32B parameters, using LoRA fine-tuning and activation steering to show it holds up reliably across model scales. I built linear probes on adapter weights that work as early-warning indicators, catching misaligned behavior before it shows up in a model's output. The work has been co-authored and open-sourced on HuggingFace.
- LoRA
- Activation steering
- Linear probes
- HuggingFace
- MechInterp (Spotlight)
- CogInterp
- UniReps (Honorable Mention)
HomeBatch
In development, not yet public
HomeBatch is a marketplace for Edmonton home cooks, built so someone can sell anything from a single dinner to a full freezer batch to a standing weekly subscription. It's still pre-launch, but it's already a real system underneath: 15 feature modules spanning customer, vendor and admin roles, an 8-migration Postgres schema with row-level security, and six Supabase edge functions handling Stripe checkout, payouts and email.
- React
- TypeScript
- Supabase
- Stripe Connect
- Vitest
- Playwright
Study Buddy AI
Study Buddy AI is a bot built to make revising notes feel less like re-reading and more like asking a question. It uses Retrieval Augmented Generation to pull the right passage out of a student's own material, and LangChain to turn that into a natural answer rather than a raw document dump.
- Python
- LangChain
- Google AI
- NumPy
Ace Budget AI
Hackathon project
Ace Budget AI came out of a hackathon built around one annoyance: nobody wants to type in every receipt just to see where their money went. It reads receipts and parses emails automatically, then runs a TensorFlow and spaCy pipeline to predict where spending is headed, on a Next.js frontend over a Python Flask backend, containerized with Docker.
- Next.js
- TypeScript
- Python Flask
- TensorFlow
- spaCy
- Hugging Face
- Docker
HandMouseApp
HandMouseApp started from a simple question: could a webcam replace a mouse? It tracks hand landmarks in real time with OpenCV and Mediapipe, and turns that tracking into cursor movement, clicks, double-clicks and drags through a PyQt5 interface.
- Python
- OpenCV
- Mediapipe
- PyQt5
03 · Under the hood
Capabilities and tech stack
What I reach for, grouped by where it sits in the stack.
Languages
- Python
- C/C++
- JavaScript
- TypeScript
- HTML5
- CSS
ML & research
- LoRA fine-tuning
- Activation steering
- Linear probes
- Sparse autoencoders
- RAG
- LangChain
- TensorFlow
- spaCy
- Hugging Face
- NumPy
- Pandas
- OpenCV
Web & backend
- React
- Next.js
- Node.js
- Vite
- Tailwind CSS
- Supabase
- PostgreSQL
- PostGIS
- GeoServer
- Flask
Tools & testing
- Git
- Docker
- GitHub Actions
- Jupyter Notebook
- Vitest
- Playwright
04 · Who's asking
About
I'm a computer science student at the University of Alberta who likes solving problems. That's the constant, more than any one stack or subfield. Lately that's meant mechanistic interpretability research on one side and full-stack product work on the other.
I was recently part of the Edmonton Unlimited Student Founders Launch program, and I'm the founder of two prelaunch ventures, heavy-spoon.com and instafurnish.shop. Still getting there, but building in public toward launch.
Day to day, I work at EW Analytics building software solutions to people's problems. Outside of code, I play guitar for fun.
05 · Let's talk
Get in touch
Open to internships, freelance projects and collaborations. The fastest route is email.