TipiLAN

Official website for TipiLAN — Estonia's largest student-organised LAN event.

Work in progress. Event date: September 11, 2026.


Tech Stack

Requires Node.js ≥ 22.


Quickstart

npm install
npm run dev

Open http://localhost:3000 — redirects to /et by default.


Scripts

npm run dev        # Dev server (Turbopack, localhost:3000)
npm run build      # Production build (outputs SSG for /et and /en)
npm start          # Serve production build
npm run lint:fix   # ESLint with auto-fix

Project Structure

src/
  app/[locale]/        # Locale-based pages (et, en)
  components/teaser/   # HeroSection, CarouselSection, EndSection, Footer
  components/          # LanguageSwitcher, TeaserPage
  i18n/                # next-intl routing + request config
  lib/                 # blurPlaceholders.ts (auto-generated)
  proxy.ts             # next-intl routing middleware

translations/          # et.json, en.json
public/images/
  backgrounds/         # Full-viewport background WebPs
  heros/               # Character/hero image WebPs
  flags/               # Language switcher SVGs
  original/            # Original PNG sources (not served)
scripts/               # Image processing utilities

Image Utilities

When adding or replacing images, re-run:

# Convert new PNGs → WebP (quality 85)
node scripts/convert-images.mjs

# Regenerate blur placeholders for all images
node scripts/gen-blur-placeholders.mjs

Localisation

Translation files live in translations/et.json and translations/en.json.
Routing is handled by src/proxy.ts/ redirects to /et (default locale).

Description
TipiLAN-i mirror
Readme 223 MiB
Languages
TypeScript 97.4%
CSS 2.3%
JavaScript 0.3%