Duple
From Legacy PHP to an AI-Powered ERP: How We Transformed an Education Platform in Just 4 Weeks
Industry Insights

From Legacy PHP to an AI-Powered ERP: How We Transformed an Education Platform in Just 4 Weeks

An education platform was running on an old version of PHP that no longer got safety updates. We rebuilt the main system in four weeks, kept every record and rule, then added mobile apps, a simple learning area and an AI assistant on top.

We kept everything the old system already did, added the things it never could, and connected all of it together, with the main system rebuilt in four weeks.

An education institution came to us with a system that worked, and that they could not keep running much longer.

It was a platform they had used for years. Student records, admissions, fees, attendance, exam marks, timetables, staff records: it was all in there, in use every day, and correct. The problem was underneath it. The software was written in an old version of PHP, which is simply the programming language it was built in. That version had stopped receiving safety updates from the people who maintain it. And over the years the software had grown into something that was slow and risky to change.

Anything the system did not cover was being handled by people, by hand, every single day.

They did not want a different system. They wanted this one, the same parts, the same rules, the same records, running on something they could look after and build on.

We rebuilt the main system in four weeks. After it went live, we added mobile apps for students, parents and teachers, a simple learning area, and an AI assistant that answers everyday questions from the platform's own records.

Four weeks is the part people react to, so it is worth saying clearly what it covers and why it was possible. That explanation is the most useful thing in this story.

Running software you are afraid to touch?

We will look at what you have and tell you plainly what shape it is in: what can be kept, what needs replacing, and what it would take. We do that before anyone talks about a proposal.

Ask for a system check →

01

The problem: a system that worked, but could not carry on

Old software rarely breaks all at once. It just gets harder to live with. Here is what that looked like day to day.

The technology behind it had stopped being supported

Programming languages are looked after for a set number of years. After that date, the people who maintain them stop sending out safety updates — including fixes for new problems found later. The version this platform ran on had passed that point some time ago.

That matters here more than it would elsewhere. The system holds student records, parent contact details and payment information. Keeping that kind of information on software that can no longer be patched is a risk that grows quietly every month.


People were doing work the software should have done

Wherever the system did not reach, a person reached instead. Attendance was written on paper and typed in afterwards. Fee reminders were written and sent one at a time. Report cards were put together in spreadsheets, from marks that were already stored in the system. Management reports were rebuilt from scratch at the end of every month.

That was nobody's fault. It is what happens when software stops growing and the institution around it keeps going.


Nobody could reach it from a phone

The system only worked on a computer, which in practice put it out of reach of most of the people who needed it. Parents do not sit at a desk to check whether a fee has cleared. Students do not open a laptop to find out which room a class has moved to. Teachers do not want to walk back to the office to mark attendance.

Before and after comparison of the education platform across seven everyday areas
The same daily work, running on a completely different system underneath.
02

What they asked for?

The request was unusually clear, and that clarity is what made everything else possible.

  • Keep every record. Years of student, fee, attendance and exam history had to come across complete.
  • Keep every rule. Fee amounts, discounts, attendance rules, grading rules, including all the unusual cases built up over the years.
  • Keep the parts the staff already knew. No retraining the office on something that works differently for no good reason.
  • Replace what it sits on. New software, current technology, and a structure that can be changed safely.
  • Do not go offline. An institution cannot lose a week of attendance, fees or results.

That last point shaped everything. We were not replacing the system. We were replacing what the system was built on, while it carried on running.

What was kept, what was rebuilt and what was added in the education platform project
The records and the rules stayed. Everything underneath them was written again.
03

Why four weeks was possible?

Four weeks sounds unlikely, and it would be, if we had been designing a system from nothing. We were not. Five things were true at the start of this project that are not true of most projects.

They already knew what the system had to do

The platform had been running for years. Nobody had to work out what it should do, hold meetings to agree it, or write it all down from interviews. The working system was the plan, and everyone who used it had already tested it.


The way they worked was already proven

Every rule and every unusual case was visible — in the software, in the records, and in how the staff actually worked. When a fee calculation had an odd step in it, we could see the step and ask why, instead of finding out six weeks later that we had missed it.


Their information was already organised

We did not design a student record or a fee record from scratch. We read what was already there, kept what worked and tidied up the rest. Understanding how information is arranged takes days. Designing an arrangement that survives real use takes a great deal longer.


Our team had done this before

Our engineers have rebuilt systems like this many times. That matters less for the typing and more for the decisions: which parts to take first, where moving information usually goes wrong, which bits of old software are holding everything up and which only look that way. Those decisions were quick because they had been made before.


We agreed the list and did not add to it

The goal was everything the old system already did, not a wish list. Good ideas that came up along the way were written down for later instead of being added halfway through. Projects run late because the list grows, not because the work is slow.

The five advantages that made a four-week rebuild possible
The five advantages we started with, and what they did not include.
04

What we actually changed underneath?

"Code rescue" is an easy phrase to use loosely. Here is exactly what it meant on this project.

