Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Software Engineer Assistant

An intelligent AI-powered coding workspace that understands repositories, explains code, answers architectural questions, generates tests, detects bugs, and assists developers with deep codebase intelligence.

Think: GitHub Copilot + Codebase Chat + AI Engineering Workspace.


πŸš€ Features

Core Features

  • Repository ingestion and indexing
  • AI-powered codebase chat
  • Semantic code search
  • AST-aware code chunking
  • Streaming AI responses
  • Repository-aware question answering
  • Authentication and user workspaces
  • Persistent chat history

Advanced Features

  • Unit test generation
  • Bug detection and fix suggestions
  • Architecture diagram generation
  • Dependency graph visualization
  • Multi-language repository support
  • Intelligent code explanations
  • PR review assistance
  • Symbol-aware retrieval

🧠 Why This Project Matters

This project demonstrates:

  • AI Engineering
  • Retrieval-Augmented Generation (RAG)
  • Vector Databases
  • Backend Architecture
  • Developer Tooling
  • Distributed Systems Thinking
  • Modern Full-Stack Engineering
  • Production AI Systems

It is designed as a flagship portfolio project for software engineering and AI engineering roles.


πŸ—οΈ System Architecture

                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚   Next.js UI    β”‚
                        β”‚ React Frontend  β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                           HTTPS/API
                                 β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚       FastAPI API       β”‚
                    β”‚ AI Orchestration Layer  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚       β”‚
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       └────────────┐
               β”‚                                 β”‚
       β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚ PostgreSQL     β”‚              β”‚ Redis Cache     β”‚
       β”‚ chats/users    β”‚              β”‚ sessions/cache  β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β”‚ Vector Database (Qdrant)       β”‚
               β”‚ embeddings + semantic search   β”‚
               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

                            β”‚
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚ Repo Ingestion  β”‚
                   β”‚ Git + Parsers   β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”‚ AST + Embedding     β”‚
                 β”‚ Processing Pipeline β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

βš™οΈ Tech Stack

Backend

  • FastAPI
  • Python
  • PostgreSQL
  • Redis
  • Celery / Background Workers
  • Docker

AI & Retrieval

  • OpenAI / Local LLMs
  • Qdrant / Pinecone
  • Embeddings
  • RAG Pipelines
  • AST Parsing
  • Tree-sitter

Frontend

  • Next.js
  • React
  • TailwindCSS
  • TypeScript

Deployment

  • Docker
  • Vercel
  • Railway / Render / Fly.io

πŸ“ Project Structure

ai-software-engineer-assistant/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ ingestion/
β”‚   β”œβ”€β”€ parsers/
β”‚   β”œβ”€β”€ embeddings/
β”‚   β”œβ”€β”€ rag/
β”‚   β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ workers/
β”‚   β”œβ”€β”€ models/
β”‚   └── main.py
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ lib/
β”‚   └── styles/
β”‚
β”œβ”€β”€ docker/
β”œβ”€β”€ infra/
β”œβ”€β”€ scripts/
β”œβ”€β”€ docs/
└── README.md

πŸ”₯ MVP Goals

Version 1

  • Upload/index repositories
  • Ask questions about code
  • Semantic search
  • Streaming chat responses
  • File-aware citations
  • Authentication
  • Persistent workspaces

🧩 Future Roadmap

Version 2

  • Test generation
  • AI code fixes
  • PR review assistant
  • Architecture graph generation

Version 3

  • Multi-repository understanding
  • Autonomous coding agents
  • Team collaboration
  • IDE integration

🧠 How It Works

1. Repository Ingestion

The system clones repositories and parses files while ignoring unnecessary directories such as:

  • node_modules
  • build/
  • dist/
  • binaries
  • .git/

2. Intelligent Chunking

Instead of splitting files arbitrarily, the assistant uses:

  • AST parsing
  • Function-level chunking
  • Class-level chunking
  • Symbol-aware extraction

This dramatically improves retrieval quality.


3. Embedding Pipeline

Each chunk is embedded using modern embedding models and stored inside a vector database.

Metadata stored:

  • file path
  • language
  • symbols
  • repository
  • function names

4. Retrieval-Augmented Generation (RAG)

When a user asks a question:

  1. Query embedding is generated
  2. Relevant chunks are retrieved
  3. Context is reranked
  4. LLM generates repository-aware answers
  5. Streaming response is returned to frontend

πŸ”’ Authentication

Supports:

  • JWT Authentication
  • OAuth (GitHub planned)
  • Workspace isolation
  • Session management

⚑ Streaming Responses

The platform uses:

  • FastAPI StreamingResponse
  • Server-Sent Events (SSE)

to provide real-time AI responses similar to ChatGPT and Cursor.


πŸ“Š Planned AI Capabilities

  • Explain code
  • Detect bugs
  • Generate unit tests
  • Refactor suggestions
  • Security analysis
  • Architecture visualization
  • Dependency analysis
  • AI pair programming

🐳 Running Locally

Clone Repository

git clone https://github.com/your-username/ai-software-engineer-assistant.git
cd ai-software-engineer-assistant

Backend Setup

cd backend

python -m venv venv
source venv/bin/activate

pip install -r requirements.txt

uvicorn main:app --reload

Frontend Setup

cd frontend

npm install
npm run dev

Docker

docker-compose up --build

πŸ§ͺ Example Questions

  • "How does authentication work?"
  • "Explain the repository architecture."
  • "Generate tests for the payment service."
  • "Find potential bugs in the auth module."
  • "Which services depend on Redis?"
  • "Show me API flow for user login."

πŸ“ˆ Engineering Highlights

This project showcases:

  • Advanced RAG systems
  • AI infrastructure engineering
  • Semantic retrieval systems
  • Backend API design
  • Full-stack development
  • Streaming systems
  • Distributed architecture
  • Developer tooling engineering

🎯 Ideal Use Cases

  • AI pair programming
  • Large repository understanding
  • Developer onboarding
  • Technical documentation
  • Code review assistance
  • Engineering productivity

πŸ› οΈ Planned Integrations

  • GitHub
  • GitLab
  • Bitbucket
  • VSCode Extension
  • Slack
  • CI/CD pipelines

πŸ“œ License

MIT License


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

Built as a flagship AI engineering project focused on modern developer tooling and intelligent code understanding systems.

About

AI Software Engineer Assistant is an intelligent AI-powered coding workspace that understands software repositories using RAG, embeddings, AST parsing, and semantic retrieval. It enables developers to chat with codebases, explain architecture, generate tests, detect bugs, and accelerate engineering workflows through repository-aware AI assistance.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages