The product lives behind auth, so this one is a written record rather than a gallery.
Burt Intelligence
85+ shipped changes across an advertising analytics platform, from the Angular views down to the Rails API and the data layer behind it.
- timeline
- sep 2025 to present
- role
- software engineer
- team
- remote from ph, team in gothenburg
- stack
- angular · typescript · ruby on rails · postgres · aws
Context
Burt Intelligence builds analytics software for the advertising industry: enterprise media and broadcast clients reading campaign and revenue data they make real money decisions on. My title is software engineer. In practice the work runs the full width of the product, an Angular frontend, a Ruby on Rails API, and the analytics data layer underneath.
I work from the Philippines with a team in Gothenburg, on 3 pm to midnight so the working day overlaps and collaboration happens live rather than in a queue.
What I ship
85+ features and bugfixes across the stack so far. Not 85 frontend tickets: the work crosses the API boundary whenever the feature does, because a feature is finished when it works end to end, not when one layer of it does.
Platform upgrade
I took on the cross-cutting rendering regressions from an Angular v17 to v21 and PrimeNG upgrade of a large monorepo. That is the class of work with no visible feature at the end of it, and the class that breaks everything if it goes wrong.
That meant restoring the platform font stack, eliminating overlay clipping across dropdowns and dialogs, and rebuilding responsive filter layouts with CSS container queries so they held up at every breakpoint instead of only the ones the old media queries knew about.
Debugging across the stack
A server error was blocking enterprise clients from opening shared reports. I traced the failure from the Angular client through to the Rails API and restored access for affected accounts the same day.
Owning both ends is what made that possible. There was no handoff to wait on, because the person reading the stack trace was the person who could fix either side of it.
Agentic workflows
I work with agentic AI every day, and I am deliberate about where it fits. It belongs inside the workflow a team already has rather than in a side channel, held to the same review and the same bar as anything else that ships.
The interesting problem was never getting a model to produce code. It is getting it to produce code that fits an established codebase, because a tool that ignores existing convention produces work which passes tests and still fails review. Most of the value is in encoding what a team already knows well enough that an agent can meet it, which is work I have built tooling for.