Seven Years Running the Systems a Construction Firm Works In
An established Slavonian construction firm with its own concrete plant, haulage fleet and vehicle workshop had effectively no web presence, so municipalities tendering work could not find or evaluate them.

The Challenge
Gebruder has been building in Slavonia since 1993, with its own concrete plant, haulage fleet and vehicle workshop. A firm that size runs on documents: certificates, delivery notes, project records, correspondence on company letterhead. For years that lived in filing cabinets and shared folders, which works until you need to know who changed something, or which version is current, or you want a specific person to see one folder and not another. Separately, and later, the firm had no meaningful web presence either, which matters when the work comes from public tenders and the buyer looks you up before shortlisting.
What We Built
The internal systems came first and took most of the seven years. We deployed our own Jaspero JMS on Firebase and built the back office around how the company actually works: files organised into folders with access granted by role rather than by who knows the link, generation of documents on the company memorandum, invites so new staff get exactly the permissions their job needs, and a history of role and user changes so an administrator can answer who changed what and when. Automated email and contact handling sit on the same system. The public site came later and is deliberately separate: a static SvelteKit build in Croatian, English and German, aimed at the buyer evaluating a contractor rather than at anyone who works there.
Decisions Worth Explaining
Permissions modelled on roles, not on people
A construction firm has turnover, and access tied to individuals turns every arrival and departure into a manual audit nobody performs. Granting access to a role instead means onboarding is picking a role, and offboarding actually removes what it should.
A history of who changed what
Role and user changes are recorded rather than overwritten. It is unglamorous and it is the difference between an administrator being able to answer a question about a document six months later and having to guess.
The public site kept deliberately separate
The back office is an authenticated application and the marketing site is a static build with no login at all. Keeping them apart means the public site cannot be slowed down, or exposed, by the system the company actually runs on.
Static build for rural connections
A meaningful share of the audience is not on urban fibre. Prerendering the whole site and putting real effort into the image pipeline matters more here than any framework feature, because the alternative is a buyer giving up on a slow page.
The Result
Seven years of continuous work, which is the number that matters most here. The back office has been in daily use since 2019 and the trilingual public site went live in 2026.
Under the Hood
Back office on Jaspero JMS and Firebase: file storage organised into folders with per-role access, company memorandum generation, user invites, role history for auditing who changed what, automated email, and contact form handling. The public site is a separate SvelteKit static build in Croatian, English and German.
Technology Stack
Want Similar Results?
Let's discuss how we can help solve your technical challenges.