HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
kriasoft
react-starter-kit
TypeScript2014–2023
kriasoft / react-starter-kit

react-starter-kit

Modern React starter kit with Bun, TypeScript, Tailwind CSS, tRPC, Stripe, and Cloudflare Workers. Production-ready monorepo for building fast web apps.

16Distinct people
24Mentions
0Explicit recommenders
23.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Modern React starter kit with Bun, TypeScript, Tailwind CSS, tRPC, Stripe, and Cloudflare Workers. Production-ready monorepo for building fast web apps.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year24 dated mentions

Observed mentions: 2014-09-19 11:52:24 UTC to 2023-07-23 13:35:52 UTC.

02462014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC422
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC624
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC606
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC211

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
React Starter Kit A full-stack monorepo template for building SaaS applications with React 19, tRPC, and Cloudflare Workers. Type-safe from database to UI, deployable to the edge in minutes. Highlights Type-safe full stack – TypeScript, tRPC, and Drizzle ORM create a single type contract from database to UI Edge-native – Three Cloudflare Workers (web, app, api) connected via service bindings Auth + billing included – Better Auth with email OTP, passkey, Google OAuth, organizations, and Stripe subscriptions Modern React – React 19, TanStack Router (file-based), TanStack Query, Jotai, Tailwind CSS v4, shadcn/ui Database ready – Drizzle ORM with Neon PostgreSQL, migrations, and seed data Fast DX – Bun toolchain, Vite, Vitest, Oxlint, Oxfmt, and pre-configured VS Code settings React Starter Kit is proudly supported by these amazing sponsors:      Technology Stack Layer Technologies Runtime Cloudflare Workers Frontend React 19, TanStack Router, Tailwind CSS v4, shadcn/ui, Jotai Marketing Astro Backend Hono, tRPC, Better Auth, Stripe Database Drizzle ORM, Neon PostgreSQL Toolchain Bun, TypeScript 7.0, Vite, Vitest, Oxlint, Oxfmt Monorepo Architecture ├── apps/ │ ├── web/ Astro marketing site (edge router, serves static + proxies to app/api) │ ├── app/ React 19 SPA (TanStack Router, Jotai, Tailwind CSS v4) │ ├── api/ Hono + tRPC API server (Better Auth, Cloudflare Workers) │ └── email/ React Email templates ├── packages/ │ ├── ui/ shadcn/ui components (new-york style) │ ├── core/ Shared types and utilities │ └── ws-protocol/ WebSocket protocol with type-safe messaging ├── db/ Drizzle ORM schemas, migrations, and seed data ├── infra/ Terraform (Hyperdrive connection pools, R2 storage) ├── docs/ VitePress documentation └── scripts/ Build automation and dev tools Each app deploys independently to Cloudflare Workers. The web worker routes /api/* to the API worker and app routes to the app worker via service bindings. Prerequisites Bun v1.4+ (replaces Node.js and npm) VS Code with our recommended extensions React Developer Tools browser extension (recommended) Cloudflare account for deployment Quick Start 1. Create Your Project Generate a new repository from this template, then clone it locally: git clone https://github.com/your-username/your-project-name.git cd your-project-name 2. Install Dependencies bun install 3. Configure Environment This project follows Vite env conventions: .env is committed and contains shared defaults/placeholders only (no real secrets) .env.local is git-ignored and should contain your real credentials .env.local values override .env cp .env .env.local # then replace placeholder values with real ones Also check wrangler.jsonc for Worker configuration and bindings. 4. Start Development # Launch all apps in development mode (web, api, and app) bun dev # Or, start specific apps individually bun web:dev # Marketing site bun app:dev # Main application bun api:dev # API server 5. Initialize Database Ensure DATABASE_URL is configured in your .env.local file, then set up the schema: bun db:push # Push schema directly (quick dev setup) bun db:seed # Seed with sample data (optional) bun db:studio # Open database GUI db:push is for local prototyping only. Staging and production apply migrations instead: bun db:migrate:staging, bun db:migrate:production. App URL React app http://localhost:5173 Marketing site http://localhost:4321 API server http://localhost:8787 Keep Your Project Updated When you want to bring in newer React Starter Kit changes, ask your coding agent to run the merge-seed skill (/merge-seed in Claude Code or $merge-seed in Codex). It merges upstream changes while preserving your project's identity and configuration. Start with a clean working tree; the Quick Start guide explains the workflow and its safety boundary. Production Deployment The short version. The deployment guide covers each step in full. 1. Provision Infrastructure Terraform creates the Hyperdrive configurations the API worker connects through: bun infra:production apply Paste the two IDs it prints into the hyperdrive block of apps/api/wrangler.jsonc. 2. Environment Setup Configure your production secrets in Cloudflare Workers: # Required – the API refuses to deploy without these bun wrangler secret put BETTER_AUTH_SECRET --config apps/api/wrangler.jsonc --env="" bun wrangler secret put RESEND_API_KEY --config apps/api/wrangler.jsonc --env="" # Google sign-in (optional – email OTP and passkeys work without it) bun wrangler secret put GOOGLE_CLIENT_ID --config apps/api/wrangler.jsonc --env="" bun wrangler secret put GOOGLE_CLIENT_SECRET --config apps/api/wrangler.jsonc --env="" # Stripe billing (optional – set all four to enable, or none; annual is extra) bun wrangler secret put STRIPE_SECRET_KEY --config apps/api/wrangler.jsonc --env="" bun wrangler secret put STRIPE_WEBHOOK_SECRET --config apps/api/wrangler.jsonc --env="" bun wrangler secret put STRIPE_STARTER_PRICE_ID --config apps/api/wrangler.jsonc --env="" bun wrangler secret put STRIPE_PRO_PRICE_ID --config apps/api/wrangler.jsonc --env="" bun wrangler secret put STRIPE_PRO_ANNUAL_PRICE_ID --config apps/api/wrangler.jsonc --env="" # optional All of these belong to the API worker, which is what --config selects – without it Wrangler has no worker to attach the secret to. Use --env staging for staging; production is the top-level config, selected explicitly with --env="". Non-sensitive vars like RESEND_EMAIL_FROM go in wrangler.jsonc directly. Set RESEND_EMAIL_FROM to an address on a domain you have verified with Resend. The default onboarding@resend.dev only delivers to your own inbox, and sign-in is email OTP – leave it and no one else can sign in. 3. Migrate the Production Database bun db:migrate:production # reads .env.production.local, and
Read the full README on GitHub

What Hacker News says

24 sources
Part-time can be a great fit for developers who use their own stack and stick to a consistent architecture across multiple projects. For instance, I personally begin each of my projects with the same template (https://github.com/kriasoft/react-starter-kit 23k). This approach reduces overhead when juggling multiple tasks, allowing me to seamlessly make changes in one place and effortlessly push and merge updates into various upstream repositories for different clients. Excited about this efficiency-boosting method? Check out my new blog post where I delve into the details: https://medium.com/@koistya/enabling-efficient-front-end-dev.... Good luck with your project!
In Ask HN: What is the best place to hire part time devs?
I remember when you had to choose between flux, redux, alt, reflux, flummox, fluxible, fluxxor, marty.js, fynx, MacFly, DeLorean.js, fluxify, fluxury, exim, fluxtore, Redx, fluxx... (no I'm not making those names up: https://github.com/kriasoft/react-starter-kit/issues/22) Every single time somethings come up, in the JS word, they try to repeat one of the mistakes from the past and completly ignore everyone else solutions and experience. It's like a compulsion. In a year or two, your dependancies will be a representative sample of all permutations of those solutions, and will have to be maintained in that state forever, incompatible, or abandonned. You'll open some of them, trying to fix it, but you'll notice they all use different coding style, best practices, libs, and tooling. The dev that fought you in comments saying it would be fine
Read the rest
is nowhere to be found now. Most JS devs don't care. They don't maintain their stuff. Appart from the stuff that get famous because made by great coders (no matter the language), most projects die silently. There is a terrible graveyard hidden behind the corporate wall. Java, C++, Python and even Ruby projects are standing well and alive, next to the countless bodies of the last generation of JS frankeinstein monsters that were hype-sold to upper management to create something that could have been done in PHP 3. Then a new stuff will arrive in the JS space, with again the potential of creating more confusion, more technical debt. You will raise your voice, and the JS community will scream back at you that you don't know what's good, you want to live with cavemen, and everything is great. They will get angry, and never see any problem. Then rince and repeat.
In Show HN: Simple way to share state using React Hooks and Context
(disclaimer: Author of Vecty here, the toolkit being used by OP) I can see how you came to that conclusion, but I'd offer a different perspective. The problem in my opinion with the Javascript landscape is, as you said, the fact that it is too fractured. If you follow the "modern best practices" to make a SPA, you are talking about pulling in at least: npm, webpack, react, react-router, lodash, redux, bootstrap, and perhaps much more. You are going to need to set up each one of these to play nicely with each-other, and follow tutorials/guides for each one to get them set up before you can even begin to start writing code for your actual application. Just look at the getting started guide for webpack to see how complex this can already be [1]. Why can't there be a consensus on what tooling/libraries are "standard" for writing an SPA React
Read the rest
application today? Setting up the above tooling/libraries should not take multiple hours for someone with no frontend experience, but it does. There are "starter kits" [2] to try and solve this problem, but dear god just look at how many moving parts they already have! --- My overarching point is this: the Javascript ecosystem does not seem interested in solving this issue ultimately. This fractured-but-whole approach to development seems to be the consensus for that ecosystem. And that's OK. For a majority of non-frontend devs who would like to enter the frontend, though, it's not okay. And this change in mindset is what WebAssembly can bring. It brings a different ecosystem and a different set of people with diverse mindsets that you just can't find today in the JS ecosystem easily. [1] https://webpack.js.org/guides/getting-started/ [2] https://github.com/kriasoft/react-starter-kit
In Web Assembly and Go: A look to the future
Why that? I think the number of starter/boilerplate projects for React is already overwhelming. I wish create-react-app was the only one way to start a React project, but it has its own limits: - not intended for server-side React apps - not intended for React components library - not intended to be used with TypeScript but Flow (could change with the next major version tho) Still, there are already so many alternatives, some of them just reinventing the wheel. Do we really need another one? I'm not sure. - https://github.com/facebook/create-react-app (50k stars) - https://github.com/react-boilerplate/react-boilerplate (19k stars) - https://github.com/kriasoft/react-starter-kit (18k stars) - https://github.com/davezuko/react-redux-starter-kit (10k stars) - https://github.com/insin/nwb (3k5 stars, support Preact & Inferno & components libr
Read the rest
aries) - https://github.com/zeit/next.js (26k stars, server-side support, very opinionated) - and so on… just type "react boilerplate/starter/toolkit" on google. Most of them are out-of-date and not maintained, making the process of choosing one ever more overwhelming.
In React-Starter-Kit – Open Source Universal React Redux GraphQL Boilerplate
Thanks for the perspective. I guess I ran into this very thing. React itself is actually a pretty simple library. The problem is that it's not the whole story, so you need other bits and pieces to put together a functional SPA. Ender redux, react-router, etc. And because React tries to explicitly not be so opinionated about what you should use, the way you learn about this stuff is not from the official tutorial, but from various blog posts. There are also resources like this: https://github.com/kriasoft/react-starter-kit. On the surface it's great. But for my taste it's organized very poorly. You have all your reusable (NB: reusable != reused) components in one place, and all your pages in another. Each component consists of exactly 3 files that are 3 directory levels down. Pages (views? containers?) are in a separate directory structure
Read the rest
where each page consists of 3 files that are 3 directory levels down. I guess if your SPA consists of hundreds of pages/views/containers with most components reused many times this makes sense. For my applications (low dozens of pages/views/containers) this seems like a huge overkill. And don't get me started on the redux theory of all global state all the time, which actually seems to not be ideal for things like "I just want a more complex <select>", and you have a very scattered learning curve. By contrast, Vue has a pretty sane slightly opinionated learning curve. Sure, there are a few things you need to figure out (XHR/Websockets + VueX + promises don't have a decent recipe in the docs), but overall it's much more coherent.
In Master these five concepts to master React
> You want to start to learn from a starter kit. here: https://github.com/kriasoft/react-starter-kit Well, that was your first mistake.. The official react starter kit from Facebook is a lot more basic: https://facebook.github.io/react/docs/getting-started.html Secondly, calm down, and maybe try to look around for better education materials than rage against the machine, where the machine is {Facebook, Big Tech, github/kriasoft} This article is just a rant, first against tech company profits, then against react, then against someone's bundle having too many libraries, then against people who try to solve too many problems at once.
In Software Development is fucked up
SEEKING WORK: Full-stack web developer since 2001, Microsoft Certified Professional, Windows Azure Insider, author of Isomorphic Application Development (Packt), React Starter Kit Location: Saint Petersburg, Russia (MSK, GMT+3) Technologies: Azure/DevOps, .NET/C#, MSSQL/Postgres/SQLite, MongoDB, Node.js/JavaScript/Babel, OAuth, Webpack, Sequelize, React/GraphQL, CSS/SCSS, Mocha/Chai, Material Design Profile: https://www.linkedin.com/in/koistya Reviews: https://www.codementor.io/koistya#/review Email: hello@tarkus.me My recent projects on GitHub: * https://github.com/kriasoft/react-starter-kit (Node.js, Babel, Webpack, React, GraphQL) * https://github.com/kriasoft/babel-starter-kit (ES2015, JavaScript, Babel, Rollup) * https://github.com/membership/membership.db (PostgreSQL, M
Read the rest
icrosoft SQL Server)
In Ask HN: Freelancer? Seeking freelancer? (May 2016)
Full-stack web developer since 2001, Microsoft Certified Professional, Windows Azure Insider, author of Isomorphic Application Development (Packt), React Starter Kit Location: Saint Petersburg, Russia (MSK, GMT+3) Remote: Yes Willing to relocate: Yes Technologies: Azure/DevOps, .NET/C#, MSSQL/Postgres/SQLite, MongoDB, Node.js/JavaScript/Babel, OAuth, Webpack, Sequelize, React/GraphQL, CSS/SCSS, Mocha/Chai, Material Design Résumé/CV: https://www.linkedin.com/in/koistya Reviews: https://www.codementor.io/koistya#/review Email: hello@tarkus.me My recent projects on GitHub: * https://github.com/kriasoft/react-starter-kit (Node.js, Babel, Webpack, React, GraphQL) * https://github.com/kriasoft/babel-starter-kit (ES2015, JavaScript, Babel, Rollup) * https://github.com/member
Read the rest
ship/membership.db (PostgreSQL, Microsoft SQL Server) What I can do for you: * Setup and maintain the base project structure for your web app * Enforce component-based development approach and progressive enhancement * Configure cloud-based infrastructure, CI and automated test suites * Solve problems related to software architecture and scalability * Conduct code reviews, provide feedback what can be improved on the technical side ...that will save you lots of time and money while your core team can work on real application features and don't bother about infrastructure and the groundwork.
In Ask HN: Who wants to be hired? (May 2016)

Showing the 15 most recent of 24 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.