← Back to selected work

Renovotec · Led dashboard modernisation

LastMile

Changing the foundations of a delivery platform—not starting again with an empty project.

Commercial platform · Migration completed; rollout unconfirmedC# · .NET 8 · EF Core · QuestPDF
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.
LastMile dashboard showing depot delivery and parcel charts
The LastMile dashboard in a local environment. Displayed totals illustrate the interface; they are not measures of my personal impact.

What changed

AreaBeforeMy migration work
Platform.NET Framework 4.8 / EF6.NET 8 / EF Core
User rolesLegacy dependenciesReplacement user-role service and authentication integration
Interface contractsMVC5 response conventionsPreserved expected JSON property names
Diagnosticslog4netILogger and slow-report logging
PDF reportsRotativa and Razor viewsQuestPDF 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.

See the work

Another side of the work

Frank →PickByLight →PackingBench →Teremware × MAI →

Talk to me about a role →