jordanmeyer/browser-app-builder
Guide a student from local setup to a planned, tested browser app and GitHub Pages publication, with bundled Campus Designer styling.
Transform, group and summarize local tabular data with Arquero. Use when dashboard calculations need substantive table operations beyond simple array code.
Build or revise a self-contained browser app from a student's agreed PLAN.md, using the bundled Campus Designer for Duke styling. Use for implementation, preview, and fixes before evaluation.
Design or review Duke University-branded webpages, presentations, documents, and visual materials using official Duke guidance. Use for Duke brand application, not as authorization for a unit, athletics, or Duke Health identity.
Guide a student through GitHub onboarding and publish an evaluated browser app to its own GitHub Pages repository, then verify the exact deployed revision. Use for first publication or updates.
Build substantial local SQL data explorers using DuckDB-Wasm workers, real joins and aggregations, editable queries and table/chart results.
Build analytical charts for dashboards or interactive presentations using bundled Apache ECharts. Use when charts explain local data or model results.
Work with a student to test browser-app calculations, assumptions, and behavior against independent expected results, recording reproducible evidence tied to source history.
Build a task schedule with start/end dates, progress and dependencies using Frappe Gantt. Use for project scheduling views, not automatic resource optimization.
Build browser resource-allocation optimizers with HiGHS in a worker, explicit linear or integer constraints, feasibility checks and interpretable results.
Use jStat for browser statistical calculations with explicit assumptions and independently checked expected results. Use for a defined statistical need, not as proof that a model is valid.
Build geographic market comparisons with local GeoJSON, interactive Leaflet maps and linked rankings. Use for geographic analysis without remote map tiles or geocoding.
Build consistent React forms, controls and layouts with Mantine. Use when a React application needs a component library; avoid adding React just for a simple native form.
Render explanatory flowcharts or process diagrams from authored text with Mermaid. Use React Flow when users must drag nodes or edit connections directly.
Add purposeful interface animation with Motion to a browser app. Use for state transitions that aid understanding; avoid animation for its own sake.
Parse a visitor-selected local CSV or bundled CSV with Papa Parse. Use for quoted fields and CSV import workflows; not remote data fetching.
Interview a student and save an agreed, testable plan for a self-contained browser app. Use before building or when app scope or its calculation model changes.
Build editable process or decision diagrams with nodes and connections using React Flow. Use for direct manipulation; choose Mermaid for text-authored explanatory diagrams.
Create interactive analytical slide presentations with reveal.js, including local charts and scenario controls. Clarify whether live means local interactivity or unsupported external data updates.
Create reproducible local random streams for browser simulations using seedrandom. Use when repeating the same seed and inputs must reproduce an experiment.
Prepare a student's local browser-app project, Git history, and browser preview with agent-operated tools. Use for Browser App Builder setup or missing local prerequisites.
Build substantial interactive data tables with Tabulator for local dashboards, including sorting and filtering. Prefer native HTML tables for small read-only summaries.
Build interactive event timelines or interval roadmaps with local data using vis-timeline. Use Frappe Gantt for task dependency schedules.