# InfraAI at the heart of your architecture

> Source: <https://dev.to/lifoter_kayla/infraai-at-the-heart-of-your-architecture-3j24>
> Published: 2026-08-19 19:41:05+00:00

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)