What was wrong with the old software

  • It was no longer supported. No safety updates were arriving, and none were coming.
  • The rules were scattered. The instructions that worked out a fee sat inside the same page that displayed it. So the same rule existed in several places and had to be changed in all of them.
  • Nothing else could read it. The information was locked inside the screens that showed it. That is why there were no mobile apps, and why nothing else could be connected to it.
  • Changes were risky. There was no quick way to check that a change had not broken something elsewhere, so every change meant re-testing things by hand.
  • The records had grown rather than been planned. Fields added over the years, names that did not match, and searches that took longer than they should.

What we rebuilt

  • The software itself, part by part. Each part was written again on the new technology and compared against the old one before we called it finished.
  • The screens and how people move through them. Faster and clearer, but deliberately familiar, the staff did not have to relearn their jobs.
  • The way the information is organised. Same information, tidier shape: names that match, proper links between records, and searches that return quickly.
  • The reports. They now read current figures instead of being put together by hand.
  • Who is allowed to see what. Rebuilt as one clear set of rules rather than separate checks repeated on each screen.

The one new thing that made everything else possible

The most important addition is also the least visible: a single shared connection point.

Think of it as one door into the records that every app has to use. Before, each screen reached in and took what it wanted. Now every app, the office system, the three mobile apps, the learning area, the AI assistant, asks the same place for information, and the same rules decide who is allowed to see what.

This is why the apps, the learning area and the assistant could all be added afterwards without touching the main system again. It is also why the institution can add the next thing without coming back to us to redo the middle.


How we made sure nothing was lost

  • Every part compared against the old one. Nothing was approved until the new version gave the same result as the old version for the same input, including the awkward cases.
  • Information checked at both ends. We counted and compared records on both sides rather than simply declaring the move complete.
  • Old and new running side by side. Both systems ran together before the switch, so the institution was never without a working one.
  • Staff walked through it before go-live. The people who use it every day are the best test of whether anything is missing.

[FILL IN BEFORE PUBLISHING] Replace this line with one plain sentence naming the technology, for example: "The new system is built on [framework], with [mobile framework] for the apps and [database] holding the records."

05

The four weeks, week by week

Four-week rebuild of the main system, followed by a separate stage for mobile apps, learning area and AI assistant
Four weeks for the main system. The apps, learning area and assistant came afterwards, on their own timeline.

To be completely clear, because this is the part most often misread: the four weeks was for the main system. The mobile apps, the learning area and the AI assistant were delivered in a later stage, once the main system was live and settled. They are part of the same project, but not part of the same four weeks.

06

The three mobile apps

This is the part that turned a rebuilt system into something the whole community could actually use. We built three apps, one for each group, because the three groups want very different things, and one app trying to serve all of them serves none of them well.

Three mobile apps for students, parents and teachers, all showing the same records
Three apps, one set of records.

The student app

Students want short answers fast: today's timetable and any room change, assignment deadlines and submissions, marks and results, course material, their attendance record, fee balance and receipts, and notices that affect them.


The parent app

Parents ask the most questions, and usually outside office hours. The app gives them fee balance and payment, receipts and payment history, their own child's attendance, marks and progress, notices from the institution, and a way to raise a question with staff. Everything is limited to their own child, a parent cannot see another family's records, because the request itself only ever asks for theirs.


The teacher app

For teachers the app is a shortcut through the admin: class lists, marking attendance in class instead of on paper, entering and checking marks, uploading course material, timetable and cover duties, and student contact history.


How the apps stay in step with the office?

All three apps use that same shared connection as the office system. A fee paid in the parent app appears in the office straight away. Attendance marked on a phone is written straight to the student record, not into a separate app that someone has to match up later. There is no copying, no overnight update, and no second version of the truth.

07

The learning area

The learning area we built is a simple one, and it would be wrong to describe it as anything more.

It holds course material and lessons against the courses already in the system, lets teachers set assignments and students hand them in, supports simple tests, and sends marks back into the main system so results live in one place.

What it does not do: learning paths, certificates, discussion boards or detailed analysis. The institution did not need those, so we did not build them.

What makes it useful is the connection rather than the feature list. Because it reads the same student and course records as the main system, there are no duplicate class lists, no separate logins, and no question about which system is right.

08

The AI assistant

This is where the "AI-powered" part of the story earns its name. The assistant answers everyday questions from all three groups, at any hour, using the institution's own records. It was built for this project specifically, it is not a ready-made chatbot dropped on top.

A parent can ask what their fee balance is and get their actual balance, not a link to a policy page. A student can ask when an assignment is due. A teacher can ask for a class list.

Three things mattered more than how well it chats:

  • It checks who is asking before it answers. A parent can only ever get their own child's information, because the question is limited to them before it ever reaches the records. The assistant is never trusted to decide who may see what.
  • It answers from the records, or it says it does not know. It reads the institution's own information. It does not invent a fee deadline that sounds about right.
  • It hands over properly. Anything sensitive, disputed or outside what it covers goes to a person, with the conversation attached, so nobody has to repeat themselves. Every conversation is saved.

Used this way, an assistant does not replace the support team. It answers the questions the system already knows the answer to, so the team can spend its time on the ones it does not.

09

The hand work we replaced

The rebuild made the system safe to look after. The automatic steps are what made it better than what came before.

