# basuki-rahmat/global-hackathon architecture

> Architecture diagram of the GitHub repository basuki-rahmat/global-hackathon, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/basuki-rahmat/global-hackathon
- Repository: https://github.com/basuki-rahmat/global-hackathon

## Overview

OmniStaff AI is described as a proposed multi-agent workforce for UMKM operations, not as an implemented application: the repository tree contains only README.MD. The main workflow is an owner or customer interacting through the dashboard/chat/voice interface; backend APIs and AI agents interpret requests, use business tools for inventory, orders, or reporting, and return responses. The README also describes customer service, financial reporting, virtual employee status, and product-promotion image generation. Components and links below represent documented design, not verified source wiring.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User Experience"]
  node_dashboard["3D Office Dashboard"]
  node_chatvoice["Chat and Voice UI"]
  node_avatar["Virtual Employee Avatars"]
end

subgraph group_backend["API and Agents"]
  node_api["REST / WebSocket API"]
  node_controllers["API Controllers"]
  node_orchestrator["AI Orchestrator"]
  node_agents["Role Agents"]
  node_tools["Agent Tools"]
  node_voice["Voice Processing"]
  node_imagegen["Product Image Generation"]
end

subgraph group_business["Business Operations"]
  node_customers["Customer Service"]
  node_products["Products and Inventory"]
  node_orders["Orders and Transactions"]
  node_employees["Employee Status"]
  node_reports["Financial Reports"]
end

subgraph group_integrations["Data and AI"]
  node_mysql[("MySQL Business Data")]
  node_meta{{"Meta AI APIs"}}
end

node_owner(("UMKM Owner"))
node_customer(("Customer"))

node_owner -->|"uses"| node_dashboard
node_customer -->|"asks"| node_chatvoice
node_dashboard -->|"hosts"| node_chatvoice
node_dashboard -->|"shows status"| node_avatar
node_chatvoice -->|"sends requests"| node_api
node_api -->|"dispatches"| node_controllers
node_controllers -->|"invokes"| node_orchestrator
node_orchestrator -->|"selects"| node_agents
node_agents -->|"requests reasoning"| node_meta
node_agents -->|"invokes"| node_tools
node_tools -->|"queries"| node_mysql
node_tools -->|"checks stock"| node_products
node_tools -->|"creates orders"| node_orders
node_tools -->|"gets sales totals"| node_reports
node_controllers -->|"handles inquiries"| node_customers
node_controllers -->|"handles inventory"| node_products
node_controllers -->|"handles transactions"| node_orders
node_controllers -->|"generates reports"| node_reports
node_controllers -->|"updates status"| node_employees
node_chatvoice -->|"sends audio"| node_voice
node_voice -->|"submits text"| node_orchestrator
node_orchestrator -->|"returns response"| node_voice
node_voice -->|"returns speech or text"| node_chatvoice
node_controllers -->|"requests artwork"| node_imagegen
node_imagegen -.->|"requests generation"| node_meta

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dashboard,node_chatvoice,node_avatar toneBlue
class node_api,node_controllers,node_orchestrator,node_agents,node_tools,node_voice,node_imagegen toneAmber
class node_customers,node_products,node_orders,node_employees,node_reports toneMint
class node_mysql,node_meta toneRose
class node_owner,node_customer toneIndigo
```

## Components

### User Experience

- **3D Office Dashboard**
- **Chat and Voice UI**
- **Virtual Employee Avatars**

### API and Agents

- **REST / WebSocket API**
- **API Controllers**
- **AI Orchestrator**
- **Role Agents**
- **Agent Tools**
- **Voice Processing**
- **Product Image Generation**

### Business Operations

- **Customer Service**
- **Products and Inventory**
- **Orders and Transactions**
- **Employee Status**
- **Financial Reports**

### Data and AI

- **MySQL Business Data**
- **Meta AI APIs**

### Other components

- **UMKM Owner**
- **Customer**

## Connections

- UMKM Owner → 3D Office Dashboard: uses
- Customer → Chat and Voice UI: asks
- 3D Office Dashboard → Chat and Voice UI: hosts
- 3D Office Dashboard → Virtual Employee Avatars: shows status
- Chat and Voice UI → REST / WebSocket API: sends requests
- REST / WebSocket API → API Controllers: dispatches
- API Controllers → AI Orchestrator: invokes
- AI Orchestrator → Role Agents: selects
- Role Agents → Meta AI APIs: requests reasoning
- Role Agents → Agent Tools: invokes
- Agent Tools → MySQL Business Data: queries
- Agent Tools → Products and Inventory: checks stock
- Agent Tools → Orders and Transactions: creates orders
- Agent Tools → Financial Reports: gets sales totals
- API Controllers → Customer Service: handles inquiries
- API Controllers → Products and Inventory: handles inventory
- API Controllers → Orders and Transactions: handles transactions
- API Controllers → Financial Reports: generates reports
- API Controllers → Employee Status: updates status
- Chat and Voice UI → Voice Processing: sends audio
- Voice Processing → AI Orchestrator: submits text
- AI Orchestrator → Voice Processing: returns response
- Voice Processing → Chat and Voice UI: returns speech or text
- API Controllers → Product Image Generation: requests artwork
- Product Image Generation → Meta AI APIs: requests generation
