{"id":"saas-app","type":"soulcraft","role":"primary","status":"released","name":"SaaS Application","description":"Full-stack SaaS platform with recurring subscriptions, customer accounts, AI-powered support, and integrated marketing. Built for digital-first software businesses.","longDescription":"A complete SaaS platform kit covering subscription billing, customer lifecycle management, onboarding flows, and product analytics. Designed for digital-first software businesses that need to move fast without sacrificing operational clarity.","version":"1.0.0","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"💻","tags":["saas","software","subscriptions","digital","developer","b2b","b2c"],"variables":[{"key":"productName","label":"Product Name","description":"The name of your software product (e.g. \"Acme Analytics\")","type":"string","required":true,"example":"Acme Analytics"},{"key":"tagline","label":"Tagline","description":"A short phrase describing what your product does (shown under the logo)","type":"string","required":false,"example":"The analytics platform that grows with you"},{"key":"supportEmail","label":"Support Email","description":"Customer-facing support email address","type":"email","required":true,"example":"support@acmeanalytics.com"},{"key":"websiteUrl","label":"Website URL","description":"Your product's public website (used for links in transactional emails)","type":"url","required":false,"example":"https://acmeanalytics.com"},{"key":"twitter","label":"Twitter / X Handle","description":"Twitter username without the @","type":"string","required":false,"example":"acmeanalytics"},{"key":"trialDays","label":"Free Trial Length (days)","description":"Number of days in the free trial before payment is required. Set to 0 to disable trials.","type":"number","required":false,"example":"14","default":"14"}],"shared":{"industry":"saas","category":"business","glossary":{"MRR":"Monthly Recurring Revenue — the predictable monthly revenue from active subscriptions, excluding one-time charges","ARR":"Annual Recurring Revenue — MRR multiplied by 12, used for annual business reporting","churn":"The rate at which customers cancel their subscriptions, expressed as a percentage over a given period","ARPU":"Average Revenue Per User — total MRR divided by number of active subscribers","CAC":"Customer Acquisition Cost — total sales and marketing spend divided by new customers acquired","LTV":"Lifetime Value — average revenue a customer generates over their entire relationship with the product","NRR":"Net Revenue Retention — measures revenue growth or contraction within the existing customer base, accounting for expansions, contractions, and churn","activation":"The moment a new user reaches the 'aha moment' — the point where they've experienced the core value of the product","trial conversion":"The percentage of free trial users who become paying subscribers","expansion revenue":"Additional revenue from existing customers upgrading their plan or adding seats/usage","cohort":"A group of customers who started at the same time (e.g. all customers who signed up in January 2026)"},"aiExpertise":["SaaS metrics and business model analysis","subscription pricing strategy and packaging","customer churn analysis and retention","user onboarding and activation optimization","product-led growth (PLG) strategies","unit economics (CAC, LTV, payback period)","SaaS financial modeling and forecasting"],"dataModelHints":["subscription","subscription_plan","customer","transaction","usage_event","support_ticket"],"dataModel":{"entities":[{"domain":"customer","type":"Person","description":"A registered user or organization with an active or trialing account in the SaaS product.","products":{"workshop":{"view":"board","icon":"👤"},"academy":{"mapsTo":"learner","assessable":false}}},{"domain":"subscription","type":"Event","description":"An active, trialing, or canceled subscription linking a customer to a plan with billing cycle and status.","products":{"workshop":{"view":"board","icon":"🔄"},"academy":{"mapsTo":"practice-session","assessable":true}}},{"domain":"subscription_plan","type":"Product","description":"A pricing tier (e.g. Starter, Pro, Enterprise) defining feature access, usage limits, and monthly price.","products":{"workshop":{"view":"gallery","icon":"💳"},"academy":{"mapsTo":"skill-unit","assessable":true}}},{"domain":"transaction","type":"Measurement","description":"A billing event — charge, refund, or credit — always stored in cents and linked to a subscription.","products":{"workshop":{"view":"timeline","icon":"💰"}}},{"domain":"usage_event","type":"Measurement","description":"A recorded product usage metric such as API calls, seats used, or storage consumed in a billing period.","products":{"workshop":{"view":"stats","icon":"📊"}}},{"domain":"support_ticket","type":"Event","description":"An inbound support request from a customer, tracked through triage, assignment, and resolution.","products":{"workshop":{"view":"board","icon":"🎫"}}},{"domain":"content_page","type":"Document","description":"A CMS-managed page such as Pricing, Documentation overview, or Terms of Service.","products":{"workshop":{"view":"board","icon":"📄"},"academy":{"mapsTo":"learning-resource","assessable":false}}},{"domain":"blog_post","type":"Document","description":"A published post covering product updates, tutorials, engineering stories, or company news.","products":{"workshop":{"view":"board","icon":"✍️"},"academy":{"mapsTo":"learning-resource","assessable":false}}}],"relationships":[{"from":"customer","to":"subscription","verb":"Creates","description":"Customer signs up for or upgrades to a subscription plan."},{"from":"subscription","to":"subscription_plan","verb":"References","description":"Subscription is bound to a specific pricing plan defining feature flags and usage limits."},{"from":"transaction","to":"subscription","verb":"References","description":"Billing transaction links back to the subscription it charges or credits."},{"from":"usage_event","to":"subscription","verb":"References","description":"Usage metric is attributed to the subscription account that consumed it."},{"from":"customer","to":"support_ticket","verb":"Creates","description":"Customer opens a support ticket that is triaged, assigned, and resolved by the team."}]},"suggestions":[{"label":"Design pricing tiers","prompt":"Help me design my subscription pricing tiers — plans, features, and pricing strategy."},{"label":"Map onboarding flow","prompt":"Let's map out the ideal onboarding flow from signup to activation for my product."},{"label":"Analyze churn drivers","prompt":"I want to understand why customers are churning and build a retention strategy."},{"label":"Visualize knowledge graph","prompt":"Show me a visualization of my product knowledge graph."}]},"academy":{"skillPath":"saas-product-management","level":"intermediate","learningObjectives":["Product analytics and key SaaS metric interpretation","User lifecycle management and activation strategies","Feature prioritization frameworks and roadmap planning","SaaS metrics modeling: MRR, churn, LTV, and NRR"],"assessmentTypes":["portfolio","peer-review"],"mode":"certification","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"socratic","encouragementLevel":"neutral","flashcardsEnabled":true},"certification":{"requiresHumanCertifier":false,"aiCertifierAllowed":true,"lineageEnabled":true,"certificationSlug":"saas-builder"},"gamification":{"enabled":true,"achievements":["deep-thinker","completionist","chain-maker"],"streaks":false,"leaderboard":true}},"venue":{"features":{"subscriptions":true,"customerAccounts":true,"apps":true,"documents":true,"support":true,"blog":true,"cms":true,"website":true,"notifications":true},"theme":{"primary":"oklch(0.52 0.24 258)","bgBase":"oklch(0.99 0.005 258)","accent":"oklch(0.62 0.18 195)","textPrimary":"oklch(0.22 0.03 258)","displayFont":"Plus Jakarta Sans","bodyFont":"Inter"},"experienceTypes":[],"chatSuggestions":[{"label":"Manage subscription","message":"I'd like to view or make changes to my subscription.","emoji":"💳"},{"label":"Billing question","message":"I have a question about my bill or invoice.","emoji":"🧾"},{"label":"Get help","message":"I need help with something. Can you assist me?","emoji":"💬"},{"label":"Upgrade my plan","message":"I'm interested in upgrading to a higher plan. What are my options?","emoji":"🚀"}],"fees":{"billingModel":"subscription","feeMode":"online-only"}},"workshop":{"workspaceConfig":{"paradigm":"analyst","defaultTab":"explore","defaultView":"graph"},"aiPersona":{"role":"You are a senior SaaS architect and product strategist with deep experience building subscription software businesses. You think in unit economics, product-led growth loops, and scalable architecture. You are direct and practical — you help founders and product teams make clear, evidence-based decisions.","expertise":["SaaS metrics and business model analysis","subscription pricing and packaging strategy","customer churn analysis and retention playbooks","user onboarding and activation flow design","API design and developer experience","product-led growth (PLG) and self-serve funnels","SaaS financial modeling and scenario analysis"],"tone":"collaborator","avoidances":["Don't over-engineer — prefer the simplest solution that solves the actual problem","Don't design for scale that doesn't exist yet — validate first, optimize later","Don't recommend tooling without understanding the team's context and constraints"]},"publishConfig":{"contentType":"app","publishable":true,"appEntry":"src/App.svelte"},"remoteWorkspace":{"connectedWorkbenches":[{"name":"Customer Accounts","view":"board","entityTypes":["customer"],"description":"Track customers by plan tier, trial status, and lifecycle stage"},{"name":"Revenue Metrics","view":"stats","entityTypes":["transaction"],"description":"MRR, ARR, churn, ARPU, and expansion revenue at a glance"},{"name":"Support Queue","view":"board","entityTypes":["event"],"description":"Triage and resolve open support tickets by priority"},{"name":"App Analytics","view":"timeline","entityTypes":["measurement"],"description":"Usage events and activation milestones over time"},{"name":"Subscription Graph","view":"graph","entityTypes":["customer","transaction"],"description":"Graph of customer relationships, plans, and revenue flows"}]}},"previewImageUrl":"kits/saas-app/images/preview.webp"}