Marketing and developer site for Openable.dev, a desktop app that helps people run AI-generated projects locally without installing Node.js, using terminal commands, or configuring a development environment.
Openable.dev is built for creators working with projects generated by tools like Lovable, Bolt, v0, and similar AI code generation platforms. The site explains the product, shows the main workflow, collects beta signups, and exposes crawler-friendly metadata files such as robots.txt, sitemap.xml, and llms.txt.
- Next.js 16 with static export
- React 19
- TypeScript
- Tailwind CSS 4
- next-intl for copy and translations
- Formspree for beta signup submissions
oxlintandoxfmtfor linting and formatting
Install dependencies:
pnpm installStart the local development server:
pnpm devOpen http://localhost:3000 in your browser.
pnpm dev # Start the Next.js dev server with Turbopack
pnpm build # Build the static site into out/
pnpm start # Serve a production Next.js build
pnpm lint # Run oxlint
pnpm lint:fix # Run oxlint with fixes
pnpm fmt # Format the repo with oxfmt
pnpm fmt:check # Check formattingsrc/app/ App Router pages, metadata, robots, and sitemap routes
src/components/ Shared UI and page-level components
src/sections/ Homepage sections
src/copy/ English copy used by next-intl
src/static/ Global CSS and imported image assets
src/utils/ Shared constants and helpers
public/ Static public files, including llms.txt and background images
- Site URL lives in
src/utils/constants.tsasAPP_URL. - Page metadata is exported from
src/app/layout.tsx. /robots.txtis generated bysrc/app/robots.ts./sitemap.xmlis generated bysrc/app/sitemap.ts./llms.txtis maintained aspublic/llms.txt.
Because this app uses output: "export", generated metadata routes must remain statically renderable.
The site is deployed to GitHub Pages by .github/workflows/deploy.yml whenever changes are pushed to main.
The workflow:
- Installs dependencies with pnpm.
- Runs
pnpm build. - Uploads the
out/directory as a Pages artifact. - Deploys with
actions/deploy-pages.
Before pushing changes, run:
pnpm lint
pnpm fmt:check
pnpm build