InfraAI at the heart of your architecture A team of developers built InfraAI, a web-based platform that converts plain-English descriptions of systems into editable, collaborative architecture diagrams. The platform uses an AI layer to generate structured JSON graphs, real-time sync via Flask-SocketIO and Yjs CRDTs, and background processing with Celery and Redis to handle AI calls without blocking users. The team also implemented schema validation, tenant isolation, and minimal data sharing with AI providers to address security and accuracy concerns. If you've ever sat in a whiteboarding session watching an architecture diagram get drawn one shaky rectangle at a time, then watched that same diagram go stale the moment the sprint started — you already understand the problem InfraAI exists to solve. InfraAI is a web-based, AI-augmented platform that lets developers and system architects describe a system in plain English and get back an editable, collaborative, documented architecture diagram. Here's the breakdown of the real problems we identified, and the technical decisions we made to solve each one. auto-generated documentation. Problems • Manual diagramming is slow. • Collaboration is fragmented. • No real-time visibility into teammates' changes. • Documentation lags behind design. • Stakeholders don't understand the architecture. • Errors slip through before deployment. • Sensitive data risk with third-party AI. • AI latency blocks the app. • Media bloats the database. SOLUTIONS • AI layer converts prompts into structured JSON graphs on the canvas — prompt-to-output first, RAG added once validated. • Real-time sync via Flask-SocketIO: event deltas for normal edits, Yjs CRDTs for simultaneous edits — no server locks. • Presence indicators and live updates show who's active and what they're editing, as it happens. • The same AI service that builds the diagram documents it and explains it in plain language. • AI generates plain-language explanations of diagrams so non-technical stakeholders understand the design. • Every AI-generated graph is schema-validated before save/export; atomic transactions prevent data corruption. • Only minimal, architecture-scoped context is sent to the AI provider; zero-data-retention preferred, disclosed via ToS. • Celery + Redis push generation to background workers; users get an immediate response while the canvas shows a generating state. • Cloudinary stores images Postgres keeps only URLs ; a dedicated blueprint exports diagrams as PNG/PDF/JSON. How It's Built ● Schema: PostgreSQL + SQLAlchemy + Flask-Migrate — core models: User, Project, Architecture, ReferencePattern, ProjectPermission. ● Auth: Bcrypt + JWT, no server-side sessions; every query filters by the token's UUID for tenant isolation. ● API: Flask Blueprints per resource, modular monolith, JWT-verified routes. ● Real-time: Flask-SocketIO rooms + Yjs CRDTs; React Flow's onNodesChange wired to socket emissions. ● AI pipeline: Direct prompt-to-JSON first, RAG layered in later via the ReferencePattern table. ● Background jobs: Celery + Redis for AI calls, snapshots, and notifications. ● Media/export: Cloudinary + validation layer + PNG/PDF/JSON export blueprint. ● Ops: SendGrid/SMTP for alerts; Flask API, Socket.IO, and Celery run as separate Docker containers behind a reverse proxy; Postgres/Redis are managed services. Stack: React + Tailwind + React Flow · Flask modular monolith · PostgreSQL/SQLAlchemy · Flask-SocketIO + Yjs · Celery/Redis · Cloudinary · Bcrypt/JWT. DEMO ● Live website : https://infra-ai-delta.vercel.app https://infra-ai-delta.vercel.app ● Video Walkthrough : https://youtu.be/R-qCMSyUm-o https://youtu.be/R-qCMSyUm-o ● GitHub Respository : https://github.com/Ahmedsalim90/infraAI https://github.com/Ahmedsalim90/infraAI please do well to visit our website and send us a feedback, THANK YOU. BELOW ARE MY TEAMMATES @njilahkelly https://dev.to/njilahkelly @tchofo joel a37c8e3726f95 https://dev.to/tchofo joel a37c8e3726f95 @ngam nora 88c5fae73fe3657 https://dev.to/ngam nora 88c5fae73fe3657 @kate dev https://dev.to/kate dev @miranda abitazi 0c0ba278 https://dev.to/miranda abitazi 0c0ba278 @nalfredlandry se https://dev.to/nalfredlandry se @sirri rose 56fcb66ce576e8 https://dev.to/sirri rose 56fcb66ce576e8 @yann junior 659cd0500ef8e https://dev.to/yann junior 659cd0500ef8e @nabil youssouf 6c8f00b569 https://dev.to/nabil youssouf 6c8f00b569 @santos adjoint e9ce98d989 https://dev.to/santos adjoint e9ce98d989