β‘οΈ Ultra-fast, modern full-stack TS starter for Bun.sh based apps using familiar JSX templating β‘οΈ
JSX is used as a templating language for familiarity, but this is not a React framework.
Focusing on web standards, separation of concerns, and leveraging modern tooling to get shit built fast.
Supports web components and lets you opt-in to React for specific pages if needed.
- Bun-powered: Lightning-fast dev/build with Bun
- Familiar JSX/TSX templating: Use the syntax you know, but not tied to any framework
- Web standards first: Embraces native HTML, CSS, and JavaScript
- Separation of concerns: Encourages clean, maintainable code structure
- Modern frontend tooling: Integrates with your favorite tools and workflows
- Web components support: Use or author custom elements natively
- Opt-in React: Use React only where you need itβper page
- Server-side rendering: TSX-based static/server components
- HTML streaming: Powered by
react-dom/serverin Bun - TypeScript-first: Everything is writte in TS and wired up by Bun
- Easy deploy: Instantly deployable to Railway
bun install
bun run devThen visit http://localhost:3000
SpeedLoaf just wants you to seperate your backend logic and view creation (HTML) from your frontend code (style and interactivity). You can do what you like in terms of dir structure but here is the high level:
βββ public/ # Static assets (logo, etc)
βββ src/
β βββ client/ # Frontend (component and page CSS + JS)
β βββ server/ # Server routes, SSR templates using JSX (views)
β βββ types/ # Shared TypeScript types
βββ dist/ # Build output
βββ package.json # Project metadata & scripts
βββ README.md # This file
Contributions are welcome! Please open issues or PRs. Use bun commit to trigger the gitmoji commit message builder.
Deploy instantly on Railway:
- Push to GitHub
- Create a new Railway project
- Select your repo
- Watch it fly!
MIT β free for personal and commercial use.
Made with β€οΈ in Sheffield, UK
