Renovotec · Led dashboard modernisation
LastMile
Changing the foundations of a delivery platform—not starting again with an empty project.
- Problem
- Modernise an established delivery dashboard with obsolete dependencies.
- My part
- Led the .NET / EF Core migration and replacement application services.
- Outcome
- Migration completed; modernised dashboard rollout not yet confirmed.

What changed
| Area | Before | My migration work |
|---|---|---|
| Platform | .NET Framework 4.8 / EF6 | .NET 8 / EF Core |
| User roles | Legacy dependencies | Replacement user-role service and authentication integration |
| Interface contracts | MVC5 response conventions | Preserved expected JSON property names |
| Diagnostics | log4net | ILogger and slow-report logging |
| PDF reports | Rotativa and Razor views | QuestPDF implementations for operational reports |
What I owned
LastMile is an established commercial electronic proof-of-delivery platform. I modernised its dashboard and led the move from .NET Framework 4.8 and Entity Framework 6 to .NET 8 and EF Core.
My responsibility was understanding an unfamiliar system, replacing obsolete dependencies and carrying its existing behaviour through the migration.
Compatibility was the work
Changing the target framework was only part of it. Authentication, user roles, data access, mapping and the responses expected by the existing interface all needed attention.
I implemented a replacement user-role service and preserved MVC5-compatible JSON property names. Those are small-looking details with a large consequence: the rest of an application already depends on them.
Under the hood: services and diagnosis
The development history records role assignment during authentication, controller access changes, repository registration and data mapping alongside the framework migration.
Logging also moved from log4net to ILogger. Later work added logging for reports taking more than twenty seconds. That threshold helps investigation; it is not a claim that reports became twenty seconds faster.
Reports had to keep doing their jobs
I replaced Rotativa-based PDF generation with QuestPDF across operational reports, including signatures, barcode labels, run sheets, depot operations and proof of delivery.
This was more than replacing a package reference. Existing views contained the information, layout and orientation each report needed. I worked through those report types individually, rather than treating compilation as proof that the output was correct.
What was delivered
The migration and replacement services were completed, followed by operational reporting changes. LastMile itself is available to customers; rollout of the modernised dashboard remains unconfirmed.