Modernise the legacy software your business still runs on
Visual FoxPro, VB6, Classic ASP, Delphi, PowerBuilder, old .NET Framework, MS Access, end-of-life SQL Server — rebuilt in React or Vue + Node.js (or .NET 8 if you're already Microsoft). Twenty years of business rules and data preserved. Fixed-price. Code is yours.
- Business logic documented & preserved — not silently changed
- Parallel-run cutover · tested rollback runbook
- You own the code — on a stack you can still hire for
- Lowest prices Fixed cost · no monthly SaaS bills · founder-led overhead
- High quality Sandbox-first · weekly demos · reconciled pre-launch
- Fast delivery Quote in 48 hours · live in weeks, not months
- Latest tech Latest APIs · v2 REST native · you own the code
Real benefits, by solving real legacy software problems.
- Browser, Not DesktopLegacy desktop app tied to one Windows version & one office PC
- Logic Preserved20 years of business rules buried in VFP / VB6 / Delphi code
- Mobile + RemoteField crews and remote staff locked out of the legacy desktop
- Modern SecurityUnpatched runtimes · EOL dependencies · failed audit findings
- Documented & HireableOne developer left who knows the codebase — and they're retiring
Six legacy modernisation capabilities
From reading the original 1998 source code carefully, through the module-by-module rebuild in a stack you can still hire for, to the day the legacy server is finally switched off — built so your business doesn't depend on a runtime Microsoft retired before iPhones existed.
-
Visual FoxPro Migration
Microsoft retired VFP in 2007 — and yet many Australian businesses still run mission-critical operations on it. We migrate VFP DBFs to SQL Server or PostgreSQL, port FoxPro forms and reports to a modern web app, and preserve the report-writer logic that 20 years of users depend on.
- VFP DBF → SQL Server / Postgres
- FoxPro forms → modern web UI
- Report-writer logic preserved
-
VB6 · Classic ASP · Delphi · PowerBuilder
VB6 (EOL 2008), Classic ASP, Delphi 7, PowerBuilder, old VB.NET WinForms — all rebuilt in React or Vue + Node.js or .NET 8. Forms, validations and stored-procedure logic translated; user workflow preserved; new code base is hireable for.
- VB6 · Classic ASP · Delphi
- PowerBuilder · old WinForms
- Forms · validations · workflows preserved
-
.NET Framework → .NET 8
Old .NET Framework 2.0 / 3.5 / 4.x apps (WebForms, ASP.NET MVC 5, old WinForms / WPF) brought to current .NET 8. EOL runtime risk eliminated, performance improved, dependencies updated, deployment moved to containers + cloud.
- .NET Framework → .NET 8 / Core
- WebForms / WinForms → modern UI
- Containers · CI/CD · cloud deploy
-
Legacy Database Modernisation
MS Access front-ends and back-ends, SQL Server 2008/2012 EOL upgrades, old MySQL 5.x → 8.x, Sybase → SQL Server / PostgreSQL. Schema preserved, query performance improved, backup & DR rebuilt for cloud.
- Access · old SQL Server upgrades
- Sybase · legacy MySQL
- Schema · queries · DR rebuilt
-
Re-Spec Without Re-Write
Often you don't need a full rewrite. Surgically replace the painful parts — a new web front-end on top of the existing database, a modern API in front of the legacy core, or one module at a time. The right approach depends on what's actually broken.
- Strangler-fig replacement
- Modern UI on legacy core
- Module-by-module rewrite
-
Parallel-Run Cutover
Legacy system stays alive read-only during parallel-run. New system loaded with daily delta from production. Tested rollback runbook ready. Cutover on a planned window with the safety net rehearsed — not a "go live and see" event.
- Parallel-run before cutover
- Tested rollback runbook
- Module-by-module or big-bang
A legacy modernisation project, end to end
Three stages. Original users involved in UI validation. Parallel-run before cutover. Legacy stays read-only as a safety net. Delivered personally by the founder.
-
Week 0
Legacy Audit
15-minute scoping call. We map the stack (language, runtime, database), the users (how many, where, on what devices), the business rules (where they live in the code), the integrations (printers, scanners, third-party software) and the risk posture. Fixed-price quote inside 48 hours.
-
Weeks 1–N
Re-Spec & Rebuild
Two-week sprints with weekly demos. Re-spec'd in a modern stack — React / Vue + Node.js + PostgreSQL / SQL Server, or .NET 8 + SQL Server if you're already in the Microsoft ecosystem. Original users involved in UI validation so the new system feels familiar.
-
Cutover
Live Cutover & Support
Parallel-run before cutover so the new system runs on real data before go-live. Tested rollback runbook ready. Legacy system stays read-only as a safety net. 30 days of post-cutover support included. Code lives in your GitHub from day one.
Before you book the scoping call
How much does legacy software modernisation cost?
Fixed-price after a 15-minute scoping call and a short discovery session. A focused single-module replacement (one painful workflow, one or two integrations) takes 6–10 weeks. A full multi-module modernisation with data migration, mobile, integrations and reporting takes 12–24 weeks. Enterprise platforms running on VFP / VB6 / Delphi with hundreds of forms can run 6–12 months. You know the price before any code is written.
How long does it take to modernise legacy software?
Depends on size, complexity and how willing you are to change the UI. Small modernisation (one workflow, single team, < 30 forms): 6–10 weeks. Mid (multiple modules, 30–150 forms, several integrations): 10–20 weeks. Large enterprise legacy (200+ forms, 50+ users, deep DB logic): 5–12 months — usually delivered module-by-module so value lands inside fortnight one, not at month six.
Do you specifically do Visual FoxPro migrations?
Yes — and we've done them. Pattern: DBF data extracted to staging, schema normalised into SQL Server or PostgreSQL, FoxPro forms re-spec'd as a modern web UI, FoxPro report-writer reports preserved as PDF templates with the same parameters, FoxPro code logic (stored locally in the .fxp / .prg) translated to server-side procedures. The classic 5-line FOR EACH → SELECT-SQL → REPORT FORM pattern usually compresses dramatically in the new stack.
What about VB6, Classic ASP, Delphi or PowerBuilder?
All routine. VB6 (EOL since 2008) usually becomes React + Node.js or .NET 8 + Blazor. Classic ASP becomes ASP.NET Core or Node. Delphi 7 / XE forms become modern web UIs with the same Pascal-y server logic re-expressed in TypeScript or C#. PowerBuilder data-windows are the trickiest — but they translate to React + server-side query patterns. The deeper the EOL runtime, the more value modernisation creates.
How do you preserve business logic that's been in the code for 20 years?
Reading the existing code carefully is half the job. We document every business rule (often surprising the current team) before re-writing. Stored procedures stay close to the database when that's right; UI logic moves into modern services where that's right. We don't silently change behaviour — every deliberate change goes on a list you approve.
Lift-and-shift, refactor, or rewrite from scratch — which one?
Depends on what's broken. Lift-and-shift (re-host the legacy app in modern infra) helps when the code is okay but the runtime is EOL. Refactor (re-stack the front-end, keep the database and core logic) helps when the UI is the problem. Full rewrite is right when the code base is the problem — usually when nobody understands it any more, or when the language is so dead nobody can be hired. The scoping call tells us which.
Do we own the new code? What happens to the legacy code?
Yes — source code, schema, deployment scripts all yours in your GitHub or Azure DevOps from day one. The legacy code stays available as a long-term reference / rollback artefact — you don't lose it just because you no longer run it in production. Hosting on the new system is yours.
How do you manage cutover risk?
Parallel-run is the default — legacy and new run side-by-side for the test period, with new system loaded from a daily delta of production data. Tested rollback runbook ready before cutover begins. Legacy system stays read-only after cutover as a safety net for the first week. Module-by-module cutover where the architecture allows it — never a "big bang" if there's a safer way.
Best value · quote in 48 hours · code is yours · zero obligation