Context
Project-management and advisory firms usually inherit the same consulting template: stock photography, interchangeable service grids, no position. Sabrivigor needed a public site that read as international and execution-focused, not as a theme with the logo swapped.
System boundary
In scope
- public site
- information architecture
- visual system
- content model
- Laravel application
- Vite assets
- production deploy for sabrivigor.com
Out of scope
- internal project-control tooling
- client portals
Architecture
Laravel owns the site. Pages are modeled around the firm’s actual positions — advantage, services, divisions, reach, track record — rather than poured into a generic layout. The interface is a dark editorial surface: large type, cinematic stills, tight calls to action. Motion is part of the page, not a layer on a brochure.
- About
- Advantage
- Services
- Divisions
- Global reach
- Track record
- Connect
- Hub is the owning domain
- CRM/ERP are views, not calendars
- About
- Advantage
- Services
- Divisions
- Global reach
- Track record
- Connect
Counts from the published record. They describe structure, not a measured result.
How does a visitor reach conversion?
story
- serviceAbout
- processAdvantage
offer
- serviceServices
- serviceDivisions
proof
- interfaceGlobal reach
- storeTrack record
close
- interfaceConnect
- AboutAdvantage
- AdvantageServices
- ServicesDivisions
- AdvantageGlobal reach
- Global reachTrack record
- Track recordConnect
Critical flows
A visitor arrives
the first screen states position, not a service list
sections walk advantage, services, divisions, reach, and record
Connect is the close.
Stages
Decisions
Design the IA, do not fill a theme
The site is a custom Laravel application. Sections exist because they are how the firm is explained, not because a template had slots.
Treat content as structure
Advantage, services, divisions, reach, and record are the architecture. Copy is written into that map, not pasted into cards after the fact.
Keep the visual system one surface
Dark editorial type, cinematic stills, and motion share one language. A “premium” skin on a generic layout would have been cheaper and worse.
When it fails
| Condition | Detection | Response |
|---|---|---|
| Hero media starving first paint | Payload / LCP on the opening still | Compress and defer below-fold cinema; keep the first screen light |
| Nav item without a published section | IA vs shipped pages | Do not advertise a destination that is not live |
| Deploy unbound from the live host | Host / TLS / canonical check | Fail the release; the site is sabrivigor.com or it is not shipped |
Infrastructure
- Laravel application
- Vite asset pipeline
- production deploy configured for the Sabrivigor domain
Outcome
The public site is a digital record of the firm: international, strategic, and execution-focused — not a consulting brochure with a new coat of paint.
Current state
Live. Engineering, visual design, and content stay one system on the public host.