Studio site for Bureau, an independent brand and digital studio for climate and deep tech companies. Jonas Ek and Mara Voss, Berlin.
Live: https://solid-studio-zeta.vercel.app
| Technology | Purpose |
|---|---|
| SolidJS | Reactive UI framework |
| TypeScript | Type safety |
| Vite | Build tool & dev server |
| TailwindCSS v4 | Styling (via @tailwindcss/vite, no PostCSS config needed) |
| @solidjs/router | Client-side routing with lazy-loaded routes |
| @solidjs/meta | Dynamic <title> and meta tags per page |
bun install
bun devbun run build
bun run previewpublic/
├── robots.txt
└── sitemap.xml
src/
├── App.tsx # Main page — hero, work, studio, approach, contact
├── index.tsx # Entry point, router, Suspense, ErrorBoundary, MetaProvider
├── index.css # Global styles & Tailwind
├── data/
│ └── projects.ts # Project data, types, and getProjectBySlug()
└── pages/
├── ProjectPage.tsx # Project detail — lazy loaded
└── NotFound.tsx # 404 — lazy loaded
createSignal— local reactive state (time, scroll, menu, image load)createStore— section visibility map (flat keyed object)createMemo— derived values that only recompute when deps changecreateEffect— side effects (body overflow lock, slug → project resolution)onMount/onCleanup— event listeners with guaranteed cleanupbatch— group multiple signal writes into a single renderlazy— code-splitProjectPageandNotFoundinto separate chunksSuspense— handles lazy component loading at the router levelErrorBoundary— catches render errors app-wide, shows on-brand fallbackShow/For— conditional and list rendering@solidjs/meta—MetaProvider,Title,Metafor per-page SEO
| Slug | Client | Type | Year |
|---|---|---|---|
solaris |
Solaris | Brand Identity | 2024 |
kin |
Kin | Digital Product | 2024 |
conductor |
Conductor | Brand & Web | 2023 |
havn |
Havn | Brand Identity | 2023 |
- Projects — Edit
src/data/projects.ts(slugs, copy, images, results) - Studio copy — Edit
src/App.tsx(constants at top of file) - Styles — Edit
src/index.css - SEO / meta — Update URLs in
index.htmlandpublic/sitemap.xml
MIT