I spent half my time building SaaS infrastructure instead of my product — so I built something to stop that

Every time I launch a side project, the same thing happens: week 1 is auth, multi-tenancy, and billing setup. Week 2 is the actual product. It's brutal.

So with a few co-founders, we pulled the infrastructure from our own paid products and turned it into a React SDK. Auth, orgs, RBAC, usage limits, billing, notifications, workflows, feature flags, analytics — it's all there.

The goal: ship your actual idea in week 1 instead of building the foundation.

It's in beta, free tier exists, and it's React/Next.js native. If you've felt this pain, I'd love your take on whether this scratches the itch.

reddit.com
u/dharmendra_jagodana — 10 hours ago
▲ 1 r/react+2 crossposts

Built a React SDK that bundles auth, billing, workflows, and 17 other modules — asking for feedback on the positioning

Spent the last year pulling out the shared SaaS infrastructure from our own products (PlugNode, AgentCenter, RemoteWait, LinkTracer). Realized every founder rebuilds this: auth, multi-tenancy, RBAC, usage metering, billing, notifications, workflows, file management, CLI tools, database migrations, and more.

So we packaged it into one React/Next.js SDK. Not another auth provider. We sit on top of Stripe and your own infra — no revenue cut, no vendor lock-in.

20 modules. BYO Stripe. Free tier. React/Nextjs.

Would love to hear: does this solve a real pain point or are most of you comfortable assembling this yourself?

u/dharmendra_jagodana — 10 hours ago
▲ 2 r/buildbase+1 crossposts

Quietly crossed 40+ releases on npm — here's where @buildbase/sdk actually stands

Not a downloads-flex post (early-stage, the numbers are mostly my own CI anyway). The milestone I actually care about: the SDK has shipped 40+ releases since December, it's live and installable, and the install-to-working-app path is real now, not aspirational.

If you haven't tried it:

npm install @buildbase/sdk

You wrap your app once:

<SaaSOSProvider orgId="..." auth={{ clientId: "..." }}>
  {children}
</SaaSOSProvider>

...and auth becomes components instead of glue code:

<WhenAuthenticated>welcome, {user?.name}</WhenAuthenticated>
<WhenUnauthenticated><button onClick={signIn}>sign in</button></WhenUnauthenticated>

Same pattern carries across the rest — <WhenSubscription>, <WhenQuotaAvailable>, <WhenRoles>. Entitlements as components is the whole personality of the thing.

What's in it now: auth, multi-tenant workspaces, billing (subscriptions + usage-based credits + trials + seats), RBAC, feature flags, pre-built UI, webhooks, push, i18n (8 locales), and a server SDK for the backend side.

Honest status: React/Next.js only. The proof isn't downloads — it's that this same SDK runs all four of my own paid products in production.

Docs: docs.buildbase.app/introduction
npm: npmjs.com/package/@buildbase/sdk

If you've poked at it, what's the roughest part of getting started? That's what I want to smooth next.

u/dharmendra_jagodana — 20 hours ago

Just shipped the new site + docs for my React/Next.js SaaS backend SDK — would love honest feedback before I push it harder

Disclosure: I built this (BuildBase), so I'm not neutral. Posting because the docs/site just went live and I want real feedback, not upvotes.

The idea is simple: stop rebuilding the same SaaS plumbing every project. Auth, billing, emails, workflows, user management — all in one React/Next.js SDK, so you spend your time on the part that's actually your product.

What's actually in it (real list, no buzzwords):

  • Auth — OAuth (Google, LinkedIn), magic links, sessions, API tokens
  • Billing — Stripe subs, usage-based billing with credits, quotas + overages, trials, plan versioning
  • Emails — templates, campaigns, tracking, unsubscribe
  • Workflows — visual builder, triggers/conditions/actions
  • Multi-tenant workspaces + RBAC
  • Feature flags, forms, webhooks (70+ events), short links, CMS

The piece I care most about is usage-based billing — metering, credits, quotas, overages done properly, which is the part most auth tools and templates leave you to build yourself.

Honest about where it is: young (v0.0.x), React/Next.js only. The proof isn't a logo wall — it's that the same SDK runs all four of my own paid products in production. If it breaks, my revenue breaks first.

What I'd genuinely like feedback on:

  1. Does the docs site actually make it clear how to get started, or is it confusing?
  2. Of that feature list, what's the one thing that'd make you try it — and what's noise?
  3. If you've used Clerk/Stripe/Stigg/etc — what would make you switch, or not?

(Site + docs in my profile / first comment — keeping links out of the body.)

