Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Introducing Platforms Starter Kit v2 → It's an open-source Next.js template for you to build multi-tenant apps with custom domains in days, not months. Built with Next.js App Router and the @Vercel Domains API.

305,191 görüntüleme • 2 yıl önce •via X (Twitter)

60 Yorum

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

Features: ◆ Assign unlimited domains/SSL certs ◆ On-demand ISR via `revalidateTag` ◆ AI text editor via ◆ Custom styles for each site ◆ Image uploads w/ Vercel Blob ◆ Dynamic OG images ◆ Dark mode Code is fully open-source:

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

A year ago, we launched the first version of this starter kit. Since then, we've seen many platforms scale to tens of thousands of custom domains on Vercel: ◆ @Hashnode ◆ @Super_ ◆ @incident_io ◆ @beyondmenu ◆ @mintlify ◆ @momentworld ◆ @dubdotsh

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

This template is jam-packed with lots of useful features for building platforms on Vercel. 1. Programmatically managing custom domains Forget manually setting up custom server rewrite rules with NGINX. Vercel's Domains API makes things simple:

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

2. On-demand cache invalidation By using @nextjs' new `revalidateTag` API + Vercel's ISR feature ( we are able to cache content pages + revalidate them when users make changes to them. Best part? Changes get propagated in <500ms, globally ⚡

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

3. AI-powered Markdown-based WYSIWYG editor The new Platforms Starter Kit now comes built-in with intelligent AI autocompletion – powered by ✨ Watch it in action 👇

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

4. Custom fonts, 404 pages, favicons, sitemaps for each site Thanks to @nextjs file-based Metadata API, we are able to customize the look and feel of each site. Best part? `revalidateTag` allows us to perform cache invalidations faster and more efficiently when changes happen.

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

5. Image Uploads with Vercel Blob This works for both inline Markdown images and thumbnail images 👇 Note: Blob is still in private beta – but feel free to DM me for access!

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

6. Dynamic OG images for blog posts This template also uses @nextjs's `ImageResponse` constructor ( to craft dynamic OG images at the edge. Here's an example (layout & style inspired by @calcom):

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

7. Dark mode No @vercel / @nextjs template is complete without dark mode support 😁 The Platforms Starter Kit comes with dark mode out of the box for a better user experience at night 🌃

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

This has been a WIP for the last couple of months, so we're incredibly excited to finally ship this! Can't wait to see what you guys build with this 🤩

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

Update: We're live on @ProductHunt 🤩 Would appreciate an upvote/comment/review – thank you! 🖤

chronark — oss/acc profil fotoğrafı
chronark — oss/acc2 yıl önce

@nextjs @vercel This guy ships! amazing work as always, steven!

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel Thanks man!! Appreciate the support as always 😁

Ian Hunter profil fotoğrafı
Ian Hunter2 yıl önce

@nextjs @vercel Defacto @stripe integration would be 🔑

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel @stripe 👀 cc: @angjiang

swyx 🇸🇬 profil fotoğrafı
swyx 🇸🇬2 yıl önce

@nextjs @vercel yesssss pls keep investing in this @jaredpalmer its strategically superimpt

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel @jaredpalmer 🖤 appreciate you swyx!!

Amos profil fotoğrafı
Amos2 yıl önce

@nextjs @vercel I'll be yoinking this for my next project 👀

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel

Karan Ganesan profil fotoğrafı
Karan Ganesan2 yıl önce

@nextjs @vercel the text colours are not super readable on dark mode (no browser extensions affect it)

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel oh crap, will fix, thank you!

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@vercel @nextjs @leeerob Incredible work 🤯🤩

Maximilian Kaske 🏓 profil fotoğrafı
Maximilian Kaske 🏓2 yıl önce

@nextjs @vercel Sooo good 🤩

Paul Vu profil fotoğrafı
Paul Vu2 yıl önce

@nextjs @vercel I got a black screen after created a site. I use on mobile.

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@SagoLabCom @nextjs @vercel Did the site get created? What's the URL for the site?

h4ck☆ profil fotoğrafı
h4ck☆2 yıl önce

@nextjs @vercel huge!!! great work as usual steven. 🔥🙏

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel Thank you!! :)

Piotr Obidowski profil fotoğrafı
Piotr Obidowski2 yıl önce

@nextjs @vercel Wow! Amazing job 🔥

Elie Steinbock profil fotoğrafı
Elie Steinbock2 yıl önce

