System requirements
Minimum requirements
- Node.js: 18.0.0 or higher
- Python: 3.11.0 or higher
- npm: 10.8.2 or higher (included with Node.js)
- Memory: 4GB RAM minimum (8GB recommended for large simulations)
- Storage: 500MB for dependencies and virtual environment
Supported platforms
- macOS 11+ (Big Sur and later)
- Ubuntu 20.04+ / Debian 11+
- Windows 10/11 with WSL2 (recommended) or native
Installing Node.js components
Verify Node.js installation
Check that you have Node.js 18+ installed:If you need to install or update Node.js:
Install dependencies
The project uses npm workspaces to manage the monorepo:This installs all dependencies for:
- Root workspace (Turborepo, TypeScript)
apps/web(Next.js frontend)apps/api(Express backend)
The
package.json specifies "packageManager": "[email protected]" to ensure consistency.Installing Python simulation engine
The Python simulation engine is responsible for running Monte Carlo simulations with NumPy and multiprocessing.Create virtual environment
Navigate to the simulation directory and create a virtual environment:
Using a virtual environment isolates Python dependencies and prevents conflicts with system packages.
Install Python dependencies
Install all required packages from This installs:
requirements.txt:- numpy (>=1.24.0) - Vectorized array operations
- pandas (>=2.0.0) - Data manipulation
- pydantic (>=2.0.0) - Data validation
- openai (>=1.0.0) - Goal parsing with GPT
- python-dotenv (>=1.0.0) - Environment variable loading
Environment configuration
Configure banking API credentials
Choose either Nessie (sandbox) or Plaid (production):Option A: Nessie (Capital One sandbox)Get a Nessie API key at https://api.nessieisreal.com/Option B: Plaid (production banking)Sign up for Plaid at https://plaid.com/
.env
.env
Configure AI services (optional)
For natural language goal parsing:For voice narration of results:
.env
.env
AI services are optional. Without API keys, Drift falls back to template-based goal parsing.
Building for production
Build all packages
- API: TypeScript to JavaScript in
apps/api/dist/ - Web: Next.js production build in
apps/web/.next/
Development workflow
Running services independently
During development, you may want to run services separately:Seeding test data
Populate the Nessie sandbox with test data:scripts/seed-nessie.ts to create sample customers, accounts, and transactions.
Running Python scripts
Always activate the virtual environment before running Python code:Package overview
Root workspace
package.json
API server (apps/api)
Key dependencies:- express - HTTP server framework
- cors - Cross-origin resource sharing
- @google/generative-ai - Gemini API client
- openai - OpenAI API client
- plaid - Plaid banking API
- elevenlabs - Text-to-speech API
- tsx - TypeScript execution for development
Web app (apps/web)
Key dependencies:- next - React framework
- react-plaid-link - Plaid Link component
- recharts - Data visualization
- @react-three/fiber - 3D graphics with Three.js
- tailwindcss - Utility-first CSS
- lucide-react - Icon library
Troubleshooting
Node.js issues
Error:Cannot find module
Run npm install again to ensure all dependencies are installed.
Error: EACCES: permission denied
Don’t use sudo with npm. Fix permissions:
Python issues
Error:ModuleNotFoundError: No module named 'numpy'
Ensure the virtual environment is activated and dependencies are installed:
numpy compilation fails
Install build tools:
Port conflicts
If ports 3000 or 3001 are already in use:API key errors
Error:NESSIE_API_KEY not found
Ensure:
.envfile exists in project root (not in subdirectories)- API key is valid and not expired
- No extra spaces around the
=sign - Restart dev servers after adding environment variables
Next steps
Run your first simulation
Follow the quickstart guide to test your installation
API reference
Explore available endpoints and parameters
Architecture guide
Understand how components interact
Goal Parsing
Learn about natural language goal parsing