Skip to content
Skip to content

Nathan Espejo

Software engineer building applied AI tools. 3rd-year Software Engineering at Western.

Ask about me

experience

TeraGo

Software Engineering Intern at TeraGo, May to Aug 2026: an outage-email parser on a local LLM, Channel Finder, and a Copilot Studio agent.

May 2026 to Aug 2026Software Engineering InternMarkham, ON

TeraGo is a Canadian provider of cloud, colocation and connectivity services for businesses.

This was internal work, so there's no code or screenshots here.

tl;dr

  • An outage-email parser in Python: a local LLM on Ollama reads provider outage emails and opens Jira issues. It works end to end; TeraGo hasn't deployed it yet.
  • Channel Finder, an RF tool that shortlists clear channels, validated on 760 test cases.
  • A Copilot Studio agent that answers engineers' RF questions from SharePoint documents.
  • A proposal for a self-hosted LLM platform to cut per-user Copilot licensing costs.

The problems

  • Providers send outage notices in non-standard formats.
  • Picking a clear frequency for a PMP or P2P link means checking candidates against MapInfo spectrum records.
  • The answers to engineers' RF questions sit in SharePoint documents.
  • Copilot is licensed per user.

What I built

Outage emails to Jira (working, not deployed). Reads the mailbox through Microsoft Graph, has a local LLM on Ollama pull out the key details, and opens a Jira issue. It works end to end, but TeraGo hasn't put it into use yet. They've started revisiting it.

Channel Finder. An explainable RF decision-support tool in Python. It checks candidate frequencies against MapInfo spectrum records and shortlists clear ones for PMP and P2P links. Shipped as a CLI and a web UI.

Copilot Studio agent. Answers engineers' RF questions from SharePoint documents.

Self-hosted LLM proposal. LibreChat with SharePoint and Jira integrations, to cut per-user Copilot licensing costs.

How it works

Outage-email parser:

The mailbox is read through Microsoft Graph, a local model on Ollama pulls out the key details, and a Jira issue is opened.

Channel Finder:

A link type and candidate frequencies are checked against MapInfo spectrum records, producing a shortlist of clear frequencies.

Models and cost

  • The parser runs a local model on Ollama, so emails are processed locally, with no per-call API cost.
  • The LibreChat proposal moves chat to a self-hosted platform instead of per-user Copilot licences.

Results

  • Outage-email parser: works end to end, not deployed yet.
  • Channel Finder validated on 760 test cases, shipped as a CLI and a web UI.
  • Copilot Studio agent deployed for engineers.
  • Python
  • Ollama
  • Microsoft Graph
  • Jira
  • Copilot Studio
  • SharePoint
  • MapInfo data