Six jobs that were done by hand and how the system now handles them
Each of these was a job somebody did by hand, every single day.

Two things are worth pulling out of that list.

Nobody lost a decision they used to make. Attendance is still taken by the person teaching the class. It is simply recorded once, on a phone, and never typed again.

It also changed when information arrives. A monthly report tells you about a problem after the month that caused it. Up-to-date figures tell you while you can still do something about it.

10

How it all fits together

Diagram showing mobile apps, office system and AI assistant all connecting through one shared connection to the main system and one set of records
Every screen is a view of the same records.

Read that picture from the bottom up and you have the whole idea. One set of records at the base. The rebuilt main system on top of it. One shared connection above that. Everything else, the office system, three apps, the learning area, the assistant, goes through that connection. Which is why each new piece got easier to add instead of harder.

The main dashboard, plus two or three key sections, ideally admissions, fees and attendance. Blur or replace real student names and contact details first.

Two or three app screens, one per group. Phone frames around them will match the style of the other images in this article.

11

What changed

  • The system is safe to run again. It moved from software that no longer received safety updates to current technology that is still supported.
  • The work the staff were doing by hand is now done by the system. Nobody lost a role. The office lost the typing.
  • People can reach it. Students, parents and teachers use it from their phones, and get answers at any hour instead of only when the office is open.
  • Everything is joined up. The main system, the learning area, the apps and the assistant all read and write the same records, so nothing is typed twice and nothing disagrees.
  • It can be improved. They can build on this system instead of planning to replace it, which is the difference between something that helps them and something that holds them back.

[FILL IN BEFORE PUBLISHING] Add real numbers here if they can be checked and published, or delete this line: parts rebuilt, records and years of history moved, how many students, parents and staff use it, time saved on a specific job, or questions the assistant handles. A two-sentence quote from their IT lead or office head can go just below.

If your software is in the same position, start with a look at it

Before anyone talks about rebuilding or replacing, it is worth knowing exactly what you have. We go through the software, the records and the way your team works, and tell you plainly what can be kept and what cannot, with a timeline you can plan around.

Talk to our team →

12

What this means if you are in the same position

The interesting part of this project is not the four weeks. It is why four weeks was available at all.

A working system holds something that no document holds and no tool can recreate from a description: years of decisions about how one particular organisation actually operates. The fee rules and their exceptions. The attendance policy and its odd cases. The report format the board expects. Nobody ever wrote those down, because nobody needed to, they were in the software.

Starting again from a blank page throws all of that away and hopes somebody remembers it in time. Rescuing the software reads it, keeps it, and replaces only what is genuinely broken. That is faster, safer, and what we would suggest to almost any organisation sitting on software that still works but can no longer be looked after.

If that sounds like your situation, the honest first step is not a proposal. It is a proper look at what you have. It is the cheapest part of the whole project, and the only part that tells you whether the rest is necessary.

13 — FAQ

Frequently asked questions

What is a code rescue, and how is it different from starting again?

A rescue keeps your records and your rules, and replaces the parts that are unsafe or too hard to look after, usually the technology underneath, the software itself and the weakest sections. Starting again means rebuilding everything from a fresh description, which usually means rediscovering years of detail that nobody ever wrote down. When the existing system genuinely works, a rescue is faster, cheaper and far less risky.

Can you really rebuild a system like this in four weeks?

In this case, yes, because they already knew what it had to do, the way they worked was visible in a running system, the records were already organised, our team had done it before, and the list was locked after week one. Take any one of those away and the timeline changes. We would not promise four weeks for software we had not looked at yet.

Does the four weeks include the apps and the learning area?

No. The four weeks was for the main system. The mobile apps, the learning area and the AI assistant were built in a later stage, after the main system was live.

Why is old technology a problem if everything still works?

Because "works" and "supported" are not the same thing. Once a version passes its support date, no more safety updates are released for it, including fixes for problems found afterwards. Software holding student and payment details on an unsupported version builds up a risk it has no way to fix.

Will our system be offline while the work happens?

No. We run the old and the new system side by side and switch over only once the information has been checked on both sides. For an education institution this is not negotiable: a week without attendance, fees or results is not something they can absorb.

How do you make sure nothing is lost?

Every part is compared against the original, information is checked on both sides rather than simply declared moved, both systems run together before the switch, and the staff who use it walk through it before go-live. The aim is that nobody notices anything missing, because nothing is.

Is an AI assistant safe to give to parents and students?

It is, as long as it checks who is asking before it looks anything up, not afterwards. In this build a parent can only ever get their own child's information, because the question is limited to them before it reaches the records. The assistant also answers only from the institution's own information, passes anything sensitive to a person, and saves every conversation.

What would something like this cost for us?

It depends on how large the software is, how much of it survives a proper look, and how many other systems need to connect to it. That is exactly what the first look establishes. We give a figure after going through the software, not before, because any number offered earlier is a guess.

Do we own what you build?

Yes. You own the software, the records and the documentation, and we write the handover notes for whoever looks after it next, including the possibility that it is not us.

Was this useful?

Comments

Comments are unavailable right now.