A minimal Remix application starter with a home page and an auth page.
app/controllers/home.tsxowns the home page.app/controllers/auth.tsxowns the auth page.app/routes.tsdefines the route contract.app/router.tswires routes to handlers.app/ui/holds the shared document and layout wrappers.app/utils/render.tsxcentralizes HTML response rendering.
- Start with flat route files and only introduce route folders when a route needs multiple actions or route-owned modules.
- Add directories like
app/data/,app/middleware/,public/, ortest/when the app actually needs them. - Move shared UI into
app/ui/once more than one route needs it.
npm i
npm run build
npm run start
npm test
npm run typecheckThis app uses Remix 3 with a custom fetch-router server, so Vercel should use the Other
framework preset rather than the Remix preset.
api/index.tsadapts the app router to a Vercel Node.js Function.vercel.jsonsetsframeworktonull, runspnpm run build, and rewrites all requests to the function.- Node.js should run on
24.x.