TanStarter vs MkSaaS
Compare two powerful SaaS boilerplates to find the right fit for your project. TanStarter leverages edge-first architecture on Cloudflare Workers, while MkSaaS provides a more traditional Next.js approach with Vercel.
TanStarter
- Edge-first architecture for global performance
- Zero egress fees with Cloudflare R2
- Built-in AI features with TanStack AI
- Native Cloudflare Email (no third-party needed)
- More affordable at scale (free DBs, no egress)
MkSaaS
- More database choices (Neon, Supabase, etc.)
- More UI component variety (Magic UI, Animate UI)
- Next.js ecosystem (larger community & docs)
- Vercel AI Gateway for multi-provider AI
- More video tutorials available
Choose TanStarter if you...
- Want the best edge performance
- Need built-in AI features out of the box
- Have file-heavy applications (zero egress)
- Want to minimize third-party dependencies
- Prefer modern TanStack ecosystem
Choose MkSaaS if you...
- Are already familiar with Next.js
- Need more database options (PostgreSQL)
- Want more animation/UI component options
- Prefer Vercel's deployment experience
- Want more video tutorials for learning
Detailed Feature Comparison
Core Framework
| Feature | TanStarter | MkSaaS |
|---|---|---|
Frontend Framework TanStack Start is newer, Next.js has larger ecosystem | TanStack Start | Next.js 16 |
Runtime Cloudflare Workers = edge-first, Vercel = flexible | Cloudflare Workers | Node.js / Vercel Edge |
Serverless Support | ||
Edge Computing TanStarter fully edge-native | Partial (via Vercel Edge Functions) | |
Type Safety | Full (End-to-end) | Full (End-to-end) |
Database
| Feature | TanStarter | MkSaaS |
|---|---|---|
Database Type D1 is edge-distributed SQLite, PostgreSQL is traditional | Cloudflare D1 (SQLite) | PostgreSQL (Neon, Supabase, etc.) |
ORM | Drizzle ORM | Drizzle ORM |
Database Branching D1 supports branch-like time-travel queries | ||
Free Tier Database Both offer generous free tiers | Cloudflare D1 (5000 databases) | Neon (0.5 GB), Supabase (500 MB) |
Local Development DB | Built-in D1 local | Docker / Local PostgreSQL |
Authentication
| Feature | TanStarter | MkSaaS |
|---|---|---|
Auth Provider | Better Auth | Better Auth |
Google OAuth | ||
GitHub OAuth | ||
Email/Password | ||
Account Deletion | ||
Role-based Access |
Payments
| Feature | TanStarter | MkSaaS |
|---|---|---|
Payment Providers TanStarter supports Creem (indie-friendly) | Stripe, Creem | Stripe |
Subscription Plans | ||
One-time Payments | ||
Lifetime Deals | ||
Customer Portal | ||
Invoice Generation | ||
WeChat Pay / Alipay Both support via Stripe dashboard | ||
Credits System Built-in credits system for usage-based billing |
AI Features
| Feature | TanStarter | MkSaaS |
|---|---|---|
Built-in AI Components | Moved to branch main-ai-demo | |
AI Orchestration | TanStack AI | Vercel AI SDK |
AI Text Processing | Summarization, Translation, Tagline | Text generation, web scraping |
AI Image Generation | Cloudflare Workers AI (Flux, SDXL), fal.ai (Gemini, GPT Image 2) | fal.ai, Fireworks, OpenAI, Replicate |
AI Chat | Cloudflare Workers AI | Vercel AI SDK (multi-provider) |
AI Text-to-Speech | Cloudflare Workers AI (Deepgram Aura) | |
AI Image Captioning | Cloudflare Workers AI (LLaVA) | |
AI Avatar Stylizer | ||
AI Gateway Single endpoint for multiple AI providers | Vercel AI Gateway |
| Feature | TanStarter | MkSaaS |
|---|---|---|
Email Providers TanStarter has Cloudflare native email (no third-party) | Resend, Cloudflare Email | Resend |
Newsletter Integration | Resend, Beehiiv | Resend, Beehiiv |
React Email Templates | ||
Transactional Emails |
Storage
| Feature | TanStarter | MkSaaS |
|---|---|---|
Storage Provider R2 has zero egress fees, S3 has egress costs | Cloudflare R2 | External S3-compatible |
File Upload/Download | ||
User File Management | ||
Zero Egress Fees Major cost advantage for file-heavy apps |
UI Components
| Feature | TanStarter | MkSaaS |
|---|---|---|
Component Libraries MkSaaS includes more animation/block libraries | Shadcn/ui, Base UI | Shadcn/ui, Radix UI, Magic UI, Animate UI, Tailark |
Marketing Blocks | Hero, Features, Pricing, FAQs, etc. | Hero, Features, Pricing, FAQs, etc. |
Dashboard Components | Data tables, Charts, Settings panels | Data tables, Charts, Settings panels |
Theme/Dark Mode | ||
Tailwind CSS |
Pages
| Feature | TanStarter | MkSaaS |
|---|---|---|
Landing Page | ||
Blog | ||
Documentation Built-in docs with MDX support | ||
Pricing Page | ||
Contact Page | ||
About Page | ||
Changelog | ||
Legal Pages Privacy, Terms, Cookie Policy | ||
Waitlist |
Developer Experience
| Feature | TanStarter | MkSaaS |
|---|---|---|
Linting | Biome | Biome |
Code Formatting | Biome | Biome |
Internationalization MkSaaS uses established library | ||
State Management MkSaaS includes Zustand for client state | TanStack Query | TanStack Query, Zustand |
API Type Safety | TanStack Start server functions | Next-Safe-Action |
Documentation | Full docs with i18n (EN/ZH) | Full docs with i18n (EN/ZH) |
Video Tutorials |
Deployment
| Feature | TanStarter | MkSaaS |
|---|---|---|
Primary Platform | Cloudflare Workers | Vercel |
Custom Domain | ||
CI/CD | GitHub Actions | Vercel (native) |
Preview Deployments | GitHub Actions + Wrangler | Vercel (automatic) |
Free Tier Support | Cloudflare Workers Free | Vercel Hobby |
Worker Size Limit TanStarter ~2.3 MB, fits in free tier | 3 MB (Free) / 10 MB (Paid) | N/A (Vercel) |
Pricing & Support
| Feature | TanStarter | MkSaaS |
|---|---|---|
Template Price | Visit store | Visit store |
Email Support | Email or Discord | Email or Discord |
Discord Community | ||
GitHub Updates |
📋 Disclaimer
Features and pricing may change over time. We recommend visiting both official websites for the most up-to-date information.