BrainArray
BrainArray is an AI-powered decision analysis tool that transforms complex choices into interactive probability trees. Users describe a decision or scenario, and the application leverages Google Gemini to generate a multi-level branching visualization of potential outcomes with associated probabilities.
Currently, the high-performance compute is heavily abstracted and not a part of the core logic. However, a main point of future improvement is HPC integration to have Monte-Carlo simulations for risk analysis and other complex decision analysis tasks.
System Architecture
The application follows a client-server architecture with Auth0 handling authentication and Gemini providing AI inference for decision tree generation.
graph TD
Client[React Frontend] -->|REST/HTTP| API[Express API Server]
Client -->|OAuth 2.0| Auth0[Auth0]
Auth0 -->|JWT Validation| API
API -->|Store/Retrieve Trees| DB[(MongoDB Atlas)]
API -->|Generate Tree| Gemini[Google Gemini API]
subgraph "Frontend Layer"
Client -->|Render| Tree[Decision Tree Visualizer]
Client -->|Animate| Motion[Framer Motion]
end
subgraph "AI Inference"
Gemini -->|JSON Response| API
end
Features
- AI-Generated Decision Trees: Describe any decision scenario and receive a structured probability tree with multiple outcome branches
- Interactive Visualization: Pan, zoom, and explore decision trees with smooth animations
- Persistent Storage: Save and revisit previous decision analyses
- Secure Authentication: Auth0 integration for user management and protected API routes
Challenges
- Getting the Auth0 set up properly so that it consistently worked and connected with the MongoDB database
- Connecting the elements in the decision tree (we used a very simple workaround, and thus it does not look like a normal decision tree would and it is very messy, which is something for us to fix for later)
- Making sure the LLM gave correct outputs consistently
- Confirming the UI/UX was up to par and intuitive to use
Built With
- auth0
- express.js
- gemini
- javascript
- mongodb
- react
- tailwind
- vite

Log in or sign up for Devpost to join the conversation.