Summer at RBC
Intro
From May to September 2026 I worked as a GenAI Engineer at RBC in downtown Toronto, on the GenAI team inside Internal Audit. This page is a quick tour of what I built, what a normal day looked like, and what I actually took away from four months at a bank. If you only read one section, read the goals part at the bottom.

The employer
RBC is the biggest bank in Canada, and Internal Audit is the group that checks whether the rest of the bank is doing what it says it does. My team's job was to bring generative AI into that work: building agents that help auditors, and just as importantly, building the evaluation and governance layer that decides whether an AI tool is trustworthy enough to release across the organization.
That second part surprised me. I expected a bank to be slow on AI. Instead the constraint wasn't “can we build this,” it was “can we prove it's reliable enough to trust with audit evidence.” Most of my summer was spent on that question.
I worked out of 20 King Street West, which is a great commute if you like trains and a bad one if you don't.
What I worked on
I never had one big project. I had a new one basically every week or two, which was the best part.
LLM testing framework
Built a framework to evaluate an agent that turns audit interview transcripts into structured forms. It extracts every claim the agent makes, uses a separate judge model to check each one against the source transcript, and produces a faithfulness score and a per-question breakdown. Those reports are what got submitted for enterprise model risk review before the agent could be used by the wider audit team. This was the project I spent the most time on and it's the one I'm most proud of.
AI agent governance
Worked on the intake process for new agents: figuring out what data types and use cases need formal approval, then building a classifier agent that walks someone through a few questions and tells them whether their agent needs to go through intake. Later redesigned the intake forms themselves with a small team to make them less painful to fill out.
Custom agents for an executive
Built a handful of agents for a senior leader on the team, including one that scans internal loss data and the web for emerging fraud, cyber, AI, and vendor risk and formats it for executive use, and one that turns a slide deck into speaker notes.
QA report generator
Converted audit issues and observations from Word documents into streamlined, consistently formatted QA reports.
Process mapper
Cleaned up an existing repo that maps business processes from documents, simplified the outputs so they were actually readable, and wired it into the same faithfulness evaluation so its outputs could be trusted.
Linking two control databases
My last project. The enterprise controls database and the auditor-tested controls database don’t talk to each other, so auditors have been bridging them with keyword search. I’m working on a better way to match records across the two.
What I actually learned
Skills-wise this was Python, prompt design, LLM evaluation (faithfulness, grounding, LLM-as-a-judge), working with model APIs through Bedrock, and a lot of reading other people's code. Almost none of it came from a classroom. The eval mindset came from the stats side of my degree though, which I didn't expect.
A day in the life
- 7:30 AM7:30 AM
Get on the train

- 8:45 AM8:45 AM
Arrive at 20 King W

- 9:00 AM9:00 AM
Finally reach my floor

- 9:30 AM9:30 AM
Daily stand up with the squad

- 10:00 AM10:00 AM
Writing code

- 12:00 PM12:00 PM
Lunch

- 1:00 PM1:00 PM
Fixing the code I wrote at 10
- 2:30 PM2:30 PM
Building an agent for an exec
- 4:00 PM4:00 PM
Prompt tweaks for the judge model, plus a coffee chat

- 5:00 PM5:00 PM
Heading home

Goals
I set three goals at the start of the term. Here's how they went.
Work on a wide variety of projects instead of one thing all summer.
Hit this one. Six or seven distinct projects, each a different kind of problem. I learned way more from the variety than I would have from going deep on one thing, and I got a much better picture of how LLM systems actually get built, evaluated, and approved inside a large company.
Learn to communicate in a corporate environment.
This was the biggest adjustment. I’d worked at a startup before but never anywhere I had to explain technical decisions to executives in plain language, or write documentation precise enough to survive a formal risk review. I’m not perfect at it but I’m a lot more comfortable than I was in May.
Actually network.
I’d never done a coffee chat before this summer. Did a handful, they were less awkward than expected, and I came out of most of them with real advice. The thing I’d change: start earlier. I left a lot of good conversations until August.
Conclusion
If you only remember one thing from this page: building the AI is the easy part. Proving it's trustworthy is the work. I spent a summer at a bank and came out caring about evaluation, which is not what I expected to say.
Next term I'm at Magnet Forensics as a remote software engineer. Different domain, but I'm bringing the eval mindset with me.
Acknowledgments
Thanks to Preet for letting me bounce between projects instead of parking me on one. Thanks to Feroz, Aditya, Katherine, Leigh, Japleen, Mira, Sudhandar, Derek and Jun for the projects, the reviews, and the coffee chats. And to the summer intern cohort for making the lunches good.