@nextjs @vercel Great stuff. Posted a video tutorial on it just now 😄

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel Damn you're fast!! Your video actually helped me find a bug in the dark mode styles, so double thank you for that! 🙏

Raphael Amponsah profil fotoğrafı
Raphael Amponsah2 yıl önce

@nextjs @vercel This is a game changer

Ahmad Awais profil fotoğrafı
Ahmad Awais2 yıl önce

@nextjs @vercel Lots of work went into this. Excellent! 👌

Raphael Amponsah profil fotoğrafı
Raphael Amponsah2 yıl önce

@nextjs @vercel So it is open source to run on vercel? That would be cool

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel it's fully open-source!!

Jon Kurtis ⚡ profil fotoğrafı
Jon Kurtis ⚡2 yıl önce

@nextjs @vercel Dibs on this.

wei-wei profil fotoğrafı
wei-wei2 yıl önce

@nextjs @vercel @thisissukh_ 🔥

Jo Santana  profil fotoğrafı
Jo Santana 2 yıl önce

@nextjs @vercel Exactly what I've been asking for. Thanks!

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel LFG glad to hear that! 🤩

Josue Monteiro profil fotoğrafı
Josue Monteiro2 yıl önce

@nextjs @vercel This is why @vercel is going to be a major player in the BaaS business competing with AWS, GCP and Azure. The commitment that they have made to the developer experience is beyond amazing.

Usama Khaled ✪ profil fotoğrafı
Usama Khaled ✪2 yıl önce

@nextjs @vercel This is cool. :) I might build a simple blogging tool on top of it.

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel Can't wait to see what you build 👀

Gonçalo Margalho profil fotoğrafı
Gonçalo Margalho2 yıl önce

@nextjs @vercel @steventey I was testing it, in the custom domain, using cname says is that correct?

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel oh no, that's not correct, sorry about that – will fix it! It should be ` :)

🟢 gaurang.tsx profil fotoğrafı
🟢 gaurang.tsx2 yıl önce

@nextjs @vercel Thanks for the blueprint @steventey I'm working on an app currently that will def. need multi-tenancy

Diogo Ribeiro profil fotoğrafı
Diogo Ribeiro2 yıl önce

@nextjs @vercel can't wait to make my own blogging platform

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel Can't wait to see what you build! 👀

Probably Human profil fotoğrafı
Probably Human2 yıl önce

@nextjs @vercel Awesome. Is there a directory with all starter kits available?

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel Yessir!!

Dave Yen profil fotoğrafı
Dave Yen2 yıl önce

@nextjs @vercel thx for this! can you hook me up w/ access to Blob Storage? [email protected]

Niaz Morshed profil fotoğrafı
Niaz Morshed2 yıl önce

@nextjs @vercel Great!! 👏🚀 btw, music is very similar to my product intro 😂

Raphael Amponsah profil fotoğrafı
Raphael Amponsah2 yıl önce

@nextjs @vercel Hopefully we get cli command for it like create-next-app

Daan profil fotoğrafı
Daan2 yıl önce

@nextjs @vercel @SimonBlok

Wesley— oss/acc profil fotoğrafı
Wesley— oss/acc2 yıl önce

@nextjs @vercel This is awesome Steven 👏 cc @voorvaart 👀

0xRealDev profil fotoğrafı
0xRealDev2 yıl önce

@nextjs @vercel @steventey What do you think about wildcard domain approach for the sub domain part? I have tried the wildcard subdomain and for me it looks bit slow. thinking about migrating to domains api.

James Singleton profil fotoğrafı
James Singleton2 yıl önce

@nextjs @vercel Oh no the tweet can't be found 🥲

Steven Tey profil fotoğrafı
Steven Tey2 yıl önce

@nextjs @vercel 👀 looking into it!

lucas profil fotoğrafı
lucas2 yıl önce

@nextjs @vercel do you have any suggestions on how to handle separate database for each tenant?

Daniel Still profil fotoğrafı
Daniel Still2 yıl önce

@nextjs @vercel This is so awesome for freelance work as well as for creating saas apps!

Raphael Amponsah profil fotoğrafı
Raphael Amponsah2 yıl önce

@nextjs @vercel So please can it only be run on vercel or other platforms

Christian Esmann profil fotoğrafı
Christian Esmann1 yıl önce

I just launched an all-in-one template for cross-platform development, based on the stack I use myself everyday. Expo, NextJS, TypeScript, Tailwind, Firebase, AppsFlyer, Authentication, Analytics, In-App Purchases, Stripe and a lot more, setup by default.

Benzer Videolar