AutoGraph

AI-native infinite whiteboard for intelligent diagram generation, collaborative system design, and architecture visualization.

AutoGraph Banner


πŸš€ Overview

AutoGraph is an AI-assisted collaborative whiteboard that transforms natural language into interactive diagrams.

Users can:

Unlike traditional whiteboards, AutoGraph focuses on:


✨ Features

🧠 AI Diagram Generation

Generate diagrams from prompts.

Example:

Design a scalable chat application architecture

AutoGraph converts prompts into:


🎨 Infinite Canvas


πŸ”— Smart Connection Engine


⚑ Real-Time Collaboration

Multiple users can:


πŸ“Š Graph Layout Algorithms

Supports:


🧩 AI Editing

Example:

Add Redis cache between API and database

AutoGraph intelligently updates existing diagrams.


πŸ“€ Export System

Export diagrams as:


πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Frontend      β”‚
β”‚ React + TypeScript β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚
          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    Canvas Engine   β”‚
β”‚      tldraw        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚
          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    AI Processor    β”‚
β”‚ Gemini / OpenAI    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚
          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Structured JSON APIβ”‚
β”‚ FastAPI Backend    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚
          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Realtime Collaborationβ”‚
β”‚ Yjs + WebSockets   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

Layer Technology
Frontend React + TypeScript
Styling Tailwind CSS
Canvas Engine tldraw
Backend FastAPI
AI Layer Gemini / OpenAI
Realtime Yjs + WebSockets
Database PostgreSQL
State Management Zustand
Graph Layout dagre / elkjs
Deployment Vercel + Railway

πŸ“‚ Project Structure

autograph/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ canvas/
β”‚   β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ store/
β”‚   └── pages/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ ai/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ services/
β”‚   └── websocket/
β”‚
β”œβ”€β”€ shared/
β”‚   β”œβ”€β”€ schemas/
β”‚   └── types/
β”‚
β”œβ”€β”€ assets/
β”œβ”€β”€ docs/
└── README.md

βš™οΈ Installation

1️⃣ Clone Repository

git clone https://github.com/yourusername/autograph.git
cd autograph

2️⃣ Frontend Setup

cd frontend
npm install
npm run dev

3️⃣ Backend Setup

cd backend
pip install -r requirements.txt
uvicorn main:app --reload

πŸ”‘ Environment Variables

Create a .env file.

OPENAI_API_KEY=your_key
DATABASE_URL=your_database_url
WEBSOCKET_URL=your_websocket_url

🧠 Example AI Response Format

{
  "nodes": [
    {
      "id": "1",
      "type": "service",
      "label": "API Gateway",
      "x": 300,
      "y": 100
    }
  ],
  "edges": [
    {
      "source": "1",
      "target": "2"
    }
  ]
}

🎯 Roadmap

Phase 1

Phase 2

Phase 3

Phase 4


πŸ”₯ Future Ideas


πŸ§ͺ Example Prompts

Design a Netflix-like infrastructure
Generate a compiler pipeline flowchart
Create an authentication microservice architecture
Visualize a distributed caching system

🀝 Contributing

Contributions are welcome.

  1. Fork repository
  2. Create feature branch
  3. Commit changes
  4. Open pull request

πŸ“œ License

MIT License


🌟 Inspiration

Inspired by:


πŸ‘¨β€πŸ’» Author

Built by Animesh.


⭐ Support

If you like the project:


πŸš€ AutoGraph

Turning ideas into intelligent diagrams.