reddit.com
u/dharmendra_jagodana — 1 day ago

The most expensive part of a failed SaaS isn't the idea — it's the 3 weeks of auth, billing and workspaces you built before you found out nobody wanted it

Been thinking about this after watching a few projects (mine and friends') die the same way.

Here's the trap almost every first SaaS falls into:

You have an idea. You're excited. So you start building. And because every SaaS needs the same foundation, you spend the first 2-3 weeks on auth, then billing, then multi-tenant workspaces, then RBAC, then notifications — before you've written a single line of the thing that's actually your idea.

Then you launch. And nobody comes.

Now do the honest accounting of what you lost. It's not the idea — ideas are free. It's the 2-3 weeks (or 6, or 10) you spent building plumbing for users who never showed up. At even a modest dev rate that's easily a few thousand dollars of your time sunk into auth flows and Stripe webhooks for a product the market just told you it didn't want. And you can't get it back.

That's the part nobody prices in. The cost of a failed idea isn't the failure itself — it's how much you built before you were allowed to fail.

The reframe I wish I'd had earlier: the plumbing is never the variable you're testing.

Every SaaS needs auth and billing. That part isn't your idea — it's table stakes, identical across every app. The only thing the market is actually judging is your unique 20%. So spending your scarcest resource (time, before validation) building the shared 80% is backwards. You're paying full price to build the one part that was never in question.

What's worked better for the people I've seen do this well:

  • Get the idea-specific part in front of real users as fast as humanly possible, even ugly.
  • Treat the foundation as something to borrow/scaffold/fake, not handcraft, until the idea proves out.
  • Let yourself fail in days, not months. A killed idea after a weekend is a win. A killed idea after 3 weeks of plumbing is a loss you funded yourself.

Genuinely curious how people here handle it:

  1. How much time did your first SaaS's "boring foundation" eat before you actually tested the idea?
  2. Do you build the plumbing first, or hack the idea together and bolt on auth/billing later?
  3. For those who've shipped a few — would shipping faster have changed which ideas you killed?
reddit.com
u/dharmendra_jagodana — 2 days ago

The most expensive part of a failed SaaS isn't the idea — it's the 3 weeks of auth, billing and workspaces you built before you found out nobody wanted it

Been thinking about this after watching a few projects (mine and friends') die the same way.

Here's the trap almost every first SaaS falls into:

You have an idea. You're excited. So you start building. And because every SaaS needs the same foundation, you spend the first 2-3 weeks on auth, then billing, then multi-tenant workspaces, then RBAC, then notifications — before you've written a single line of the thing that's actually your idea.

Then you launch. And nobody comes.

Now do the honest accounting of what you lost. It's not the idea — ideas are free. It's the 2-3 weeks (or 6, or 10) you spent building plumbing for users who never showed up. At even a modest dev rate that's easily a few thousand dollars of your time sunk into auth flows and Stripe webhooks for a product the market just told you it didn't want. And you can't get it back.

That's the part nobody prices in. The cost of a failed idea isn't the failure itself — it's how much you built before you were allowed to fail.

The reframe I wish I'd had earlier: the plumbing is never the variable you're testing.

Every SaaS needs auth and billing. That part isn't your idea — it's table stakes, identical across every app. The only thing the market is actually judging is your unique 20%. So spending your scarcest resource (time, before validation) building the shared 80% is backwards. You're paying full price to build the one part that was never in question.

What's worked better for the people I've seen do this well:

  • Get the idea-specific part in front of real users as fast as humanly possible, even ugly.
  • Treat the foundation as something to borrow/scaffold/fake, not handcraft, until the idea proves out.
  • Let yourself fail in days, not months. A killed idea after a weekend is a win. A killed idea after 3 weeks of plumbing is a loss you funded yourself.

Genuinely curious how people here handle it:

  1. How much time did your first SaaS's "boring foundation" eat before you actually tested the idea?
  2. Do you build the plumbing first, or hack the idea together and bolt on auth/billing later?
  3. For those who've shipped a few — would shipping faster have changed which ideas you killed?
reddit.com
u/dharmendra_jagodana — 2 days ago
▲ 0 r/nextjs

The most expensive part of a failed SaaS isn't the idea — it's the 3 weeks of auth, billing and workspaces you built before you found out nobody wanted it

Been thinking about this after watching a few projects (mine and friends') die the same way.

Here's the trap almost every first SaaS falls into:

You have an idea. You're excited. So you start building. And because every SaaS needs the same foundation, you spend the first 2-3 weeks on auth, then billing, then multi-tenant workspaces, then RBAC, then notifications — before you've written a single line of the thing that's actually your idea.

Then you launch. And nobody comes.

Now do the honest accounting of what you lost. It's not the idea — ideas are free. It's the 2-3 weeks (or 6, or 10) you spent building plumbing for users who never showed up. At even a modest dev rate that's easily a few thousand dollars of your time sunk into auth flows and Stripe webhooks for a product the market just told you it didn't want. And you can't get it back.

That's the part nobody prices in. The cost of a failed idea isn't the failure itself — it's how much you built before you were allowed to fail.

The reframe I wish I'd had earlier: the plumbing is never the variable you're testing.

Every SaaS needs auth and billing. That part isn't your idea — it's table stakes, identical across every app. The only thing the market is actually judging is your unique 20%. So spending your scarcest resource (time, before validation) building the shared 80% is backwards. You're paying full price to build the one part that was never in question.

What's worked better for the people I've seen do this well:

  • Get the idea-specific part in front of real users as fast as humanly possible, even ugly.
  • Treat the foundation as something to borrow/scaffold/fake, not handcraft, until the idea proves out.
  • Let yourself fail in days, not months. A killed idea after a weekend is a win. A killed idea after 3 weeks of plumbing is a loss you funded yourself.

Genuinely curious how people here handle it:

  1. How much time did your first SaaS's "boring foundation" eat before you actually tested the idea?
  2. Do you build the plumbing first, or hack the idea together and bolt on auth/billing later?
  3. For those who've shipped a few — would shipping faster have changed which ideas you killed?
reddit.com
u/dharmendra_jagodana — 2 days ago
▲ 4 r/buildbase+3 crossposts

How do you handle price changes for existing customers? I made versioning automatic and it removed the stress entirely.

Raising prices is one of the most stressful things I do.

Not because the new number is wrong — because of everyone already paying the old one.

You raise $19 → $29 and you're stuck choosing:
- grandfather existing customers (and manage that exception by hand forever),
- or push it to everyone and eat the churn + the "loyal customer, this is how you treat me" emails.

What makes it worse is that most billing setups mutate the plan when you change it — Stripe, and most tools on top of it, apply the change to everyone on that plan. So grandfathering becomes something you have to engineer around yourself.

The approach I landed on: changing a price creates a new version of the plan instead of mutating it. Existing customers stay on the version they signed up for, indefinitely. New signups get the new one. No migration, no code change, no exception spreadsheet.

But I'm curious how the people here actually do it:

  1. Do you grandfather, migrate everyone, or just avoid raising prices?
  2. If you grandfather — how do you track it without it becoming a mess?
  3. Anyone been burned by a price change that triggered a churn spike?
u/dharmendra_jagodana — 3 days ago
▲ 10 r/buildbase+7 crossposts

I built an all-in-one SaaS backend — so I designed the "how to leave" before the features. Here's what I own vs what you own.

Disclosure: I build this (BuildBase), so I'm not neutral. But the topic is bigger than my tool and I think it's worth discussing here.

"All-in-one" makes engineers nervous, and rightly — one vendor owning your auth, billing, and data means a migration from hell if you ever want out. I have that fear too. So when I built the thing, I mapped the ownership boundaries before the features. Here's exactly what lives where:

  • Billing/subscription state → your own Stripe. It's bring-your-own-Stripe; the source of truth for money is an account you own and can walk away with. No revenue cut.
  • Users, workspaces, usage → reachable via an API-key layer. Everything the dashboard sees, you can pull into your own DB. The headless layer exists so you're not trapped behind my UI.
  • Your app logic + domain data → your database. The SDK doesn't own your product's tables.

Being straight about the rough edge: the one-click "export everything and leave" tooling isn't fully built yet. You can pull data via the API today, but I won't pretend the migration is frictionless — it's what I'm hardening next, because the way out has to be as clear as the way in.

Genuinely curious what the people here think:

  1. When you evaluate an all-in-one tool, what's the lock-in test that makes or breaks it for you?
  2. Is "BYO Stripe + headless API" enough to trust it, or does the missing one-click export kill it?
  3. Anyone been genuinely burned by a tool you couldn't migrate off of?
u/dharmendra_jagodana — 3 days ago

My 365 Tools Challenge — HTML Form Generator

Here's what most developers skip when building HTML forms:

Every input needs a <label> with a for attribute that matches the input's id. Placeholder text is not a label. Visually it might look fine, but screen readers can't announce what the field is without it.

Radio buttons need a <fieldset> and <legend> so assistive technology understands they're a group. Without it, each option sounds unrelated.

Using type="email" instead of type="text" gives you browser-native validation and the right keyboard on mobile — for free.

These aren't edge cases. They're the baseline for accessible forms that work correctly across devices.

I built HTML Form Generator in ~40 minutes so this boilerplate is never a reason to skip it.

What it does:

→ 11 field types — text, email, password, number, tel, URL, date, textarea, select, checkbox, radio

→ Configure label, placeholder, required, min/max, and pattern per field

→ Live rendered preview — see the form before you copy

→ Add, remove, and reorder fields

→ One-click copy of clean HTML5 markup

The output is plain, unstyled HTML5 — no framework dependency, no vendor classes to override, no platform lock-in. Paste it into React, Vue, plain HTML, WordPress, or anywhere else.

All processing runs in your browser. No server. No account. No data collection.

Free. One URL. Under a minute to a complete form.

🔗 html-form-generator.tools.jagodana.com

GitHub: github.com/Jagodana-Studio-Private-Limited/html-form-generator

u/dharmendra_jagodana — 3 days ago

What does your SaaS backend stack actually cost? I added it up and it's ~744/mo before writing any product code.

NOTE: Asking as I'm working on one solution to resolve all of it.

Been doing some math that surprised me. The operational layer every SaaS needs — auth, billing/entitlements, notifications, feature flags, lifecycle messaging — costs more than the product infra most of the time.

Priced with the popular best-in-class tools at a small-but-real scale:

  • Auth (Clerk-tier) ~ $25/mo
  • Entitlements (Stigg-tier) ~ $249/mo
  • Notifications (Knock-tier) ~ $250/mo
  • Feature flags (LaunchDarkly-tier) ~ $120/mo
  • Lifecycle (Customer.io-tier) ~ $100/mo

$744/mo, and those are starting figures — they climb with usage.

The part that bugs me more than the price is the integration tax: 5 dashboards, 5 SDKs, and the glue wiring them together — webhooks between your payment provider and your flags, syncing entitlements back to auth, keeping usage counts honest across systems that don't talk to each other. None of that shows up on an invoice.

Genuinely curious how people here handle it:

  1. What's your real monthly backend cost — dollars and the time/glue?
  2. Do you go best-of-breed (many tools) or try to bundle into fewer?
  3. Has anyone actually rolled their own to avoid the per-tool fees — was it worth it?
reddit.com
u/dharmendra_jagodana — 4 days ago

I added up what a "best-in-class" SaaS backend stack actually costs. It's ~$744/mo before you write any product code.

Disclosure up front: I build a tool in this space, so I'm not neutral. But the math stands on its own and I think it's worth a discussion here.

I priced out the operational layer every SaaS needs — the stuff nobody signs up for — using the popular best-in-class tools, at a small-but-real scale:

  • Clerk (auth) ~ $25/mo
  • Stigg (entitlements) ~ $249/mo
  • Knock (notifications) ~ $250/mo
  • LaunchDarkly (flags) ~ $120/mo
  • Customer io (lifecycle) ~ $100/mo

$744/mo — and these are starting figures, they climb with usage.

But the sticker price isn't the real cost. The hidden one is the integration tax: 5 dashboards, 5 bills, 5 SDKs, and the glue wiring them together (webhooks between Stripe and your flags, syncing entitlements to auth, keeping usage counts honest across systems that don't know about each other). That part never hits an invoice — it hits your weekends.

I got tired of paying it, so I'm building a single SDK that bundles that layer (BuildBase) — but I'm genuinely more curious about the discussion than the plug:

  1. What's your actual monthly backend stack cost — and does it feel worth it?
  2. Do you bundle (one vendor) or best-of-breed (many)? Why?
  3. Where does the glue code actually hurt most for you?

(Tool's in my profile if anyone wants it — keeping it out of the body.)

reddit.com
u/dharmendra_jagodana — 4 days ago

What does your SaaS backend stack actually cost? I added it up and it's ~$744/mo before writing any product code.

Been doing some math that surprised me. The operational layer every SaaS needs — auth, billing/entitlements, notifications, feature flags, lifecycle messaging — costs more than the product infra most of the time.

Priced with the popular best-in-class tools at a small-but-real scale:

  • Auth (Clerk-tier) ~ $25/mo
  • Entitlements (Stigg-tier) ~ $249/mo
  • Notifications (Knock-tier) ~ $250/mo
  • Feature flags (LaunchDarkly-tier) ~ $120/mo
  • Lifecycle (Customer.io-tier) ~ $100/mo

$744/mo, and those are starting figures — they climb with usage.

The part that bugs me more than the price is the integration tax: 5 dashboards, 5 SDKs, and the glue wiring them together — webhooks between your payment provider and your flags, syncing entitlements back to auth, keeping usage counts honest across systems that don't talk to each other. None of that shows up on an invoice.

Genuinely curious how people here handle it:

  1. What's your real monthly backend cost — dollars and the time/glue?
  2. Do you go best-of-breed (many tools) or try to bundle into fewer?
  3. Has anyone actually rolled their own to avoid the per-tool fees — was it worth it?
reddit.com
u/dharmendra_jagodana — 4 days ago
▲ 4 r/buildbase+4 crossposts

What Can You Build With BuildBase? (Complete Feature Breakdown)

A complete reference of everything BuildBase does — organised by what you're

trying to build. This is not a feature dump; it's a roadmap of what's possible.

We run all four of our own products on BuildBase. Here's what each one uses:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AUTHENTICATION & USERS

✓ Email, magic link, Google, LinkedIn (Adding more daily...)

✓ Hosted auth pages (login, register, forgot password)

✓ Multi-tenant workspaces

✓ Role-based access control (RBAC) — per-org + per-workspace

✓ Team invitations with roles

✓ User audit logs & activity tracking

✓ API key / headless auth for custom UIs

→ Used by: All four products (AgentCenter, PlugNode, RemoteWait, LinkTracer)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

BILLING & SUBSCRIPTIONS

✓ Stripe subscriptions (monthly, quarterly, yearly)

✓ Multi-tier plans (Free, Pro, Scale, Enterprise)

✓ Plan versioning — non-destructive pricing updates

✓ Freemium plans (no Stripe needed)

✓ Trials (configurable per plan, card or no-card)

✓ Seat-based billing (per team member)

✓ Invoices, billing portal, upgrade/downgrade, cancel/resume

✓ Multi-currency (22 currencies) — prices per currency + workspace-level lock

✓ Dunning (payment failed → retry → suspend)

→ Used by: AgentCenter, PlugNode (the core wedge)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

USAGE-BASED BILLING (the wedge — AI/SaaS builders)

✓ Record usage client-side, server-side, or in batch

✓ Quota enforcement (soft caps + hard gates)

✓ Real-time quota status (remaining units, overage tracking)

✓ Auto-bill overages to Stripe

✓ Idempotent recording (no double-charging)

✓ Meter multiple quotas per plan (flow-runs, storage, API calls, etc.)

✓ Quota resets on billing cycle

✓ Usage analytics + history

Example: PlugNode charges per flow-run + storage. You record usage,

we gate the UI + bill overages. Done.

→ Used by: PlugNode (primary), AgentCenter

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

NOTIFICATIONS & EMAIL

✓ Email templates (HTML editor, markdown, plain text)

✓ Email campaigns (draft, schedule, send, track)

✓ Transactional emails (verify, forgot password, receipts, alerts)

✓ Email tracking (open tracking, click tracking, unsubscribe)

✓ Push notifications (web push, service worker, VAPID)

✓ Push campaigns (target by user list or audience segment)

✓ Unsubscribe groups (users opt out per category)

✓ BYO email sender (SMTP, Google OAuth, Mailgun ready)

✓ Merge tags (dynamic content per recipient)

✓ Notification events (system + custom events + webhooks)

✓ Notification gate (org → event → channel → user preference)

→ Used by: All four products (RemoteWait for SMS alerts, others for email)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

WORKFLOWS & AUTOMATION

✓ 47+ triggers (user signup, subscription updated, email opened, quota exhausted, etc.)

✓ 11+ actions (send email, send push, add to audience, HTTP webhook, etc.)

✓ Branching (if/else logic)

✓ Delays & scheduled sends

✓ A/B splits (split audience, track performance)

✓ Dead-letter queue (failed workflows, inspect + retry)

✓ Workflow templates (save & reuse automation patterns)

✓ Drip campaigns (send X emails over N days on trigger)

Example: User signs up → wait 1 day → send welcome email → wait 7 days →

ask for feedback → if opened, add to "engaged" list.

→ Partially used, full potential in upcoming versions

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

FEATURE FLAGS & GATING

✓ Workspace-level toggles (enable/disable per workspace)

✓ User-level flags (enable/disable per user)

✓ React gate components: <WhenFeatureEnabled>, <WhenFeatureDisabled>

✓ Server-side flag checking (headless API)

✓ Roll out gradually (10% → 50% → 100% of users)

✓ A/B testing per flag

Example: Roll out a "new checkout flow" to 10% of workspaces, measure,

then roll out to 100%.

→ Used by: All four products (capacity gating, beta features, etc.)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AUDIENCE & CRM

✓ Contact management (app users + imported contacts)

✓ Custom attributes per contact (name, company, custom fields)

✓ Lists (create segments manually or by rule)

✓ Tags (organize contacts by source, behavior, etc.)

✓ Import/export (CSV, API, form submissions)

✓ Activity tracking (logins, email opens, events)

✓ Geographic analytics (users by country/city)

✓ Growth analytics (DAU, MAU, cohorts)

Example: Import a list of beta waitlist users, tag them, segment

by interest, email them separately from app users.

→ Used by: RemoteWait, LinkTracer

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

CONTENT & CMS

✓ Blog system (posts, drafts, scheduled publishing, SEO metadata)

✓ Documentation (folders, versioning, custom slugs)

✓ FAQ management

✓ Forms (public submissions, versioning, webhooks)

✓ Rich content blocks (reusable content snippets)

✓ Asset uploads to Google Cloud Storage

✓ Collections (custom data models, headless CMS)

→ Partially used (RemoteWait, LinkTracer public content)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

INTEGRATIONS & WEBHOOKS

✓ Stripe (complete sync)

monday.com (actions, workflows, events)

✓ Vercel (deployment hooks)

✓ Slack (admin alerts, notifications)

✓ Outbound webhooks (subscribe to any event, send to your server)

✓ Webhook signing (HMAC verification)

✓ Delivery logs (retry, inspect, debug)

→ Used by: AgentCenter (Slack alerts), PlugNode (Vercel), RemoteWait (Slack)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

INTERNATIONALIZATION (i18n)

✓ 8 locales (English, Spanish, French, German, Japanese, Chinese, Hindi, Arabic)

✓ RTL support (Arabic)

✓ Native numerals (Devanagari, Arabic-Indic)

✓ Locale-aware dates, numbers, currency

✓ End-to-end i18n (auth pages, emails, templates, SDK UI)

→ Built in but not heavily used by dogfood products yet

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

DEVELOPER EXPERIENCE

✓ React SDK (hooks + components + gate grammar)

✓ Server SDK (Node.js / Express / Next.js / Hono compatible)

✓ Headless API (API keys, full control, no vendor lock-in)

✓ SDKs work isomorphic (client + server from one package)

✓ TypeScript first (types included)

✓ Error handling (detailed messages, retry logic)

✓ Admin console (zero-code configuration)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

WHAT WE'RE NOT (yet)

⏳ SSO/SAML (enterprise roadmap)

⏳ MFA/2FA (security roadmap)

⏳ In-app notification center (UX roadmap)

⏳ SMS channel (integration roadmap)

⏳ Self-hosting (infrastructure roadmap)

⏳ Vue/Svelte/other frameworks (React/Next-only for now)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

YOUR TURN

What are you building with BuildBase? Drop a comment:

- What feature are you most excited about?

- What's your use case?

- Questions about how something works?

Full docs: https://docs.buildbase.app

Start building: https://www.buildbase.app/contact

u/dharmendra_jagodana — 5 days ago

Tired of rebuilding the SaaS plumbing, I made a starter where it's all done. Here's a live demo — is this actually useful?

Upfront: I built this, so this is a maker looking for feedback, not a neutral rec. Mods, happy to move it if it's the wrong place.

Every SaaS I've built needed the same plumbing before I could touch the actual product — auth, workspaces, billing, email, feature flags, notifications. I rebuilt it every time, and it was never the reason anyone signed up. So I turned it into one React/Next.js SDK (BuildBase) and, more usefully, a ready-made Next.js starter where it's already plugged in.

The starter is Next.js + TypeScript + Tailwind + shadcn/ui with the SDK wired in: auth, multi-tenant workspaces, RBAC, credit packages and feature gates already in place. You clone it, drop in your keys, and start writing your own app logic instead of standing up the boring 80% first.

Live demo (real running app, not a screenshot — go poke at it): (link in a comment below to keep it rule-friendly)

What's in the SDK behind it: subscriptions/trials, usage-based + seat-based billing, email campaigns with tracking, workspaces + RBAC, feature flags you flip without a deploy, push notifications, workflows, webhooks, forms, short links — 19 modules, one dashboard.

On pricing, since it always comes up: no per-user fees, no cut of your revenue. Build, launch, get your first real users — pay nothing. You only pay later if you grow into the heavy stuff (high email volume, workflows at scale, dedicated infra). For early builders right now it's just free, in exchange for honest feedback.

Honest state: it's early (v0.0.x) and React/Next.js only, and so far it's mostly validated by me running it on my own four products in production. That's exactly why I want eyes from people who aren't me.

What I'd genuinely love feedback on:

  1. Does a "pre-wired starter" actually save you time, or do you prefer wiring your own stack so you understand it?
  2. What's the one thing in that 19-module list you'd need on day one — and what's noise?
  3. If you've shipped a SaaS before: how long did the plumbing actually cost you?

If you're building on React/Next.js and want a running foundation instead of a blank repo, happy to get you set up — comment or DM.

reddit.com
u/dharmendra_jagodana — 5 days ago
▲ 3 r/NoCodeSaaS+4 crossposts

Tired of rebuilding the SaaS plumbing, I made a starter where it's all done. Here's a live demo — is this actually useful?

Upfront: I built this, so this is a maker looking for feedback, not a neutral rec. Mods, happy to move it if it's the wrong place.

Every SaaS I've built needed the same plumbing before I could touch the actual product — auth, workspaces, billing, email, feature flags, notifications. I rebuilt it every time, and it was never the reason anyone signed up. So I turned it into one React/Next.js SDK (BuildBase) and, more usefully, a ready-made Next.js starter where it's already plugged in.

The starter is Next.js + TypeScript + Tailwind + shadcn/ui with the SDK wired in: auth, multi-tenant workspaces, RBAC, credit packages and feature gates already in place. You clone it, drop in your keys, and start writing your own app logic instead of standing up the boring 80% first.

Live demo (real running app, not a screenshot — go poke at it): (link in a comment below to keep it rule-friendly)

What's in the SDK behind it: subscriptions/trials, usage-based + seat-based billing, email campaigns with tracking, workspaces + RBAC, feature flags you flip without a deploy, push notifications, workflows, webhooks, forms, short links — 19 modules, one dashboard.

On pricing, since it always comes up: no per-user fees, no cut of your revenue. Build, launch, get your first real users — pay nothing. You only pay later if you grow into the heavy stuff (high email volume, workflows at scale, dedicated infra). For early builders right now it's just free, in exchange for honest feedback.

Honest state: it's early (v0.0.x) and React/Next.js only, and so far it's mostly validated by me running it on my own four products in production. That's exactly why I want eyes from people who aren't me.

What I'd genuinely love feedback on:

  1. Does a "pre-wired starter" actually save you time, or do you prefer wiring your own stack so you understand it?
  2. What's the one thing in that 19-module list you'd need on day one — and what's noise?
  3. If you've shipped a SaaS before: how long did the plumbing actually cost you?

If you're building on React/Next.js and want a running foundation instead of a blank repo, happy to get you set up — comment or DM.

reddit.com
u/dharmendra_jagodana — 5 days ago
▲ 5 r/BuildToShip+6 crossposts

Building in public: My React/Next.js SaaS toolkit now covers auth → billing → notifications. Looking for honest feedback on the scope.

Upfront: I built this, so this is a maker looking for feedback, not a neutral rec. Mods, happy to move it if it's the wrong spot.

Backstory — every SaaS I built needed the same plumbing, and I kept assembling the same stack: Clerk for auth, Stripe + a metered-billing tool for usage, something for notifications, a flags tool, i18n. Five dashboards, five bills, glue code in between. On the third project I gave up and built the layer myself as one SDK. It's called BuildBase (React/Next.js).

What it ended up covering:

  • Auth + multi-tenant workspaces — email/password, magic link, Google/OAuth. One toggle flips the app between single-user (B2C) and team mode (B2B), enforced at the API so there's no conditional code.
  • RBAC at two levels — roles for my own team, and roles for end-users inside their workspaces. Checked server-side, configured in a dashboard.
  • Usage-based billing — quotas, overages, metered Stripe. Usage recorded client/server/batch, enforced at the API (so the paywall can't be flipped from the browser console), overages auto-billed.
  • Non-destructive plan versioning — change pricing and old customers stay grandfathered on their version; new signups get the new one. No forced migrations.
  • Notification engine — email + push + Slack with delivery gates + drip workflows, wired to billing events.
  • Plus feature flags, i18n (8 locales, RTL, per-currency), outbound webhooks, and a headless API-key layer so you can pull your data out anytime. BYO Stripe + email sender, so no revenue cut.

Honest state: it's for React/Next.js only, and so far validated mostly by me running it on my own four products in production. That's the whole reason I'm here — I want feedback from people who aren't me.

What I'm actually unsure about:

  1. Is bundling all of this into one SDK useful, or does it scare you (too much lock-in / too much in one basket)?
  2. Where's the line — what would you still want to own/swap out yourself?
  3. If you've assembled the 5-tool stack before: what did it actually cost you in time, and would you trade it for one vendor?

Not dropping a link in the body to keep it rule-friendly — happy to share if you want to poke at it.

reddit.com
u/dharmendra_jagodana — 5 days ago

How do you do email retention? Keeping users engaged, Churn is my biggest problem

If you're bootstrapped, every tool cost hurts.

Email is where people get bled dry: Mailgun ($0.50 per 1K messages) + Klaviyo ($100/mo minimum) + custom automation = $200+/mo before you have any real users.

What I do: use a tool that doesn't charge per email, integrates campaigns + tracking + automation in one place, and lets me bring my own sender (so Mailgun costs are just infrastructure, not vendor markup).

BuildBase is worth looking at. Free tier is actually free for transaction emails (not "free until 1K emails" with hidden paywalls). You only pay when you have real revenue. And because you bring your own sender, costs scale with your usage, not with the vendor's pricing model.

 

Free to test. Email dharmendra@jagodana.org.

 

Bootstrapping means you can't afford to overspend on infrastructure. Email is infrastructure.

reddit.com
u/dharmendra_jagodana — 6 days ago
▲ 0 r/nextjs

I built a Customer.io-style workflow engine into my SaaS backend SDK — would love brutal feedback on it

Upfront disclosure: I built this, so this is a maker looking for feedback, not a neutral recommendation. Mods, happy to move it if it's the wrong place.

I've been building BuildBase App — a React/Next.js SDK + backend that handles the SaaS plumbing (auth, workspaces, usage-based billing, notifications) so you don't stitch together five vendors. The piece I just want feedback on today is the workflow engine, because I'm genuinely unsure if I over-built it.

The idea: event-triggered, time-aware automations — the Customer.IO / drip-campaign thing — but living inside the same system that already knows about your users, subscriptions and usage. So a workflow can react to product events, not just email opens.

What it does right now:

  • 47 trigger events across users, workspaces, subscriptions, payments, quotas, forms, email and audience (e.g. subscription.trial_will_end, quota.limit_exceeded, user.registered, audience.added_to_list)
  • 11 actions: delay, send email, send push, HTTP webhook, add/remove from lists, tag, update/get audience, transform data, and wait-for-event
  • Branching + conditions: if/else, filters, and random split for A/B
  • A typical flow looks like: audience added → wait 30 min → welcome email → wait 1 day → check if they've subscribed → branch
  • Versioning, instance logs, a template library, and a dead-letter queue for failed runs

Why I bothered building it instead of telling people "just use Customer.io": when the automation lives in the same place as billing and auth, you can trigger off things an email tool can't see — like "trial ending in 3 days AND quota 80% used → send the upgrade nudge." That's the bet, anyway.

Honest state of things: it's young (v0.0.x), it's React/Next.js only, and it's mostly been validated by me running it on my own four products in production. That's exactly why I'm here — I want feedback from people who aren't me.

Questions I'd genuinely love answers to:

  1. Is "workflows tied to billing/usage events" actually a pain you have, or a solution looking for a problem?
  2. What's the one trigger or action that would make or break this for you?
  3. If you already run drip/lifecycle automation — what tool, and what do you hate about it?

Not dropping a link in the body to respect the rules — it's in my profile, and happy to share if anyone wants to poke at it.

reddit.com
u/dharmendra_jagodana — 7 days ago

My 365 Tools Challenge — SQL JOIN Visualizer

Here's the thing about SQL JOINs: everyone learns them. Everyone also forgets the exact difference between FULL OUTER JOIN and LEFT JOIN at the worst possible moment — mid-code-review, mid-interview, mid-debugging session.

Built SQL JOIN Visualizer in ~50 minutes.

What it shows you for each JOIN type:

→ A color-coded Venn diagram showing which rows are returned

→ Input tables with intentionally mismatched IDs so NULLs appear

→ The computed result set — NULL cells shown as distinct badges

→ A formatted SQL snippet you can copy in one click

Covers all six JOIN types: INNER, LEFT, RIGHT, FULL OUTER, CROSS, SELF

Free. No database. No account. Works offline.

🔗 sql-join-visualizer.tools.jagodana.com

u/dharmendra_jagodana — 7 days ago