Jumpstart your next SaaS product with Bedrock
The modern full-stack Next.js & GraphQL boilerplate with user authentication, subscription payments, teams, invitations, emails and everything else you need
Every time I build a SaaS product I waste weeks glueing together standard tooling and functionality: user authentication, cookie sessions, subscription payments, billing management, team management, GraphQL API, transactional emails, access tokens, TypeScript, Prettier,...
That's why I created Bedrock.
Bedrock combines all the best tools the JS ecosystem has to offer into one solid foundation for your SaaS product. It feels fantastic to work with now and sets you up to scale as your code- and userbase grows.
And the best part is: you don't have to read thousands of pages of documentation to learn how to use Bedrock. If you know Next.js and GraphQL you can start coding almost immediately!
Bedrock combines all the best tools the JS ecosystem has to offer and makes them work well together. This means you get the best developer experience and can just focus on building your product without worrying about your setup.
There is absolutely no magic in Bedrock, just a bunch of glue code to make all of these tools best friends. You do not have to know most of these technologies to be productive and Bedrock is designed so you can easily remove all the optional tools!
Authenticate users without worrying about security and storing passwords. Users get a magic link sent to their email and as soon as they click it they're logged in!
Bedrock is ready for teams out of the box. Users can create "projects", each of which has its own billing and members. The pre-built invitation system allows users to invite their colleagues to their projects.
Securely accept subscription payments with Stripe Checkout. Bedrock comes ready for any plans you want (including yearly, per-seat pricing and everything else) and already handles invoices, billing management, PCI compliance, and much more.
Bedrock comes without any kind of styling or component library because, let's be honest, you'd just delete it anyway. The frontend contains the minimal code necessary to make the functionality work. Make it look the way you want it to by bringing your own component library or using any open source one!
GraphQL API & integrations
Enjoy the fantastic developer experience of creating a GraphQL API with Nexus & Prisma and querying it with urql. Bedrock also comes with token-based API authentication, allowing users to programmatically integrate with your product.
Adjustable to your preferences
Bedrock is designed to be modular so you can fine-tune it to your preferences. All tools except for Next.js are completely optional and can easily be removed or swapped for your favorite alternative. (learn more)
The best developer experience
Type-safe from the database to the client
Move fast thanks to TypeScript catching your bugs before you even hit "Save". Rename a field in the database schema or GraphQL API? TypeScript will immediately highlight where you need to update your code.
Bedrock leverages code generation where it can so you have to code less and move faster. Prisma generates a custom ORM and migrations from your database schema, Nexus generates a custom GraphQL API from your ORM and GraphQL Codegen generates React hooks for fetching data from your GraphQL API.
Thanks to serverless, you never have to worry about scaling your servers. No matter how much traffic your product gets, Next.js will be able to handle it.
Who made this?
👋 Hi, I'm @mxstbr! I'm the creator of react-boilerplate, one of the most popular early React boilerplates (27k stars) and co-creator of styled-components, the most popular CSS-in-JS library (32.5k stars).
I've packed all of that knowledge and experience into Bedrock to allow you to take advantage of it — without having to spend seven years of your life. I hope you enjoy it!
Are there any products online that use Bedrock?
Yes, my own products, Feedback Fish and Changefeed, and some of my friends products, like Splitbee, IndieBrands and PSTunnel, are already built using early versions of this stack! I've personally also used variations of this stack for internal projects at GitHub and for Spectrum.
When will I receive my pre-order?
Bedrock will be released at the latest on the 31st March. The boilerplate is already done and I use it myself, it's just a matter of thoroughly documenting everything. Your credit card will not be charged until I ship Bedrock and you get your copy of the codebase.
Note that because Gumroad authorizes the charge, you may see a temporary $1 charge on your credit card statement. This charge will disappear after a few days.
Can I actually easily remove the optional stuff?
Yes! I explicitly designed Bedrock to make everything except for Next.js and GraphQL easy to remove and/or ignore. There will also be extensive documentation on how to remove every single optional tool.
Removing most of the optional tools only requires deleting a single file or folder (ESLint, Prettier, Postmark, Nexus, GraphQL Codegen, urql), only a few also require deleting code in a handful of other files (Passport, Stripe, Prisma). Either way it's not going to take more than five minutes.
How many products can I use Bedrock for?
Every license you purchase allows you to use Bedrock to build one product, no matter how many people work on that single product. You can purchase unlimited licenses.
There is also a small number of unlimited licenses that allow you to use Bedrock for as many products as you want.
How long can I use Bedrock?
You can use Bedrock for the entire lifetime of your product. There are no ongoing costs or time limitations.
Can I get a refund?
I offer a 14 day money-back guarantee. If you're not satisfied with Bedrock after using it for two weeks I'll refund you your money!
Do I get access to the entire codebase?
Do you offer ongoing support contracts?
Contact me at email@example.com if your company would like ongoing support for their product using Bedrock.
I have other questions!
Feel free to contact me at firstname.lastname@example.org.