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 @tchofo_joel_a37c8e3726f95 @ngam_nora_88c5fae73fe3657 @kate_dev @miranda_abitazi_0c0ba278 @nalfredlandry_se @sirri_rose_56fcb66ce576e8 @yann_junior_659cd0500ef8e @nabil_youssouf_6c8f00b569 @santos_adjoint_e9ce98d989