Nathan Espejo
3rd year (2026-27) in Software Engineering at Western University, graduating May 2028. Looking for a Summer 2027 software engineering or applied AI internship.
I'm a software engineer, and most of what I build lately is LLM tooling I actually use. I care about the boring parts too: tests in CI, data that syncs cleanly, changes I can roll back.
I'd rather pick a cheap model that does the job well than pay for the biggest one. In my homelab the model proposes a change and plain code applies it, with a log or a rollback behind it.
Right now: using Campus every day across my six courses, and running my homelab, where agents propose config changes and nothing applies until I approve it.
Experience
- May 2026 to Aug 2026
Software Engineering Intern · TeraGo · Markham, ON
Built a working outage-email parser: a local LLM on Ollama reads providers' non-standard outage emails and opens Jira issues. It works end to end, but TeraGo hasn't deployed it yet; they've started revisiting it. Also wrote Channel Finder, a Python tool that shortlists clear RF channels from MapInfo spectrum records, validated on 760 test cases, and deployed a Copilot Studio agent that answers engineers' RF questions.
- Sep 2025 to Aug 2026
VP of Data/ML (promoted from Software Developer) · 3D Western · London, ON
Started on the Dockerized print pipeline, then as VP co-led two data developers: a print-safety dataset of 2,559 clean renders from 4,620 scraped 3D models, rendered in Blender and checked by a VLM. The best small vision model agreed with those labels on 84.2% with the filename visible, and 76.9% from the image alone on the earlier prompt. Ran alongside my TeraGo internship.
Projects
Campus
Aug 2026 to nowsolo
My courses are spread across six Brightspace pages, so I built one place to check deadlines, study from slides and test a draft against the brief. Campus syncs everything into SQLite and answers from the course files with hybrid retrieval: a lexical prefilter, embeddings and a cross-encoder reranker. Its 20-tool agent logs every change it makes to my notes or due dates, and it runs on any OpenAI-compatible endpoint, local or hosted.
Campus wordmark. Open the full-size file 

Campus course hub and chat, with an exact citation. Open the full-size file
- courses, in daily use (I'm the only user)
- 6
- tests in CI on every push
- 308
- Python
- FastAPI
- SQLite
- embeddings
- cross-encoder reranking
- React
NixOS homelab
May 2026 to nowsolo
My laptop and a home server built from used parts run from one NixOS flake. Hermes Agent, from Nous Research, proposes the config changes, but nothing applies until I approve it, and a failed build rolls back to the last good one. One bug I won't forget: I set a WireGuard VPN as the server's default route, the peer died, and the whole machine went dark until I reset it by hand. Now the VPN lives inside the one container that needs it.


Homelab Dashboard and Service Overview. Open the full-size file
- machines, one NixOS flake
- 2
- hardened containers
- 27
- NixOS
- Nix flakes
- Docker
- Tailscale
- Hermes Agent
- llama.cpp
AWARE
Jul 2026Hack the 6ix 2026solo
Built solo at Hack the 6ix 2026. It watches a camera, listens for sounds and reads sensors, and you set automations in plain English, like "when glass breaks after 10pm, alert me." A 1B model turns that into a rule, plain code checks every rule each 500 ms, and vision, audio and the LLM all run on one $80 board with no cloud inference.


AWARE device on an Arduino UNO Q. Open the full-size file 

AWARE web dashboard. Open the full-size file
- rule checks, no LLM in that loop
- 500 ms
- Arduino UNO Q, all inference on board
- $80
- Python 3.12
- YOLOv8n
- YAMNet
- Whisper-tiny
- MiniCPM5-1B (GGUF)
- Arduino UNO Q
CareBridge
Feb 2026Spark 2026team project
Overall 3rd placeSpark 2026
Overall 3rd at Spark 2026, built with my team. We started from a winter storm that cut off a regional hospital and led to missed referrals and follow-ups. Patients check in by chat or voice, and providers get one timeline with risk signals pulled from those conversations.


CareBridge Provider Dashboard. Open the full-size file 

CareBridge Financials View. Open the full-size file 

CareBridge Pitch Slide. Open the full-size file
- React
- TypeScript
- Vite
- FastAPI
- Supabase
- Cohere
- ElevenLabs
Awards
8 awards across 22 hackathons, all with teams. Four I'd point to are below. The rest are on the projects page.
Careerly
NSBEHacks · 2024
3rd overall; Cohere's Challenge 1st place
Team project
Auralis
Hack Western 12 · 2025
Best AI Application Built with Cloudflare
Team project
Eyecandy
Hack the North · 2025
Snap Spectacles AR Runner Up
Team project
CareBridge
Spark · 2026
Overall 3rd place
Team project
| Event | Year | Project | Prize |
|---|---|---|---|
| NSBEHacks | 2024 | Careerly | 3rd overall; Cohere's Challenge 1st placeTeam project |
| Hack Western 12 | 2025 | Auralis | Best AI Application Built with CloudflareTeam project |
| Hack the North | 2025 | Eyecandy | Snap Spectacles AR Runner UpTeam project |
| Spark | 2026 | CareBridge | Overall 3rd placeTeam project |
Off the hackathon circuit: Dean's Honour List (2024, 2025) at Western University.