[
  {
    "slug": "go-pocketbase-htmx",
    "title": "Go + PocketBase + HTMX",
    "process": "Backend",
    "tier": "Easy",
    "summary": "Dave's signature stack: one Go binary, embedded PocketBase, templ + HTMX, Tailwind. This site is the dogfood.",
    "replaces": "Firebase / Supabase + Vercel",
    "annualSaveUSD": 2400,
    "annualSave": "$2,400",
    "url": "https://c17.io/stacks/go-pocketbase-htmx",
    "markdown": "https://c17.io/stacks/go-pocketbase-htmx.md",
    "tools": [
      {
        "name": "Go",
        "url": "https://go.dev/",
        "role": "One static binary, no runtime to babysit"
      },
      {
        "name": "PocketBase",
        "url": "https://pocketbase.io/",
        "role": "Embedded realtime DB, auth, and admin",
        "note": "Dave stack — add"
      },
      {
        "name": "htmx-ui/hello",
        "url": "https://github.com/htmx-ui/hello",
        "role": "HTMX starter patterns",
        "catalog": "htmx-ui-hello"
      },
      {
        "name": "shadcn-htmx",
        "url": "https://shadcn-htmx.productdevbook.com/",
        "role": "shadcn-style components for HTMX + Tailwind v4",
        "catalog": "shadcn-htmx-shadcn-for-htmx-v4-tailwind-"
      }
    ]
  },
  {
    "slug": "n8n-automation",
    "title": "n8n or Activepieces + Postgres",
    "process": "Automation",
    "tier": "Easy",
    "summary": "Replace Zapier or Make with a self-hosted workflow engine and a real database.",
    "replaces": "Zapier / Make",
    "annualSaveUSD": 3600,
    "annualSave": "$3,600",
    "url": "https://c17.io/stacks/n8n-automation",
    "markdown": "https://c17.io/stacks/n8n-automation.md",
    "tools": [
      {
        "name": "n8n",
        "url": "https://n8n.io/",
        "role": "Fair-code workflow automation",
        "catalog": "n8n"
      },
      {
        "name": "Activepieces",
        "url": "https://activepieces.com/",
        "role": "Open-source Zapier alternative",
        "catalog": "activepieces"
      },
      {
        "name": "Postgres",
        "url": "https://www.postgresql.org/",
        "role": "Durable run history and app data"
      }
    ]
  },
  {
    "slug": "swetrix-analytics",
    "title": "Swetrix or traffic-source",
    "process": "Analytics",
    "tier": "Easy",
    "summary": "Privacy-friendly analytics and affiliate/Stripe attribution without Google Analytics or Mixpanel.",
    "replaces": "Google Analytics / Mixpanel",
    "annualSaveUSD": 12000,
    "annualSave": "$12,000",
    "url": "https://c17.io/stacks/swetrix-analytics",
    "markdown": "https://c17.io/stacks/swetrix-analytics.md",
    "tools": [
      {
        "name": "Swetrix",
        "url": "https://github.com/Swetrix/swetrix",
        "role": "Self-hosted analytics",
        "catalog": "swetrix-swetrix"
      },
      {
        "name": "traffic-source",
        "url": "https://github.com/mddanishyusuf/traffic-source",
        "role": "Analytics plus affiliate / Stripe attribution",
        "catalog": "traffic-source"
      },
      {
        "name": "Umami",
        "url": "https://umami.is/",
        "role": "Minimal pageview analytics",
        "note": "Dave stack — add; not in the Crew DB"
      }
    ]
  },
  {
    "slug": "open-webui-litellm",
    "title": "Open WebUI + LiteLLM",
    "process": "AI chat",
    "tier": "Easy",
    "summary": "A ChatGPT Team replacement: one UI, many models, your keys, Postgres memory.",
    "replaces": "ChatGPT Team seats",
    "annualSaveUSD": 3600,
    "annualSave": "$3,600",
    "url": "https://c17.io/stacks/open-webui-litellm",
    "markdown": "https://c17.io/stacks/open-webui-litellm.md",
    "tools": [
      {
        "name": "Open WebUI",
        "url": "https://github.com/open-webui/open-webui",
        "role": "Self-hosted ChatGPT-style UI",
        "catalog": "open-webui-open-webui"
      },
      {
        "name": "LiteLLM",
        "url": "https://www.litellm.ai/",
        "role": "Unified proxy over OpenAI, Anthropic, local models",
        "catalog": "litellm"
      },
      {
        "name": "Postgres",
        "url": "https://www.postgresql.org/",
        "role": "Users, chats, and memory"
      }
    ]
  },
  {
    "slug": "plunk-newsletter",
    "title": "Plunk or Posta + Resend",
    "process": "Newsletter",
    "tier": "Easy",
    "summary": "Own the list in PocketBase, send with Resend, use Plunk or Posta when you want a full newsletter app.",
    "replaces": "Mailchimp / Mailgun newsletter",
    "annualSaveUSD": 1800,
    "annualSave": "$1,800",
    "url": "https://c17.io/stacks/plunk-newsletter",
    "markdown": "https://c17.io/stacks/plunk-newsletter.md",
    "tools": [
      {
        "name": "Plunk",
        "url": "https://www.useplunk.com/",
        "role": "Open-source email platform",
        "catalog": "plunk-email"
      },
      {
        "name": "goposta/posta",
        "url": "https://github.com/goposta/posta",
        "role": "Self-hosted newsletter",
        "catalog": "goposta-posta"
      },
      {
        "name": "Resend",
        "url": "https://resend.com/",
        "role": "Delivery, audiences, broadcasts"
      },
      {
        "name": "PocketBase",
        "url": "https://pocketbase.io/",
        "role": "Signup mirror you own",
        "note": "Dave stack"
      }
    ]
  },
  {
    "slug": "checkcle-monitoring",
    "title": "Checkcle uptime",
    "process": "Monitoring",
    "tier": "Easy",
    "summary": "Go-based uptime and status that replaces Pingdom and Statuspage.",
    "replaces": "Pingdom / Statuspage",
    "annualSaveUSD": 1200,
    "annualSave": "$1,200",
    "url": "https://c17.io/stacks/checkcle-monitoring",
    "markdown": "https://c17.io/stacks/checkcle-monitoring.md",
    "tools": [
      {
        "name": "operacle/checkcle",
        "url": "https://github.com/operacle/checkcle",
        "role": "Go uptime and monitoring",
        "catalog": "operacle-checkcle"
      }
    ]
  },
  {
    "slug": "docmost-wiki",
    "title": "Docmost / BookStack / Tela",
    "process": "Docs",
    "tier": "Easy",
    "summary": "A team wiki you host, including a Go wiki with MCP so agents can edit the docs.",
    "replaces": "Notion / Confluence wiki",
    "annualSaveUSD": 1920,
    "annualSave": "$1,920",
    "url": "https://c17.io/stacks/docmost-wiki",
    "markdown": "https://c17.io/stacks/docmost-wiki.md",
    "tools": [
      {
        "name": "Docmost",
        "url": "https://docmost.com/",
        "role": "Open-source Notion-style wiki",
        "catalog": "docmost"
      },
      {
        "name": "BookStack",
        "url": "https://www.bookstackapp.com/",
        "role": "Shelves / books / pages wiki",
        "catalog": "bookstack"
      },
      {
        "name": "zcag/tela",
        "url": "https://github.com/zcag/tela",
        "role": "Markdown wiki with MCP",
        "catalog": "github-zcag-tela-open-source-self-hostab"
      }
    ]
  },
  {
    "slug": "baserow-appsmith",
    "title": "Baserow + Appsmith",
    "process": "Forms",
    "tier": "Medium",
    "summary": "Airtable replacement: a real database with a spreadsheet UI, plus internal tools on top.",
    "replaces": "Airtable",
    "annualSaveUSD": 2400,
    "annualSave": "$2,400",
    "url": "https://c17.io/stacks/baserow-appsmith",
    "markdown": "https://c17.io/stacks/baserow-appsmith.md",
    "tools": [
      {
        "name": "Baserow",
        "url": "https://baserow.io/",
        "role": "Open-source Airtable",
        "catalog": "baserow"
      },
      {
        "name": "Appsmith",
        "url": "https://appsmith.com/",
        "role": "Internal tools on that data",
        "catalog": "appsmith"
      }
    ]
  },
  {
    "slug": "chatwoot-support",
    "title": "Chatwoot + Resend + Onyx",
    "process": "Support",
    "tier": "Medium",
    "summary": "Shared inbox, help center, and AI answers. Intercom without the platform tax.",
    "replaces": "Intercom / Zendesk",
    "annualSaveUSD": 8000,
    "annualSave": "$8,000",
    "url": "https://c17.io/stacks/chatwoot-support",
    "markdown": "https://c17.io/stacks/chatwoot-support.md",
    "tools": [
      {
        "name": "Chatwoot",
        "url": "https://chatwoot.com/",
        "role": "Open-source shared inbox and live chat",
        "catalog": "chatwoot"
      },
      {
        "name": "Resend",
        "url": "https://resend.com/",
        "role": "Transactional mail"
      },
      {
        "name": "Onyx",
        "url": "https://github.com/onyx-dot-app/onyx",
        "role": "AI answers over your docs",
        "catalog": "onyx"
      }
    ]
  },
  {
    "slug": "twenty-crm",
    "title": "Twenty or Krayin + n8n",
    "process": "CRM",
    "tier": "Medium",
    "summary": "A CRM you can fork, wired to n8n so the pipeline actually moves.",
    "replaces": "HubSpot / Salesforce CRM",
    "annualSaveUSD": 4800,
    "annualSave": "$4,800",
    "url": "https://c17.io/stacks/twenty-crm",
    "markdown": "https://c17.io/stacks/twenty-crm.md",
    "tools": [
      {
        "name": "Twenty",
        "url": "https://twenty.com/pricing",
        "role": "Open-source CRM",
        "catalog": "twenty"
      },
      {
        "name": "Krayin CRM",
        "url": "https://krayincrm.com/",
        "role": "Laravel CRM alternative",
        "catalog": "krayin-crm"
      },
      {
        "name": "n8n",
        "url": "https://n8n.io/",
        "role": "Deal won → invoice / Slack / Resend",
        "catalog": "n8n"
      }
    ]
  },
  {
    "slug": "mailflare-office",
    "title": "Mailflare + Cal.com + synct + genoffice",
    "process": "Email",
    "tier": "Flagship",
    "summary": "The office stack: Cloudflare Workers email, open-source booking, calendar sync, and an AI office.",
    "replaces": "Google Workspace / M365 + Calendly",
    "annualSaveUSD": 1800,
    "annualSave": "$1,800",
    "url": "https://c17.io/stacks/mailflare-office",
    "markdown": "https://c17.io/stacks/mailflare-office.md",
    "tools": [
      {
        "name": "Mailflare",
        "url": "https://github.com/hieunc229/mailflare",
        "role": "Cloudflare Workers email",
        "catalog": "hieunc229-mailflare"
      },
      {
        "name": "Cal.com",
        "url": "https://cal.com/pricing",
        "role": "Open-source booking",
        "catalog": "cal-com-teams-open-source-scheduling-wit"
      },
      {
        "name": "synct",
        "url": "https://synct.utility.cx/honeststok/david",
        "role": "Calendar sync (Dave's)",
        "catalog": "meet-with-david-cullum"
      },
      {
        "name": "genoffice",
        "url": "https://github.com/genspark-ai/genoffice",
        "role": "AI office surfaces",
        "catalog": "genspark-ai-genoffice"
      }
    ]
  },
  {
    "slug": "meeting-pipeline",
    "title": "Cal.com → LiveKit / Jitsi → meetily → Resend",
    "process": "Meetings",
    "tier": "Flagship",
    "summary": "Book, meet, transcribe, mail the minutes. Calendly + Zoom + Otter without three subscriptions.",
    "replaces": "Calendly + Zoom + Otter / Fathom",
    "annualSaveUSD": 2400,
    "annualSave": "$2,400",
    "url": "https://c17.io/stacks/meeting-pipeline",
    "markdown": "https://c17.io/stacks/meeting-pipeline.md",
    "tools": [
      {
        "name": "Cal.com",
        "url": "https://cal.com/pricing",
        "role": "Booking",
        "catalog": "cal-com-teams-open-source-scheduling-wit"
      },
      {
        "name": "LiveKit",
        "url": "https://livekit.io/",
        "role": "Real-time rooms",
        "note": "Dave stack — add"
      },
      {
        "name": "Jitsi Meet",
        "url": "https://meet.jit.si/",
        "role": "Self-hostable video fallback",
        "catalog": "jitsi-meet"
      },
      {
        "name": "meetily",
        "url": "https://github.com/Zackriya-Solutions/meetily",
        "role": "Transcripts and minutes",
        "catalog": "zackriya-solutions-meetily"
      },
      {
        "name": "Resend",
        "url": "https://resend.com/",
        "role": "Summary email"
      }
    ]
  },
  {
    "slug": "papermark-docs",
    "title": "Papermark + Postgres",
    "process": "Docs",
    "tier": "Easy",
    "summary": "Share decks and data rooms without DocSend's watermarked meter.",
    "replaces": "DocSend",
    "annualSaveUSD": 1200,
    "annualSave": "$1,200",
    "url": "https://c17.io/stacks/papermark-docs",
    "markdown": "https://c17.io/stacks/papermark-docs.md",
    "tools": [
      {
        "name": "papermark",
        "url": "https://github.com/papermark/papermark",
        "role": "Open-source DocSend",
        "catalog": "papermark-papermark"
      },
      {
        "name": "Postgres",
        "url": "https://www.postgresql.org/",
        "role": "Links, views, users"
      }
    ]
  },
  {
    "slug": "auth-without-the-bill",
    "title": "Auth without the bill",
    "process": "Auth",
    "tier": "Easy",
    "summary": "Self-host SuperTokens, PocketBase auth, or Tinyauth and stop paying Clerk, Auth0, or WorkOS as the user count climbs.",
    "replaces": "Clerk / Auth0 / WorkOS",
    "annualSaveUSD": 8400,
    "annualSave": "$8,400",
    "url": "https://c17.io/stacks/auth-without-the-bill",
    "markdown": "https://c17.io/stacks/auth-without-the-bill.md",
    "tools": [
      {
        "name": "SuperTokens",
        "url": "https://supertokens.com/",
        "role": "Self-hosted auth core and SDKs — email, social, passwordless, sessions",
        "note": "OSS self-host is $0 at any scale; their cloud is a different bill"
      },
      {
        "name": "PocketBase",
        "url": "https://pocketbase.io/",
        "role": "Built-in users, sessions, OAuth, and admin in one binary",
        "note": "Dave stack — the c17.io path"
      },
      {
        "name": "Tinyauth",
        "url": "https://tinyauth.app/",
        "role": "Forward-auth / OIDC in front of self-hosted apps (Traefik, Nginx, Caddy, Envoy)"
      }
    ]
  }
]