PageSourceSearch

https://posthog.com/component---src-pages-early-access-features-index-tsx-fec9379be817aa8312ae.js

js posthog.com collected 2026-09-24 08:00:18 UTC 8,425 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkposthog_com=self.webpackChunkposthog_com||[]).push([[4118],{60330:function(e,s,a){a.r(s),a.d(s,{default:function(){return c}});var t=a(76591),r=a(8462),i=a(60086),l=a(93747),n=a(39106),d=a(86070);function c(){const e=(0,i.A)({handle:"early_access"});if(!e)return(0,d.jsx)("div",{children:"Product not found"});const{name:s,overview:a,features:c,Icon:o,color:h,screenshots:m,seo:u}=e;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.Ay,{title:(null==u?void 0:u.title)||"Early Access Features - PostHog",description:null==u?void 0:u.description,image:"/images/og/default.png"}),(0,d.jsx)(t.A,{children:(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex gap-2 items-center",children:[o&&(0,d.jsx)("div",{className:"size-8 my-4 text-"+h,children:(0,d.jsx)(o,{})}),(0,d.jsx)("h1",{className:"!m-0",children:s})]}),(0,d.jsx)("h2",{className:"!m-0 pb-2",children:"Run beta programs without custom code"}),(0,d.jsx)("p",{children:"Let users opt into betas, create waitlists, and manage feature lifecycle from concept to GA. Build a community of engaged users who help shape your product."})]}),m&&m.overview&&(0,d.jsx)(l.A,{src:m.overview.src||"https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/features/feature-flags/early-access-feature-demo.png",alt:m.overview.alt||"Early access features modal",className:"w-full rounded-md shadow-lg"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{children:"How it works"}),(0,d.jsxs)("div",{className:"grid md:grid-cols-3 gap-6",children:[(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-4xl mb-4",children:"1️⃣"}),(0,d.jsx)("h3",{className:"text-lg",children:"Create a beta feature"}),(0,d.jsx)("p",{className:"text-sm",children:"Define your feature and set enrollment criteria directly in PostHog."})]}),(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-4xl mb-4",children:"2️⃣"}),(0,d.jsx)("h3",{className:"text-lg",children:"Users opt in"}),(0,d.jsx)("p",{className:"text-sm",children:"Users discover and join betas through an in-app modal or custom UI."})]}),(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-4xl mb-4",children:"3️⃣"}),(0,d.jsx)("h3",{className:"text-lg",children:"Manage rollout"}),(0,d.jsx)("p",{className:"text-sm",children:"Control access with feature flags and graduate features to GA."})]})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{children:"Key features"}),(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"No-code beta management"}),(0,d.jsx)("p",{children:"Create and manage beta programs entirely through PostHog. No engineering work required to set up opt-in flows, waitlists, or access control. Your team can launch betas independently."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Built-in enrollment UI"}),(0,d.jsx)("p",{children:"PostHog provides a customizable modal that displays available betas to your users. They can browse features, read descriptions, and opt in with one click. Or build your own UI using our APIs."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Automatic feature flag integration"}),(0,d.jsx)("p",{children:"When users opt into a beta, they're automatically added to the corresponding feature flag. No manual list management or custom code needed - it just works."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Waitlist management"}),(0,d.jsx)("p",{children:"Build anticipation with waitlists. Collect interest for upcoming features and control when users get access. Perfect for managing limited beta slots or staged rollouts."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Feedback collection"}),(0,d.jsx)("p",{children:"Gather feedback from beta users through integrated surveys. Understand what's working, what's not, and what features to build next based on real user input."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Usage analytics"}),(0,d.jsx)("p",{children:"Track adoption, engagement, and retention for beta features. See which users are most active and identify your power users and champions."})]})]})]}),(0,d.jsxs)("div",{className:"bg-accent rounded-md p-6",children:[(0,d.jsx)("h3",{className:"mt-0",children:"Perfect for"}),(0,d.jsxs)("div",{className:"grid md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"text-base font-semibold mb-2",children:"Product teams"}),(0,d.jsxs)("ul",{className:"text-sm mb-0",children:[(0,d.jsx)("li",{children:"Test features with real users before GA"}
1),(0,d.jsx)("li",{children:"Build a community of engaged testers"}),(0,d.jsx)("li",{children:"Validate product-market fit early"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"text-base font-semibold mb-2",children:"Developer platforms"}),(0,d.jsxs)("ul",{className:"text-sm mb-0",children:[(0,d.jsx)("li",{children:"Run API beta programs"}),(0,d.jsx)("li",{children:"Give early access to power users"}),(0,d.jsx)("li",{children:"Manage preview features"})]})]})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{children:"Use cases"}),(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Feature validation"}),(0,d.jsx)("p",{children:"Test new features with a subset of users before committing to a full launch. Get feedback early and iterate based on real usage data."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Community building"}),(0,d.jsx)("p",{children:"Create a community of power users who get early access to new features. Build loyalty and turn users into advocates for your product."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Risk mitigation"}),(0,d.jsx)("p",{children:"Reduce the risk of launching features that don't resonate. Test with a small group first, gather feedback, and only roll out winners."})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{children:"Enterprise previews"}),(0,d.jsx)("p",{children:"Give key customers early access to enterprise features. Build stronger relationships and get valuable feedback from your most important users."})]})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{children:"How to implement"}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"border-l-4 border-primary pl-4",children:[(0,d.jsx)("h4",{className:"font-semibold",children:"Step 1: Create your beta feature"}),(0,d.jsx)("p",{className:"text-sm mb-0",children:"In PostHog, navigate to Early Access Features and create a new beta. Add a name, description, and documentation URL."})]}),(0,d.jsxs)("div",{className:"border-l-4 border-primary pl-4",children:[(0,d.jsx)("h4",{className:"font-semibold",children:"Step 2: Link to a feature flag"}),(0,d.jsx)("p",{className:"text-sm mb-0",children:"Connect your beta to a feature flag. Users who opt in will automatically be added to this flag."})]}),(0,d.jsxs)("div",{className:"border-l-4 border-primary pl-4",children:[(0,d.jsx)("h4",{className:"font-semibold",children:"Step 3: Add the enrollment modal"}),(0,d.jsxs)("p",{className:"text-sm mb-0",children:["Include PostHog's JavaScript snippet with ",(0,d.jsx)("code",{children:"opt_in_site_apps: true"})," to show the beta modal to users."]})]}),(0,d.jsxs)("div",{className:"border-l-4 border-primary pl-4",children:[(0,d.jsx)("h4",{className:"font-semibold",children:"Step 4: Monitor and iterate"}),(0,d.jsx)("p",{className:"text-sm mb-0",children:"Track adoption, gather feedback, and iterate based on user behavior and survey responses."})]})]})]}),m&&m.additional&&(0,d.jsx)("div",{className:"space-y-4",children:m.additional.map((e,s)=>(0,d.jsx)(l.A,{src:e.src,srcDark:e.srcDark,alt:e.alt||"",className:"w-full rounded-md shadow-lg"},s))}),(0,d.jsxs)("div",{className:"grid md:grid-cols-2 gap-4",children:[(0,d.jsx)(n.A,{asLink:!0,variant:"primary",size:"md",to:"/docs/feature-flags/early-access-feature-management",state:{newWindow:!0},width:"full",children:"Read the documentation"}),(0,d.jsx)(n.A,{asLink:!0,variant:"secondary",size:"md",to:"/tutorials/public-beta-program",state:{newWindow:!0},width:"full",children:"View tutorial"})]})]})})]})}}}]);
2//# sourceMappingURL=component---src-pages-early-access-features-index-tsx-fec9379be817aa8312ae.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.