Skip to content

jordanmeyer/browser-app-builder

v0.2.3

Guide a student from local setup to a planned, tested browser app and GitHub Pages publication, with bundled Campus Designer styling.

What this package declares

The file a client reads when it loads this plugin, exactly as this revision carries it.

plugin.json
{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "browser-app-builder",
  "version": "0.2.3",
  "description": "Guide a student from local setup to a planned, tested browser app and GitHub Pages publication, with bundled Campus Designer styling.",
  "author": {
    "name": "Jordan Meyer"
  },
  "homepage": "https://jordanmeyer.github.io/decision-999/plugins/browser-app-builder/",
  "repository": "https://github.com/jordanmeyer/decision-999",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Browser App Builder",
        "shortDescription": "Plan, build, evaluate, and publish a browser app. No coding experience is required.",
        "longDescription": "Turn a problem you understand into a self-contained browser application, with a saved plan, local revision history, calculation evidence, and GitHub Pages publication. Your agent handles the files and commands; you make the product and model decisions. Five workflow skills select from sixteen approved library skills for charts, diagrams, timelines, schedules, tables, React controls, slides, animation, CSV, data transformation, statistics, and reproducible randomness. Library apps use an agent-managed Node/npm/Vite build; simple apps can still use native browser features without Node. Bundled Campus Designer guidance and library-specific themes provide consistent Duke colors and typography. Examples include independently reviewed library applications and earlier version 0.1.1 plain-app trials built through simulated planning with synthetic data. Tournament Atlas responds to a real user request using historical tournament results, original FiveThirtyEight forecasts, and clearly labeled later-year reconstructions. Local mapping, bounded SQL exploration and worker-based optimization are approved for the reviewed configurations.",
        "developerName": "Jordan Meyer",
        "category": "Development",
        "defaultPrompt": [
          "Use setup-browser-app to prepare this folder.",
          "Use plan-browser-app to help me plan a pricing scenario calculator.",
          "Use build-browser-app to implement the agreed PLAN.md.",
          "Use evaluate-browser-app to check the calculations with me and record the evidence.",
          "Use deploy-browser-app to help me publish the evaluated app on GitHub Pages.",
          "Help me plan an interactive analytical presentation with local pricing scenarios.",
          "Help me plan an editable process diagram.",
          "Help me plan a dashboard that imports a local synthetic CSV."
        ],
        "screenshots": []
      }
    },
    "io.github.jordanmeyer": {
      "label": "Pilot candidate · Instructor-built",
      "audience": "MBA students building a self-contained decision tool, dashboard, or simulation with an agent.",
      "results": [
        {
          "value": "16",
          "label": "Approved library recipes exercised locally"
        },
        {
          "value": "285",
          "label": "Passing browser checks across nine revised examples"
        },
        {
          "value": "3 of 3",
          "label": "Earlier plain-app trials published and verified live"
        },
        {
          "value": "9 of 9",
          "label": "Revised apps independently reviewed and verified live"
        }
      ],
      "method": "Nine original applications were built from recorded simulated planning conversations on a configured Mac, then revised against the 0.2.3 guidance. Three developers worked in parallel; independent review checked models, useful default scenarios, interaction and production output before publication. The revised browser suites total 285 passing checks. Exact-commit GitHub Actions deployments and live known-answer interactions were verified for all nine, including returning-browser reloads. Revisions added clearer decision tradeoffs, consistent local typography, accessible alternatives to dense widgets, explicit pending states and public build stories. Review caught stale restored controls, chart and table layout issues, rank explanations and presentation initialization timing. Original campaign evidence and the earlier 0.1.1 plain-app trials remain separate historical records. These are maintainer-run simulations, not student outcomes or automatic ChatGPT Work routing trials. The evidence record preserves source checkpoints, failures, corrections, review verdicts and deployment results. Tournament Atlas is a separate example from a real user request, with historical results and 83 original FiveThirtyEight snapshots across the seven played tournaments from 2016–2023. Its 2024–2026 probabilities are separately labeled T-Rank/log5 reconstructions from frozen pre-tournament ratings; 2020 is an explicit cancellation. Its 80 data/model/replay checks, independent comparison reviews, reproduction checks and browser observations are recorded separately from the nine-example totals.",
      "limits": "Self-contained apps use bundled public/synthetic data or locally selected files. No backends, logins, external runtime APIs, remote AI, analytics, secret keys or remote fonts/scripts. Managed builds require compatible Node/npm and host file, shell and browser capabilities. Library approval covers the recorded versions/configurations, not arbitrary combinations. Work routing, clean-machine macOS/Windows and novice-student usability remain unverified. Browser checks do not certify a business model or full accessibility.",
      "screenshotAlt": [],
      "examples": [
        {
          "label": "Stillwater Coffee",
          "url": "https://jordanmeyer.github.io/bab-example-executive/",
          "problem": "Where is operating margin slipping?",
          "lesson": "Separate sales growth from contribution, then inspect store costs and evidence in the board briefing.",
          "libraries": "Mantine · ECharts",
          "preview": "gallery/executive.jpg",
          "previewAlt": "Stillwater Coffee: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/executive.md"
        },
        {
          "label": "Common Goods",
          "url": "https://jordanmeyer.github.io/bab-example-uploads/",
          "problem": "Which sales are lost to returns?",
          "lesson": "Follow a gross-sales lead erased by returns, then compare sales cohorts and product–channel combinations.",
          "libraries": "Papa Parse · Arquero · ECharts",
          "preview": "gallery/uploads.jpg",
          "previewAlt": "Common Goods: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/uploads.md"
        },
        {
          "label": "Seasonal order lab",
          "url": "https://jordanmeyer.github.io/bab-example-simulator/",
          "problem": "How much stock should we risk?",
          "lesson": "Compare the expected-profit curve with a binding downside limit and see why the preferred order quantity changes.",
          "libraries": "jStat · seedrandom · ECharts",
          "preview": "gallery/simulator.jpg",
          "previewAlt": "Seasonal order lab: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/simulator.md"
        },
        {
          "label": "Approval Studio",
          "url": "https://jordanmeyer.github.io/bab-example-process/",
          "problem": "Does a shorter route fix the bottleneck?",
          "lesson": "Change approval routing and compare nominal time with the workload that keeps Finance over capacity.",
          "libraries": "React Flow",
          "preview": "gallery/process.jpg",
          "previewAlt": "Approval Studio: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/process.md"
        },
        {
          "label": "Launch Ledger",
          "url": "https://jordanmeyer.github.io/bab-example-roadmap/",
          "problem": "Can the team deliver the promised date?",
          "lesson": "Separate dependency dates from team capacity; test delays, resource overload and zero-duration milestones.",
          "libraries": "Frappe Gantt",
          "preview": "gallery/roadmap.jpg",
          "previewAlt": "Launch Ledger: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/roadmap.md"
        },
        {
          "label": "Replenish",
          "url": "https://jordanmeyer.github.io/bab-example-markets/",
          "problem": "What changes a market shortlist?",
          "lesson": "Inspect how eligibility rules and weighted scores alter the shortlist, then challenge the ranking with sensitivity checks.",
          "libraries": "Leaflet",
          "preview": "gallery/markets.jpg",
          "previewAlt": "Replenish: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/markets.md"
        },
        {
          "label": "Fulfillment Lab",
          "url": "https://jordanmeyer.github.io/bab-example-sql/",
          "problem": "Where does a join change the answer?",
          "lesson": "Start with simple SQL on 2,400 orders, then trace how shipment events can double-count order value.",
          "libraries": "DuckDB-Wasm · ECharts",
          "preview": "gallery/sql.jpg",
          "previewAlt": "Fulfillment Lab: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/sql.md"
        },
        {
          "label": "Batch & Balance",
          "url": "https://jordanmeyer.github.io/bab-example-optimizer/",
          "problem": "Which extra capacity is worth buying?",
          "lesson": "Re-solve whole-batch production with an extra hour, then compare integer choices with a fractional bound.",
          "libraries": "HiGHS",
          "preview": "gallery/optimizer.jpg",
          "previewAlt": "Batch & Balance: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/optimizer.md"
        },
        {
          "label": "Desk / Day",
          "url": "https://jordanmeyer.github.io/bab-example-presentation/",
          "problem": "Should the board launch, pilot or defer?",
          "lesson": "Change demand during the presentation and compare base profit, stress losses and the funding commitment.",
          "libraries": "reveal.js",
          "preview": "gallery/presentation.jpg",
          "previewAlt": "Desk / Day: revised live application, October 9, 2026",
          "walkthrough": "https://github.com/jordanmeyer/decision-999/blob/main/evidence/browser-app-builder/gallery/presentation.md"
        },
        {
          "label": "Tournament Atlas",
          "url": "https://jordanmeyer.github.io/bab-example-madness/",
          "problem": "How does a favorite become a champion?",
          "lesson": "Explore men’s tournament brackets from 2016–2026, separating original FiveThirtyEight forecasts through 2023 from T-Rank/log5 reconstructions for 2024–2026 and actual results.",
          "libraries": "ECharts",
          "preview": "madness/2026-10-10/design-review/desktop.jpg",
          "previewAlt": "Tournament Atlas: centered 2023 bracket with printed team names, calendar round bands and ranked title chances; verified production preview, October 10, 2026",
          "walkthrough": "https://jordanmeyer.github.io/bab-example-madness/build-story.html"
        },
        {
          "label": "Pricing calculator · original 0.1.1 trial",
          "url": "https://jordanmeyer.github.io/bab-trial-pricing-2026-10-08/"
        },
        {
          "label": "Inventory simulation · original 0.1.1 trial",
          "url": "https://jordanmeyer.github.io/bab-trial-inventory-2026-10-08/"
        },
        {
          "label": "Sales dashboard · original 0.1.1 trial",
          "url": "https://jordanmeyer.github.io/bab-trial-sales-2026-10-08/"
        }
      ]
    }
  }
}

What else this package ships

These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.

  • 2text files
  • 3fonts
  • 3images
  • 2other files
View on GitHub

Client extensions

Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.

  • com.openai
  • io.github.jordanmeyer