Faster reporting, identical results
At KidsVoice, improved SQL filtering and indexing to cut runtime across a 37-report suite while preserving its results.
Legacy .NET modernization
Practical .NET modernization for small teams responsible for business-critical applications. Work directly with Sean Brennan, from assessment through delivery.
Overnight runs that never finished
~12 minutes
Re-engineered a document-export engine to complete municipal code books of roughly 1,500 sections and five million characters.
Sean's engineering work at enCodePlus. View professional background
Selected results from my engineering and consulting roles, alongside modernization work currently in progress.
At KidsVoice, improved SQL filtering and indexing to cut runtime across a 37-report suite while preserving its results.
For KidsVoice's ongoing legacy consolidation, built a resumable, 37-stage migration pipeline. Duration reconciliation mismatches fell from 807,000 to zero.
At enCodePlus, leading a VB.NET Web Forms rebuild using an ASP.NET Core API, Vue 3, and PostgreSQL, with automated testing and security checks in CI.
These examples describe my work in prior and current roles, rather than engagements delivered under the Legacy Upsize name. Read my full résumé.
The application still does valuable work. Maintaining it has become harder than it needs to be.
Start with the constraint that matters most. A full migration may not be the right first move.
A paid modernization assessment identifies the risks, compares your options, and defines a useful first implementation phase.
From $5,000 USD
Fixed fee agreed before work begins. Typically one to two weeks after access is ready; scope and timing are confirmed in the proposal.
Discuss your applicationOne application and a defined review scope. Implementation, exhaustive code review, and penetration testing are quoted separately. The written plan is yours to use with your own team or another provider.
The assessment determines the destination. A framework upgrade does not automatically require a new language, database, or hosting platform.
A focused performance or deployment engagement can be a useful first step. Existing Framework support is assessed against the Windows environment; age alone does not establish a need to migrate.
Each phase has an agreed scope, budget, and definition of done. You decide what to fund next.
A free 30-minute call to understand the application, business priorities, timing, and fit. No code access is needed for the introductory conversation.
Agree on a written scope and fixed fee before the assessment. Review the findings together and choose a practical first phase.
Establish a build and test baseline, then implement the agreed changes. Regular demonstrations and budget updates keep decisions visible; scope changes require agreement.
Agree on acceptance checks, deployment, and recovery procedures appropriate to the change. Finish with documentation, knowledge transfer, and a defined support period.
Sean Brennan
Founder, Legacy Upsize
Pittsburgh, PA / Working remotely
I'm a software engineer and architect with more than 15 years of experience building and maintaining business-critical applications. My work spans municipal publishing, legal case management, and enterprise systems.
I've worked with the constraints that come with established software: valuable data, years of business rules, small teams, and users who need the application every day. I help teams improve those systems through practical modernization, performance work, automated testing, and verified data migrations.
You work with me from the first conversation through delivery. If keeping part of the existing system is the sensible choice, that belongs in the plan too.
Start with a free 30-minute introductory call. Tell me what the application does, what's getting difficult, and what you'd like to improve. We'll discuss whether an assessment or a focused engagement makes sense.
Email Sean to arrange a callPrefer to write first? sean@legacyupsize.com
Please leave source code, credentials, and sensitive data out of your initial email.