Joined Loopio in August 2024. Eighteen months in, the common thread across my work has been picking up unfamiliar terrain and shipping something that holds - three distinct areas, three different stacks, one company.
01Content migration tooling
Sept 2024 - Jan 2025Shortly after I joined, Alight divested Strada - a real, time-boxed customer split that needed every Alight customer's library content cleanly moved off the shared instance. Professional Services scoped the manual path at ~6 months. I owned the alternative.
I designed and built an automated migration tool that compressed that timeline by months and secured the customer renewal. Architectural decisions ran through the team lead; code review went through the senior engineers on the platform. The framework I left behind is what Loopio now reaches for when other migrations come up (e.g. LFS → Loopio Core).
I had zero prior experience with PHP, CodeIgniter, or domain-driven design when this started. I treated that as the job rather than a blocker - read the codebase end-to-end before writing anything substantive, then iterated tight loops with the people who owned the schemas I was reading from.
02Data warehouse + AI platform
Feb - Sept 2025Two adjacent projects under the same umbrella.
Reporting microservice. Pulled Loopio's project
reporting out of the monolith into a standalone service
(loopio_reporting_service). On the data side: stood up
the data warehouse layer - fact tables, views, dimensions - and built
the microservice's APIs against it. Also cleared a backlog of critical
bugs in the existing reporting surfaces on the way in.
Insights. Loopio's Strategic Insights product surfaces win-themes, library health, and readiness scores from 10+ years of RFP response data. I worked on the unsexy plumbing that makes it shippable: granular permissions auth/authz with the monolith, repo-wide unit test coverage, Sentry-based monitoring, and the bug bash before alpha. Then a stretch of technical spikes on context reduction and per-model token thresholds - the findings ended up feeding into how other teams pick models against cost and latency budgets.
03Audit trail & document parsing
Oct 2025 - presentLibrary Review Audit Trail. Harbourvest and other regulated-sector enterprise customers needed full visibility into every review cycle on a library entry - not just the current one - including the comments logged when an assignee passed a review along. It was a Q4 commitment.
I worked on the data foundation and the report surfaces - Review Cycle Export Report and Library Review Workload Report - letting users search across library entries and download the complete review history as CSV from the Library Reporting page. Took the prior feedback about seeking early review seriously this round: shared design + approach with stakeholders before writing the implementation, which paid back in a much cleaner foundation.
RFP document ingestion. In mid-Feb 2026, moved onto a sister product during a churn-heavy patch - customers were leaving over bugs and missing features and the team needed reinforcing. The ingestion path takes an uploaded RFP (docx, pdf, excel) and converts it to a normalized document - a common JSON shape the frontend can render uniformly regardless of source format.
I shipped Excel parsing support into the service and worked on the PDF rendering pipeline (heavy use of Aspose). The codebase is C#/.NET, which is new to me - Claude Code did a lot of heavy lifting and I'd be honest about that in an interview. I'm comfortable in the codebase, I know the algorithms, but I'm not going to claim C# fluency yet.
Through-lines
- Ramping fast on unfamiliar stacks. PHP/CodeIgniter in 2024, data warehouse work in early 2025, C#/.NET this year. Each one shipped to production with customers.
- Owning the unknowns, not just the tickets. The migration tool, the audit-trail data foundation, and the AI context spikes all started as ambiguous asks rather than well-spec'd work.
- Sharing early, not late. Direct response to manager feedback in March 2025 - the most recent review cycle highlighted this as a clear shift.