Build an app with Remix and Bun

Currently the Remix development server (remix dev) relies on Node.js APIs that Bun does not yet implement. The guide below uses Bun to initialize a project and install dependencies, but it uses Node.js to run the dev server.

Initialize a Remix app with create-remix.

bun create remix

 remix   v1.19.3 💿 Let's build a better website...

   dir   Where should we create your new project?

      ◼  Using basic template See https://remix.run/docs/en/main/guides/templates#templates for more
      ✔  Template copied

   git   Initialize a new git repository?

  deps   Install dependencies with bun?

      ✔  Dependencies installed

      ✔  Git initialized

  done   That's it!

         Enter your project directory using cd ./my-app
         Check out README.md for development and deploy instructions.

To start the dev server, run bun run dev from the project root. This will start the dev server using the remix dev command. Note that Node.js will be used to run the dev server.

cd my-app
bun run dev
  $ remix dev

  💿  remix dev

  info  building...
  info  built (263ms)
  Remix App Server started at http://localhost:3000 (

Open http://localhost:3000 to see the app. Any changes you make to app/routes/_index.tsx will be hot-reloaded in the browser.

Remix app running on localhost

To build and start your app, run bun run build then bun run start from the project root.

bun run build
 $ remix build
 info  building... (NODE_ENV=production)
 info  built (158ms)
bun start
 $ remix-serve ./build/index.js
 [remix-serve] http://localhost:3000 (

Read the Remix docs for more information on how to build apps with Remix.