Engineering and operations · Institutional site + multi tenant platform
Porto Engenharia Forense
Website and report platform for a vehicle forensics firm in Belo Horizonte, with a portal for insurers, associations and repair shops.

- Client
- Vehicle forensic engineering firm in Belo Horizonte
- Where
- Belo Horizonte, MG, Brazil
- Technology
- Next.js · TypeScript · React · Prisma · MariaDB · Tailwind CSS · Playwright · Tiptap · Nginx · PM2 · HTML e CSS estático
- Status
- Live · portoengforense.com.br
- Development
- André Gomes · NexiaLabs
In short
Porto Engenharia Forense is a vehicle forensics firm in Belo Horizonte, Brazil, working on accident reconstruction, mechanical inspection, fire investigation and vehicle damage classification. André Gomes, through NexiaLabs, built the institutional website and the platform where the team runs every case, from the photo inspection to the final PDF report. The platform is multi tenant, built with Next.js, Prisma and MariaDB, and runs on a Hostinger VPS.
The client
Porto serves insurers, vehicle protection associations, repair shops, law firms and vehicle owners. Its job is to turn physical traces, photos and documents into technical reports that hold up in administrative or court proceedings. Each service follows its own procedure: damage reclassification follows Brazilian traffic resolution CONTRAN 810/2020, bearing analysis depends on photos of every part, and a fire report has its own figures and references. Before the platform, that material lived in scattered files and each report was assembled by hand.
The challenge
A report is evidence, so nothing in it can be lost or changed after it is issued. Every photo attached to a case has to stay viewable, every PDF has to be reproducible, and every case number has to be unique. At the same time, outside clients needed to open requests and follow their own cases without seeing another company's data. And the public website had to explain technical work that a layperson never sees, for people arriving from Google looking for vehicle forensics in Belo Horizonte.
What was built
André built a Next.js platform with one module per service: bearing tribology analysis, damage classification and reclassification, mechanical, fire and traffic accident reports, vehicle registration services, scheduling and finance. Each client organization has its own portal, with its own manager and users, and data is separated by organization id. Inspections can be done on a phone or through a link sent to the repair shop, and the report comes out as a PDF with a frozen version. The institutional website is static and multi page, with one page per service and supporting technical content, built to load fast and be read by search engines.
What the system does
- Portal where insurers, associations, repair shops and law firms open requests and follow their cases.
- Remote inspection through a token link, so the repair shop can send vehicle photos without creating an account.
- Reading photo metadata (EXIF and GPS) to record where and when each picture was taken.
- Reports issued as PDF with a numbered version, a frozen snapshot of the data and a file hash.
- Yearly unique numbering with a service prefix, generated in a single place for every module.
- Rich text editor for mechanical report sections, with figures, references and a QR code linking to video.
- Data extraction from the vehicle registration document for registration services.
- Global search, scheduling and a finance dashboard for the internal team.
// For whoever reviews the code: architecture and decisions.
Under the hood
The platform is a single Next.js 14 app with separate route groups for the internal team, the operator and the external portal, and middleware blocks development routes in production. The database is MariaDB accessed through Prisma 7 with its driver adapter, in a schema of 135 models. Files live on the server disk, outside the build folder, and each one has a database record with path, type, size and hash. Report PDFs are rendered from HTML with Playwright. Everything runs on a Hostinger VPS with Nginx and PM2, and the institutional website is served as static HTML from the same server.
Technical decisions
- An issued report becomes an immutable version with a data snapshot and a PDF hash, because a report is evidence and later edits to the case must not change what was already delivered.
- Scripts that run before the build stop the release if a module creates its own numbering or leaves an attachment without a viewing route, so those rules do not depend on anyone remembering them.
- Uploads are checked by size, extension, declared type and the file's binary signature, because the extension alone does not prove a photo is a photo.
- The institutional website is static HTML, separate from the platform, so it loads fast and does not depend on the application server.
Does your business look like this one?
Fits technical offices, forensic experts and consultancies that deliver reports and need each client to follow their own case securely.
Frequently asked questions
Who developed Porto Engenharia Forense?
Porto Engenharia Forense was developed by André Gomes Andrade, a full stack developer from Carlos Chagas, Minas Gerais, Brazil, at NexiaLabs, from planning to launch.
Where is the client of Porto Engenharia Forense based?
Vehicle forensic engineering firm in Belo Horizonte. Belo Horizonte, MG, Brazil.
Which technologies were used to build Porto Engenharia Forense?
Porto Engenharia Forense uses Next.js, TypeScript, React, Prisma, MariaDB, Tailwind CSS, Playwright, Tiptap, Nginx, PM2, and HTML e CSS estático.
Can you build a similar project for my business?
Yes. Every project is custom built, with code and accounts in the client's name. The first step is a WhatsApp conversation at +55 (33) 98465 6356 to understand what you need.
