ActExpress — Romanian documents agency
Seven procedures, two languages, one form.
ActExpress handles Romanian citizenship, passports, identity cards, driving licences, criminal record certificates, apostille and certified translations. Seven procedures, each with its own paperwork, sold to clients who read Romanian or Russian. The site had to explain all seven clearly enough that someone recognises their own case, then capture the enquiry with the one detail that decides everything that follows: which procedure.
The service is a field, not a sentence.
The enquiry form carries the procedure as its own field, so a request arrives already sorted instead of as free text somebody has to read and classify before it can be answered.
Both languages are in the interface from the first load, detected from the browser and switchable by hand. The privacy policy and terms exist in both as well — an agency that handles other people's documents and cannot show its own terms is a hard sell.
Validated on both sides, delivered to two places.
React on Vite in front, Express and MySQL behind. The form validates in the browser with react-hook-form and again on the server with express-validator, because a check that runs in the browser is a convenience, not a guarantee.
Every enquiry is written to the database and emailed to the office in the same request, with rate limiting in front of the endpoint so the form cannot be turned into a mail relay.
The lightest of the four sites here.
Measured on the live site: 674 KB over 22 requests, less than half the weight of the other three, with the largest element painting in 1.6 s.
Need something like this?
Start a project