Refactoring, front-end redesign, automated tests and dependable releases for the applications your business already runs on. Every change comes with a written plan for what changes and why.
Trace the dependencies, the important workflows and the risks. Agree what is worth changing.
System map + prioritized findings
Make changes verifiable.
Add tests around the workflows in scope. Define release checks and a rollback approach before implementation.
Test plan + release safeguards
Move forward in small steps.
Refactor the selected components, improve the interface and hand over changes your team can maintain.
Reviewed changes + handover notes
Illustrative approach. The scope follows the review.
Senior engineering Direct technical leadership
Defined scope Written deliverables and pricing
Built for your team Code, documentation and handover
When to bring us in
Useful software. Growing friction.
Changes take too long
Routine improvements need extensive manual testing. The backlog grows while the business waits.
Too much depends on one person
System knowledge lives with a developer who has left, or a team with little time to document it.
The interface has fallen behind
The software still serves a purpose, but its screens and workflows make daily work harder.
Services
Clarity first. Then the right changes.
Start with a defined piece of work. Decide what comes next with evidence from your own system.
The starting point
Software Modernization Review
A focused review of one application and selected business workflows, including the relevant code and release process. We identify where the friction comes from and what is worth fixing first.
Typically 1–2 calendar weeks after agreed access is available. Timing depends on scope.
Commercial terms
Fixed scope and price agreed before work starts.
Your choice afterwards
Use the findings with your existing team, or commission an implementation.
A map of the system
Key components, dependencies and the workflows your business needs to protect.
A prioritized risk list
Findings on maintainability, testing and deployment, with supporting observations.
A practical next step
Recommended scope, tradeoffs and an implementation estimate for your team or ours.
Modernization & delivery
Refactoring, front-end redesign, E2E tests, CI/CD and deployment improvements. Work is broken into agreed milestones with reviewable changes and a handover to your team.
Business process automation
Document handling, reporting and routine work between systems. We define the workflow, build the automation and agree how it will be monitored and supported.
Working together
A clear decision at every stage.
1
Describe the problem
A 30-minute introductory call to understand the system, the team and the change you need. No code access is needed for this conversation.
2
Agree the scope
Set the review boundary, access requirements, deliverables, timeline and price. Confidentiality and tool permissions are agreed here.
3
Review the findings
Walk through the evidence and the options. Decide whether to implement, investigate further or leave working components as they are.
4
Implement & hand over
For follow-on work, agree milestones, acceptance checks and release responsibilities. Your team receives the code and documentation.
Selected experience
Modernization in practice.
Enterprise content tooling
Contentful system extensions
Code refactoring
Front-end UI redesign
Andrew’s consulting experience · Canadian telecom
An existing tool. A substantial modernization.
For a large Canadian telecom, Andrew completed a refactoring of legacy Contentful system extensions and a redesign of their front-end interface.
The engagement brought code modernization and UI work together: the same combination 1HAX offers to teams maintaining established web applications.
Professional experience of Andrew Leschinsky. Client materials are not reproduced.
Built and operated in-house
Our own products and tools
Krabik
Our internal AI operations platform: scheduled work, document and media pipelines, service monitoring and reporting.
Custom Fairy Tales
An in-house product for personalized illustrated children’s stories, with generation, payments and delivery workflows.
Writing code has become cheap. Understanding a system has not.
AI tools now produce code quickly, and we use them. The value of a modernization engagement is in what surrounds the code: knowing what the system does, what the business needs from it, and being able to explain a decision to the people who approve it.
Any one of these skills is easy to hire. Together, in one person accountable for the result, they shorten the path from “we should modernize” to a decision your team can execute.
01
Code
Thirty years of writing and reviewing production code. We can read what a tool produces and know when it is wrong.
Without it: generated code that nobody on your side can review.
02
System
Years inside large production codebases, where a change in one component shows up as an incident in another.
Without it: a fix that quietly breaks a different workflow.
03
Business
Founder and CTO experience. We understand what the software is for, who depends on it and what a delay costs.
Without it: the technically right refactoring at the wrong time.
04
Explanation
Every review ends with a written plan and a walkthrough your management can act on. If we cannot explain a change, we do not make it.
Without it: a report that never turns into a decision.
Technical leadership, directly involved.
Andrew Leschinsky, Principal
Andrew has been writing software professionally since 1993 and has lived in Toronto since 2003. He has been a startup founder and CTO, and since 2017 a senior consultant on the customer-facing web of one of Canada’s largest telecoms. Most of that time was spent inside large production codebases that had become hard to change, which is where the practice comes from.
He leads every engagement personally and still writes code every day. When a project needs additional capacity, 1HAX can bring in contract specialists through his network of development firms. Team composition and availability are agreed for each engagement, under his technical direction.
“I have never been handed a codebase that was beyond saving. I have been handed plenty that were badly frightened of being touched. The difference between the two is a good test suite and a few months of patience, and I find that work genuinely satisfying.”
Based in Toronto. Working with companies in the GTA and remotely across Canada.
Before we start
What does it cost?
The Software Modernization Review has a fixed scope and price, agreed before work begins. Implementation is quoted separately once we understand the system. On the introductory call, we discuss the size of the problem and the likely commercial approach.
What do you need to get started?
For the first call, just a description of the system and the problem. For a review, we agree appropriate access to the code, documentation and a working environment, plus time with someone who knows the business workflows. Missing documentation can be part of the review.
Will you recommend a rewrite?
We assess what can be improved within the existing system first. A partial replacement or rewrite may be appropriate when the constraints justify it. The review explains the options, tradeoffs and migration risks so you can make that decision.
What technologies are a good fit?
Our strongest experience is in web applications: Angular, JavaScript and TypeScript, Node.js, PHP, SQL and the delivery infrastructure around them. We confirm the fit for your stack before agreeing an engagement and can bring in specialists when the scope calls for them.
How do you use AI with our code?
We agree permitted tools and data access with you before work begins. AI can assist with code analysis, tests and implementation, subject to those permissions. Engineering decisions, code review and acceptance checks remain part of the delivery process.
Who does the work?
Andrew Leschinsky leads the technical work and is your direct contact. Additional contract specialists can join for an agreed scope. We work remotely, with in-person meetings available in Toronto and the GTA by arrangement.
Tell us about your system
A few sentences about the application and what makes it hard to change is enough. We reply by email to arrange a free 30-minute introductory call, confirm the fit and agree a useful next step.