2024 · Selected work
Tezaurus
A multilingual self-service platform for an audit group — three branded sites from one codebase.
Commercial source code is confidential. I can walk through the white-label architecture and selected checkout and account flows where client agreements allow.
- Role
- Front-end Engineer
- Location
- Vilnius, Lithuania · Hybrid
- Engagement
- Commercial product development
- Period
- 2024 – Present
About the project
Tezaurus is the web platform of UAB „Tezaurus auditas“, a Lithuanian audit, accounting and payroll group with more than three decades of practice. Beyond presenting services and generating leads, the platform lets clients register, subscribe to services, place orders and settle payments in authenticated self-service flows.
The codebase is white-label by design: a single Next.js application powers tezaurus.lt and two sibling brands, with theming, analytics, push notifications and social integrations resolved per brand at build time. An in-house headless CMS owns editable content and exposes it through a typed Apollo GraphQL layer, while commerce and account state remain application concerns.
My contribution
- Multi-brand front end — I lead the Lithuanian/English Next.js front end across three brands, resolving brand-specific themes, analytics and integrations from configuration so shared components never branch on the company they render.
- Identity and forms — Delivered registration, account recovery and Dokobit e-identity sign-in, plus validated account, lead and checkout journeys.
- Commerce and documents — Implemented subscriptions and orders with coupons, Braintree and invoice settlement, with React PDF documents and React Email messages matched to order state.
Engineering proof
What was hard, what I chose, and how I checked it.
Challenge
Three brands need to share one maintainable application, yet still weave multilingual marketing content, authentication, subscriptions, documents and payments into a single continuous self-service journey.
Product & engineering decisions
- Brand identity resolves at build time, so shared components stay ignorant of which company they're rendering for.
- Editorial content lives in the CMS; authentication, commerce state and payments stay application concerns rather than bleeding into content.
- Checkout is modelled as explicit stages, letting card and invoice settlement share one customer journey despite completing differently.
Quality & outcome
- Payment stages line up with documents and transactional email, so the interface and the customer's inbox describe the same state.
- Clean routing, structured metadata and image optimisation keep the multilingual surface discoverable and fast.
One front-end architecture carries three branded businesses. A customer can go from service discovery to identity, subscription, order, document and payment without ever leaving the product.