🌐 Live site → lamill.io
Marketing / landing site for LaMill — an engineering studio (full stack,
Linux, hardware bringup, IoT, web systems) — plus a small "AI Tools" sub-app
under /aitools.
- TanStack Start (SSR) —
@tanstack/react-start+@tanstack/react-router(file-based routing), on Vite with nitro as the server builder - React 19 + TypeScript
- Tailwind CSS v4 + shadcn/ui (Radix primitives in
src/components/ui/) - Package manager: pnpm
The current design was generated in Lovable and absorbed into this repo on 2026-06-28, replacing the previous React 18 + Vite + React Router SPA. See
AI_AGENTS.mdfor the full agent-facing context.
Builds run through the parent Makefile (sites/Makefile) inside the Docker dev
container — don't run pnpm directly on the host. From sites/:
make buildsh # enter the docker dev container
make run proj=lamill.io # pnpm install + pnpm dev (vite dev)
make test proj=lamill.io # pnpm install + pnpm buildHost equivalents (per package.json): pnpm install, pnpm dev, pnpm build,
pnpm preview, pnpm lint, pnpm format.
pnpm-workspace.yamlin this dir makes lamill.io its own pnpm workspace root. Without it,pnpm installwalks up tosites/pnpm-workspace.yamland installs nothing here (no-ops with "resolved 1"). Native install scripts (esbuild,@tailwindcss/oxide) are allow-listed there too.
File-based — every .tsx in src/routes/ is a route; __root.tsx is the shell.
| Route | File |
|---|---|
/ |
src/routes/index.tsx |
/services |
src/routes/services.tsx |
/web-systems |
src/routes/web-systems.tsx |
/content |
src/routes/content.tsx |
/contact |
src/routes/contact.tsx |
/aitools |
src/routes/aitools/index.tsx |
/aitools/text-generator |
src/routes/aitools/text-generator.tsx |
/aitools/image-analyzer |
src/routes/aitools/image-analyzer.tsx |
routeTree.gen.ts is auto-generated by the router plugin — don't hand-edit it.
Vercel, auto-deploying from main → lamill.io. The
site is SSR: nitro emits the Vercel Build Output API (.vercel/output).
vercel.json sets the build/install commands and NITRO_PRESET=vercel. Custom
domain lamill.io is set in the Vercel Domains panel.