Immersive 3D data dashboards with React Three Fiber, instanced meshes, and force-directed graphs
The 3D Data Visualization & Analytics framework gives data engineers, frontend developers, and analytics teams the AI prompt system to build the next generation of data dashboards — ones that live in 3D space rather than flat SVG charts. Built on React Three Fiber with D3 for data processing and instanced meshes for GPU-efficient rendering, every prompt is engineered around the specific challenges of data visualization in WebGL: encoding data as geometry, handling 100K+ data points without frame drops, building interactive exploration with raycasting, and streaming real-time data updates to live meshes. This is the framework for teams who want their analytics to be as impressive as their data.
Full Access Unlocked
All 44 prompts · All 5 modules
"The instanced bar chart prompt rendered 8,000 portfolio positions at 60fps on the first try. The per..."
Head of Data Engineering · Fintech, $2B AUM platform
Need expert implementation?
Hire an OrchestratorConnect with a certified Prompt.Doctor Orchestrator to deploy this framework for you.
No coding required. You will use ChatGPT or Claude as your AI tool. Follow these steps in order — do not skip ahead.
Purchase & download the framework
Click the buy button on this page. After checkout, go to the and hit Download .zip. Unzip it — you'll get a .md file (the full framework) and a .pdf (easy to read reference). Keep both open.
Open your project — new or existing
This dashboard is designed to integrate into any existing project or be built as a standalone app. If you already have a site in Airo (or Cursor, Bolt, etc.), open that project. If you're starting fresh, create a new project. The Orchestrator Prompt handles both cases — it scans what's already there and adds only what's missing.
Paste the Orchestrator Prompt into your builder's chat
Open the on this page. Copy the Orchestrator Prompt and paste it into your AI builder's chat. It will scaffold the full admin system — secure login, email marketing module, booking engine, and CMS — on top of your existing codebase. This takes 2–5 minutes.
Add your API keys as secrets
Critical — Novice UsersIn your builder, go to Settings → Secrets and add the keys your app needs. For this framework: STRIPE_SECRET_KEY (for booking payments — get it from your Stripe dashboard), ANTHROPIC_API_KEY (for AI-assisted content — get it from console.anthropic.com), and DATABASE_URL (your MySQL connection string). No key is needed for the admin login, CMS, or email modules — those run on your existing infrastructure.
Don't have a MySQL server?
You can purchase a shared hosting plan with cPanel and MySQL at host.esgwon.dev. Once your account is set up, follow the step-by-step guide to create your database and connect it to your AI website builder.
How to set up cPanel MySQL & connect to your AI website →Need help with Stripe?
Get your STRIPE_SECRET_KEY and STRIPE_PUBLISHABLE_KEY from your Stripe dashboard. The guide covers test keys, webhook setup, and going live.
Need help with Anthropic?
Get your ANTHROPIC_API_KEY from console.anthropic.com. The guide covers model selection, cost management, and troubleshooting.
Prompting Airo after setup — always name the file
When asking Airo to add tables, columns, or features to the admin dashboard, always include src/server/lib/admin-db.ts in your prompt. Without it, Airo may target the wrong database. Example: "Add a bookings table in the admin database (src/server/lib/admin-db.ts) — do not touch any other database connection in this project."
Run the framework prompts inside your live app
Your app is now running in the builder's preview panel. Open the on this page, copy each prompt one at a time, and paste it into your builder's chat. Replace every [BRACKET] with your real data before sending. Work through the stages in order — each stage output feeds the next.
Test end-to-end, then publish or hand off to your client
Walk through the admin as a real user: log in, create a booking, send a test email campaign, update a CMS image, and run the Safe-to-Publish gate. Once everything passes, click Publish in your builder. Because this is a white-label dashboard, your client accesses it at /admin on their own domain — no Prompt.Doctor branding, no third-party login required.
5 modules · 44 prompts · 5 workflow stages
Instanced Data Rendering
InstancedMesh setup for point clouds and bar charts, per-instance color via InstancedBufferAttribute, dynamic instance count updates, and LOD for large datasets
10 prompts3D Chart Types
Animated 3D bar charts with spring entry, scatter plot with color/size encoding, surface plot from 2D data grid, and treemap with extruded geometry
10 promptsForce-Directed Graph
D3-force simulation in a Web Worker, R3F rendering of nodes and edges, spring-animated layout convergence, and cluster/group coloring
9 promptsReal-Time Streaming
WebSocket data ingestion, ring buffer for time-series data, live InstancedMesh position updates, and smooth interpolation between data states
9 promptsInteraction & Exploration
Raycasting tooltip with data payload, camera fly-to on node click, orbit controls with focus, and data filter/highlight system
6 promptsWrite a React Three Fiber component that renders an animated 3D bar chart using InstancedMesh for a dataset of up to 10,000 bars. Requirements: (1) Accept a prop data: Array<{ id: string, value: number, category: string }> and a colorScale: (category: string) => string function. (2) Use a single InstancedMesh with BoxGeometry(1, 1, 1) — scale each instance on Y to represent value, normalized to a max height of 5 units. Position instances in a grid layout with 0.1 gap. (3) Per-instance color: use InstancedBufferAttribute with a Float32Array of RGB values derived from colorScale. Set mesh.instanceColor to this attribute. (4) Entry animation: on mount and on data change, use useFrame with a spring-like lerp (factor 0.08) to animate each bar's Y scale from 0 to its target value. Store target scales in a useRef Float32Array. (5) Hover interaction: use a Raycaster in useFrame to detect the hovered instance index. On hover, brighten that instance's color by multiplying RGB by 1.3. Show a Drei Html tooltip with the data point's id, value, and category. (6) Export as BarChart3D. Full TypeScript with proper R3F types.
Write a React Three Fiber force-directed 3D graph component. Requirements: (1) Accept props: nodes: Array<{ id: string, group: number, label: string }> and links: Array<{ source: string, target: string, strength: number }>. (2) Run D3-force simulation in a Web Worker: use forceSimulation with forceLink (distance 30), forceManyBody (strength -80), forceCenter, and a custom forceZ that adds a Z-axis component (use forceZ = alpha => nodes.forEach(n => n.vz -= n.z * alpha * 0.1)). Post node positions to main thread every 16ms. (3) In the main thread, receive positions and update a useRef positions object. In useFrame, lerp each node mesh position toward its target with factor 0.1. (4) Render nodes as SphereGeometry(0.3) with MeshStandardMaterial colored by group (use a D3 categorical color scale mapped to Three.js Color). Render edges as Line2 (from @react-three/drei) connecting source and target node positions. (5) On node click: camera fly-to animation — lerp camera.position toward node.position + [0, 0, 5] over 60 frames. (6) Label each node with Drei Text (fontSize 0.2, always face camera via billboarding). Full TypeScript.
system
19 prompts
templates
10 prompts
workflow
9 prompts
prompts
6 prompts
"The instanced bar chart prompt rendered 8,000 portfolio positions at 60fps on the first try. The per-instance color via InstancedBufferAttribute — not separate meshes — is the pattern that makes large-scale 3D data visualization actually viable."
Head of Data Engineering
Fintech, $2B AUM platform
"The force-directed 3D graph with Web Worker D3 simulation is exactly the architecture we needed for our protein interaction networks. Running the simulation off the main thread — so the 3D rendering never stutters — is the key insight."
Research Engineer
Genomics visualization lab
All 44 prompts across 5 modules are unlocked for your account.
Lifetime access