All posts
tutorial

Build an AI Business Plan Generator App with the AI Pass SDK

Build a complete AI business plan generator web app with the AI Pass SDK. Full code, deployment guide, and earn 50% commission on every plan generated.

EiliyaMarch 23, 20265 min read

Build an AI Business Plan Generator App with the AI Pass SDK

Business plan generation is one of the highest-value use cases for AI — and the demand is massive. Founders, students, consultants, and small business owners all need structured plans. This tutorial builds a complete AI business plan generator web app using the AI Pass SDK.

Prerequisites

  • Basic HTML/JavaScript knowledge
  • An AI Pass account (sign up at aipass.one)
  • A Client ID from the Developer Dashboard

Step 1: Get Your Client ID

  1. Log in at aipass.one
  2. Go to Developer Dashboard
  3. Click OAuth2 ClientsCreate New Client
  4. Name it "Business Plan Generator" and copy your client_XXXX... ID

This is your YOUR_CLIENT_ID in the code below.

Step 2: Build the App

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>AI Business Plan Generator</title>
  <script src="https://aipass.one/aipass-sdk.js"></script>
  <style>
    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: 'Segoe UI', sans-serif;
      background: #f8fafc;
      color: #1a1a2e;
      max-width: 900px;
      margin: 0 auto;
      padding: 2rem;
    }
    h1 { color: #2563eb; margin-bottom: 0.5rem; }
    .subtitle { color: #64748b; margin-bottom: 2rem; }
    .form-group {
      margin-bottom: 1.25rem;
    }
    label {
      display: block;
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #374151;
    }
    input, textarea, select {
      width: 100%;
      padding: 0.75rem;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      font-size: 1rem;
      font-family: inherit;
    }
    textarea { min-height: 100px; resize: vertical; }
    button {
      background: #2563eb;
      color: white;
      border: none;
      padding: 0.875rem 2rem;
      border-radius: 8px;
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      width: 100%;
      margin-top: 0.5rem;
    }
    button:disabled { background: #93c5fd; cursor: not-allowed; }
    #output {
      margin-top: 2rem;
      background: white;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 2rem;
      white-space: pre-wrap;
      line-height: 1.7;
      display: none;
    }
    #status { text-align: center; margin-top: 1rem; color: #6b7280; }
    .actions { display: flex; gap: 1rem; margin-top: 1rem; }
    .btn-secondary {
      background: white;
      color: #2563eb;
      border: 2px solid #2563eb;
    }
  </style>
</head>
<body>
  <h1>📊 AI Business Plan Generator</h1>
  <p class="subtitle">Generate a complete, investor-ready business plan in minutes</p>

  <div class="form-group">
    <label>Business Idea *</label>
    <textarea id="idea" placeholder="Describe your business idea. What problem does it solve? Who is it for?"></textarea>
  </div>

  <div class="form-group">
    <label>Industry</label>
    <input id="industry" type="text" placeholder="e.g. SaaS, E-commerce, Healthcare, Food & Beverage">
  </div>

  <div class="form-group">
    <label>Target Market</label>
    <input id="market" type="text" placeholder="e.g. small business owners, Gen Z consumers, enterprise HR teams">
  </div>

  <div class="form-group">
    <label>Revenue Model</label>
    <select id="model">
      <option value="">Select revenue model...</option>
      <option>SaaS subscription</option>
      <option>Transaction / marketplace fee</option>
      <option>One-time purchase</option>
      <option>Freemium with paid upgrades</option>
      <option>Advertising</option>
      <option>Service / consulting</option>
      <option>Physical product sales</option>
    </select>
  </div>

  <div class="form-group">
    <label>Current Traction (optional)</label>
    <input id="traction" type="text" placeholder="e.g. 200 beta users, $3k MRR, 500-person waitlist">
  </div>

  <div class="form-group">
    <label>Funding Goal (optional)</label>
    <input id="funding" type="text" placeholder="e.g. Raising $250k pre-seed, or Bootstrapped">
  </div>

  <button id="generateBtn" onclick="generatePlan()">🚀 Generate Business Plan</button>
  <p id="status"></p>

  <div id="output"></div>
  <div class="actions" id="actions" style="display:none">
    <button onclick="copyPlan()" class="btn-secondary">📋 Copy to Clipboard</button>
    <button onclick="downloadPlan()">⬇️ Download as Text</button>
  </div>

  <script>
    AiPass.initialize({
      clientId: 'YOUR_CLIENT_ID',
      requireLogin: true,
      darkMode: false
    });

    async function generatePlan() {
      const idea = document.getElementById('idea').value.trim();
      if (!idea) {
        alert('Please describe your business idea first.');
        return;
      }

      const btn = document.getElementById('generateBtn');
      const status = document.getElementById('status');
      const output = document.getElementById('output');

      btn.disabled = true;
      status.textContent = '⏳ Generating your business plan (30-60 seconds)...';
      output.style.display = 'none';
      document.getElementById('actions').style.display = 'none';

      const industry = document.getElementById('industry').value;
      const market = document.getElementById('market').value;
      const model = document.getElementById('model').value;
      const traction = document.getElementById('traction').value;
      const funding = document.getElementById('funding').value;

      const prompt = `Create a comprehensive, professional business plan for the following:

Business Idea: ${idea}
${industry ? `Industry: ${industry}` : ''}
${market ? `Target Market: ${market}` : ''}
${model ? `Revenue Model: ${model}` : ''}
${traction ? `Current Traction: ${traction}` : ''}
${funding ? `Funding Goal: ${funding}` : ''}

Include ALL of the following sections:
1. Executive Summary
2. Problem Statement
3. Solution & Value Proposition
4. Target Market & TAM/SAM/SOM
5. Competitive Analysis (3-5 competitors, key differentiators)
6. Business Model & Revenue Streams
7. Go-to-Market Strategy
8. Financial Projections (Year 1-3 milestones)
9. Team & Key Hires
10. Funding Ask & Use of Funds

Make it specific, compelling, and realistic. Format with clear headers for each section.`;

      try {
        const result = await AiPass.generateCompletion({
          model: 'gpt-5',
          temperature: 1,
          max_tokens: 16000,
          messages: [
            {
              role: 'system',
              content: 'You are an expert business consultant and startup advisor. You write clear, compelling, investor-ready business plans that are specific, realistic, and actionable.'
            },
            {
              role: 'user',
              content: prompt
            }
          ]
        });

        const plan = result.choices[0].message.content;
        output.textContent = plan;
        output.style.display = 'block';
        document.getElementById('actions').style.display = 'flex';
        status.textContent = '✅ Business plan generated! Review and customize below.';
      } catch (err) {
        status.textContent = '❌ Error generating plan: ' + err.message;
        console.error(err);
      }

      btn.disabled = false;
    }

    function copyPlan() {
      const text = document.getElementById('output').textContent;
      navigator.clipboard.writeText(text).then(() => alert('Copied to clipboard!'));
    }

    function downloadPlan() {
      const text = document.getElementById('output').textContent;
      const blob = new Blob([text], { type: 'text/plain' });
      const url = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = 'business-plan.txt';
      a.click();
    }
  </script>
</body>
</html>

Key SDK Parameters

Note the temperature: 1 and max_tokens: 16000 in the generateCompletion call — these are required for GPT-5:

const result = await AiPass.generateCompletion({
  model: 'gpt-5',
  temperature: 1,        // Required — GPT-5 rejects lower values
  max_tokens: 16000,     // Required — GPT-5 reasoning uses many tokens
  messages: [...]
});

The response is at result.choices[0].message.content.

Deployment Options

Option A — Self-Host

This is a single HTML file. Deploy it anywhere:

  • Drag and drop to Netlify Drop
  • Push to GitHub and enable Pages
  • Upload to any static hosting

Option B — Publish on AI Pass

  1. Go to Developer Dashboard → Apps
  2. Submit your app to the AI Pass catalog
  3. Users find it organically — you earn 50% commission on every plan they generate

The AI Pass catalog already has traffic. Publishing there means you monetize without running ads.

Embed Anywhere

Click the </> button at the bottom-right of your published app to get iframe embed code. Add it to your blog, website, or newsletter landing page.

Extend the App

Ideas to make it more powerful:

  • PDF export — use a library like jsPDF to create a downloadable PDF
  • Save & edit — localStorage to save and revise the plan
  • Section regeneration — let users regenerate individual sections they want to improve
  • Pitch deck mode — convert the plan into a 10-slide structure

Resources

Business plan generation is evergreen — people always need it. Build it once, publish it, and earn passively.

Related apps