← All projects

IMT Pave Express

A pavement-engineering platform that took heavy structural math out of a macro-laden spreadsheet and a clunky desktop app, and put it on the web — in production and in use.

AngularNestJSSpring BootPostgreSQLDocker

Pavement engineers run serious math — structural, spectral and probabilistic analysis of how a road will behave and how long it will last. For this team, all of that lived in a macro-laden Excel spreadsheet, with a separate desktop .exe that was awkward to use and tied to one machine. The calculations worked — but they weren’t portable, weren’t shareable, and there was no accounts, no projects, no structure around them.

IMT Pave Express rebuilt that into a web platform you can use anywhere, anytime — and it’s in production and in use today.

What it does

  • Guided multi-step analysis. Engineers enter parameters through clean, validated forms instead of fighting spreadsheet macros.
  • Structural, spectral & probabilistic analysis, plus pavement life prediction (fatigue and deformation) — modeling traffic loads across simple, dual, tandem and tridem axles.
  • Real-time, interactive results — outputs render as live charts, not static tables.
  • Any device. Responsive from a desktop in the office to a phone in the field — the “anywhere, anytime” the old .exe never allowed.
  • Bring your existing models. It reads and writes the same .imt model files the old desktop tool used, so years of existing work import cleanly — and export back out.
  • Professional reports & data. One-click PDF generation plus Excel import/export, fitting how engineering teams already work.
  • Accounts & projects. The structure the old spreadsheet never had — secure login, saved studies, shareable projects.

Under the hood

The interesting part is the architecture: IMT Pave Express is built as three deliberate tiers, each doing the one job it’s best at.

An Angular front end owns the guided experience — multi-step forms, real-time Chart.js visualizations, .imt/PDF/Excel handling, server-rendered for speed.

A NestJS API handles authentication, users and projects — the layer the original tool never had — with JWT-based role access, request throttling and a documented OpenAPI surface.

A dedicated Java calculation engine replaces the spreadsheet macros. The serious pavement math runs in its own Spring Boot service — purpose-built for computationally intensive work, with caching to keep repeat analyses fast, rigorous input validation and global error handling, and built-in metrics and health monitoring for production.

Splitting the calculation engine out from the product API is the key decision: the math that used to be locked inside a .exe is now a service that can scale, be cached and be tuned independently — and the whole system ships containerized for predictable deployments.

The stack

  • Frontend — Angular 19 with server-side rendering, Angular Material, Chart.js for interactive visualizations, jsPDF for reports, Excel and .imt import/export.
  • API — NestJS with TypeORM over PostgreSQL, JWT + Passport role access, Swagger/OpenAPI, rate limiting.
  • Calculation engine — Java 17 + Spring Boot, with Caffeine caching and Actuator metrics/health checks.
  • Ops — Docker containerization, Nginx; deployed on Heroku.

Worth noting

I led IMT Pave Express end to end as lead engineer of a team of three — owning requirements, architecture, UX/UI, frontend, backend and deployment. Taking a tool trapped in spreadsheet macros and a desktop .exe, preserving its .imt models so nothing was lost, and turning it into a fast, shareable, production web platform — is exactly the kind of full-lifecycle, cross-stack work this project is here to show.

Coffee & talk?

Like what you just read? I build products like this end to end — and I'm always up for a conversation. Let's talk about yours, or just trade notes over coffee.

Rentheria · Guadalajara, México