−20%

20% off all services

Skip to content

We value your privacy

We use necessary cookies to keep the site working and, if you agree, Google Analytics to see which pages are useful. You can change your choice at any time at the bottom of the page. Cookie Policy

LiveBilingual website · 2026

oxtren.com: a bilingual Next.js website

Our own bilingual website, exported to static HTML and served by nginx. There is no Node in production: no application runs at request time, the whole site is cached at the edge, and it stays up while the API is down for a deploy.

Walk through the site

The way a visitor would: from the first screen to an enquiry. Desktop and phone at the same time. Screens show the Lithuanian version.

  1. Home

    The first screen is a scene

    The home page opens with a moon scene that moves with the page as you scroll. It is not one large video file but a frame sequence drawn on a canvas.

  2. Home

    An opening offer with a countdown

    At the top, an opening offer bar with a countdown. Offer prices across the site come from a single source, so when the offer ends, regular prices return everywhere at once.

  3. Services

    Every service on one page

    Six services, from websites to maintenance. Each shows a “from” price, what is included and a link to a detailed page, so you can compare without leaving the page.

  4. Website development

    What it is, cost, how to start

    The first screen answers three questions: what it is, what it costs and how to start. Then: when to get in touch, packages, scope, what you get, an example, how we work and FAQ.

  5. Website development

    Packages that are easy to compare

    Three packages with the offer price; the most popular is marked with a badge on the card's edge. Each card shows ten items, and “Show more” opens the rest on every card at once, so the rows stay aligned.

  6. Website development

    What every plan includes

    Below the cards: what every plan includes, among it a 6-month warranty and domains and accounts in your name. And a promise about price: the final price is confirmed in writing before the project starts.

  7. Contact

    An enquiry that knows what you want

    Press “Get a quote” on a package and the form arrives with that service already selected, for example “Business website”. No need to choose again. We reply within one business day.

About the project

Client
Oxtren Labs · our own site
Industry
Technology / B2B
Our role
Strategy, design, engineering, infrastructure
Year
2026
Address
oxtren.com · oxtren.lt

Stack

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • GSAP
  • nginx
  • Coolify
  • Cloudflare

The problem

The company had products, a portal and client work, but nowhere that explained all of it in one place. It needed a site that was fast, bilingual and dependent on no heavy system.

The customer portal and the API already lived in a Laravel application. We kept the marketing site separate, because that is where the SEO and content arguments actually apply.

The solution

Next.js with a static export: every page in both languages is generated at build time and served by nginx. The domain decides the language – oxtren.lt Lithuanian, oxtren.com English – never a browser guess, and every page carries hreflang and canonical tags.

What has to change together lives in one place. Offer prices across the site come from a single source, so when an offer ends, regular prices return everywhere.

The result

The site redeploys with no environment variables and no server to look after. The same page reaches Vilnius and Sydney from Cloudflare's edge.

Site and API do not depend on each other: while the API is being deployed, the site stays up.

Measured

  • 0Application servers at request time
  • 2Languages

What we did

  • Strategy, design, engineering and infrastructure in one team
  • Two languages on two domains: oxtren.lt Lithuanian, oxtren.com English
  • hreflang and canonical tags on every page
  • Static Next.js export served by nginx, no Node in production
  • A first-screen moon scene drawn as a frame sequence on a canvas, not a video file
  • Offer prices from a single source, restored automatically when an offer ends
  • Service pages with comparable packages and a contact form that arrives with the service already selected
  • Deployed with Coolify, served from Cloudflare's edge

Frequently asked

Why is oxtren.com a static site?

A marketing site does not need an application running on every request. Pages are generated at build time and served by nginx, with no Node in production, so the site stays up while the API is down for a deploy.

How does the site choose the language?

By domain: oxtren.lt is Lithuanian, oxtren.com is English. We never guess from the browser, and every page carries hreflang and canonical tags.

How much does a custom Next.js website cost, and how long does it take?

From €2,990, usually 4–8 weeks. The exact price and timeline go into a written proposal before work starts.From €2,392, usually 4–8 weeks. The exact price and timeline go into a written proposal before work starts. −20%

Find out what's stopping
your sales.

We'll review your purchase journey for free and show you the biggest conversion blockers.

What do you need?

Get a free review

We reply within 1 business day.