AI Workspace is a fullstack application that combines conversational AI, document understanding, and autonomous task execution into a single platform. It allows users to chat with AI, upload and query documents, and run intelligent agents to automate workflows.
This project is designed to demonstrate production-level engineering skills using modern AI tooling, scalable backend architecture, and high-performance components.
- Build a production-ready AI system, not just a demo
- Showcase fullstack engineering skills
- Implement Retrieval-Augmented Generation (RAG)
- Design agent-based workflows with tool usage
- Integrate high-performance components (Rust)
- Deploy a scalable, real-world application
- Streaming responses (real-time token rendering)
- Context-aware conversations (memory)
- Multi-session chat history
- Upload PDFs, Markdown, CSV, and code
- Semantic search over documents
- Source-grounded answers
- Multi-step task execution
- Tool usage (search, calculation, APIs)
- Example tasks:
- Summarize documents
- Research topics
- Generate structured outputs
- Project-based organization
- Isolated knowledge bases per workspace
ββββββββββββββββββββββββββββββ
β Frontend β
β (Nuxt 3) β
βββββββββββββ¬βββββββββββββββββ
β HTTP / WS
βββββββββββββΌβββββββββββββββββ
β API Layer (Nuxt) β
β (Server Routes / BFF) β
βββββββββββββ¬βββββββββββββββββ
β
βββββββββββββΌβββββββββββββ
β Backend β
β (FastAPI) β
βββββββββββββ¬βββββββββββββ€
β β
βββββββββΌβββββ βββββΌββββββββββββ
β LangChain β β Task Queue β
β Pipelines β β (Workers) β
βββββββββ¬βββββ ββββββ¬βββββββββββ
β β
βββββββββΌβββββββββββββββΌβββββββ
β Vector Database β
β (FAISS / Pinecone) β
βββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββ
β Rust Microservice β
β (Parsing / Chunking / β
β Embedding Preprocess) β
βββββββββββββββββββββββββββββββ
- Vue 3
- Nuxt 3 (SSR + server routes)
- TypeScript
- TailwindCSS
- Pinia (state management)
- Python (FastAPI)
- LangChain (LLM orchestration)
- Pydantic (data validation)
- OpenAI API or local LLMs
- Embeddings (OpenAI / Sentence Transformers)
- Vector DB: FAISS / Pinecone / Weaviate
- PostgreSQL (metadata storage)
- Redis (caching + queues)
- Celery / RQ (background jobs)
- Rust microservice
- Fast document parsing
- Chunking optimization
- Preprocessing pipelines
- Docker & Docker Compose
- Vercel / Node hosting (Nuxt)
- AWS / GCP (backend)
- Nginx (optional reverse proxy)
ai-workspace/
β
βββ apps/
β βββ web/ # Nuxt 3 frontend + server routes (BFF)
β βββ api/ # FastAPI backend
β
βββ services/
β βββ rag/ # RAG pipelines
β βββ agents/ # Agent orchestration
β βββ ingestion/ # File processing
β βββ tools/ # External integrations
β
βββ rust/
β βββ parser/ # Rust microservice
β
βββ infrastructure/
β βββ docker/
β βββ terraform/ # (optional)
β
βββ scripts/
β βββ seed_data.py
β βββ evals.py
β
βββ docs/
β βββ architecture.md
β βββ api.md
β
βββ .env.example
βββ docker-compose.yml
βββ README.md
git clone https://github.com/dimastriann/ai-workspace.git
cd ai-workspacecp .env.example .envOPENAI_API_KEY=
DATABASE_URL=
REDIS_URL=docker-compose up --buildcd apps/web
npm install
npm run devcd apps/api
pip install -r requirements.txt
uvicorn main:app --reloadcd rust/parser
cargo run- Upload file (via Nuxt frontend)
- Send to FastAPI backend
- Parse using Rust service
- Chunk text
- Generate embeddings
- Store in vector DB
- User sends query
- Nuxt server route (BFF) forwards request
- Backend embeds query
- Retrieve relevant chunks
- Pass context to LLM
- Stream response back to UI
- User submits task
- Backend agent plans steps
- Selects tools dynamically
- Executes multi-step workflow
- Streams result to frontend
Nuxt acts as a Backend-for-Frontend (BFF) layer:
- Handles API proxying
- Manages auth (future)
- Streams LLM responses
- Reduces direct exposure of backend services Example structure:
apps/web/server/api/
βββ chat.ts
βββ rag.ts
βββ agent.ts
- Deploy on Vercel or Node hosting
npm run build
npm run startdocker build -t ai-workspace-api .Deploy to:
- AWS ECS / EC2
- GCP Cloud Run
- PostgreSQL (RDS / Supabase)
- Redis (Upstash / Elasticache)
- Use secrets manager
- Never commit
.env
- Logging: structured logs
- Monitoring: Prometheus / Grafana
- Error tracking: Sentry
npm run testpytest- API rate limiting
- Input validation
- Secure file uploads
- Auth (JWT / OAuth planned)
- Chat + RAG MVP
- Basic UI (Nuxt)
- File upload
- Agent workflows
- Background jobs
- Streaming improvements
- Multi-user support
- Collaboration features
- Analytics dashboard
- Plugin system for tools
- Fine-tuned models
- Evaluation framework
- Multi-modal support (image/audio)
This project demonstrates:
- Fullstack system design (Vue + Python + Rust)
- LLM application architecture
- BFF pattern using Nuxt
- Performance optimization with Rust
- Real-world AI product thinking
- LangChain ecosystem
- OpenAI APIs
- Open-source vector databases
Email: dimastriannugraha@gmail.com
GitHub: https://github.com/dimastriann