An open source, privacy-focused AI workspace for construction teams β and a full alternative to Google Notebook LM!
Join our Discord server for help, to share workflow ideas, and suggest features!
Checkout our website Β»
π Get Started
Β·
π User Guide
Β·
β¨ Features
Β·
π Deploy
In a world dominated by Artificial Intelligence, having the ability to think π§ and acquire new knowledge π‘, is a skill that should not be a privilege for a few, nor restricted to a single provider.
Construction OS empowers you to:
- π Control your data - Keep bids, specs, and research private and secure
- π€ Choose your AI models - Support for 18+ providers including OpenAI, Anthropic, Ollama, LM Studio, and more
- π Organize with Projects - Scope each bid, RFQ, or job folder with sources, notes, and chat
- βοΈ Run Artifacts - Extract bid scopes, takeoffs, schedule milestones, and compliance checklists from documents
- π§ Attach Skills & Tools - Bring domain expertise and MCP integrations into project chat
- π Ingest multi-modal content - PDFs, plans, RFQs, videos, audio, web pages, and more
- ποΈ Generate professional podcasts - Advanced multi-speaker podcast generation
- π Search intelligently - Full-text and vector search across all your content
- π¬ Chat with context - AI conversations powered by your project materials
- π Multi-language UI - English, Portuguese, Chinese (Simplified & Traditional), Japanese, Russian, and Bengali support
Construction OS extends the Notebook LM research model for the field:
| Concept | What it does in construction |
|---|---|
| Projects | One container per bid, job, or research effort (specs, submittals, meeting notes) |
| Sources | Plans, RFQs, contracts, code references, and site photos |
| Artifacts | Repeatable extractions β bid scope summaries, quantity takeoffs, RFQ requirements, safety checklists |
| Skills | Reusable prompt packs you attach to chat (estimating, spec review, scheduling) |
| Tools (MCP) | Connect external systems (issue trackers, estimating tools, document stores) during chat |
Learn more about our project at https://www.construction-os.ai
| Feature | Construction OS | Google Notebook LM | Advantage |
|---|---|---|---|
| Privacy & Control | Self-hosted, your data | Google cloud only | Complete data sovereignty |
| AI Provider Choice | 18+ providers (OpenAI, Anthropic, Ollama, LM Studio, etc.) | Google models only | Flexibility and cost optimization |
| Podcast Speakers | 1-4 speakers with custom profiles | 2 speakers only | Extreme flexibility |
| Content Artifacts | Custom and built-in | Limited options | Unlimited processing power |
| API Access | Full REST API | No API | Complete automation |
| Deployment | Docker, cloud, or local | Google hosted only | Deploy anywhere |
| Citations | Basic references (will improve) | Comprehensive with sources | Research integrity |
| Customization | Open source, fully customizable | Closed system | Unlimited extensibility |
| Cost | Pay only for AI usage | Free tier + Monthly subscription | Transparent and controllable |
Why Choose Construction OS?
- π Privacy First: Your sensitive research stays completely private
- π° Cost Control: Choose cheaper AI providers or run locally with Ollama
- ποΈ Better Podcasts: Full script control and multi-speaker flexibility vs limited 2-speaker deep-dive format
- π§ Unlimited Customization: Modify, extend, and integrate as needed
- π No Vendor Lock-in: Switch providers, deploy anywhere, own your data
- Docker Desktop installed
- That's it! (API keys configured later in the UI)
Option A: Download directly
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/construction-os/main/docker-compose.ymlOption B: Create the file manually
Copy this into a new file called docker-compose.yml:
services:
surrealdb:
image: surrealdb/surrealdb:v2
command: start --log info --user root --pass root rocksdb:/mydata/mydatabase.db
user: root
ports:
- "8000:8000"
volumes:
- ./surreal_data:/mydata
restart: always
construction_os:
image: lfnovo/construction-os:v1-latest
ports:
- "8502:8502"
- "5055:5055"
environment:
- CONSTRUCTION_OS_ENCRYPTION_KEY=change-me-to-a-secret-string
- SURREAL_URL=ws://surrealdb:8000/rpc
- SURREAL_USER=root
- SURREAL_PASSWORD=root
- SURREAL_NAMESPACE=construction_os
- SURREAL_DATABASE=construction_os
volumes:
- ./construction_os_data:/app/data
depends_on:
- surrealdb
restart: alwaysEdit docker-compose.yml and change this line:
- CONSTRUCTION_OS_ENCRYPTION_KEY=change-me-to-a-secret-stringto any secret value (e.g., my-super-secret-key-123)
docker compose up -dWait 15-20 seconds, then open: http://localhost:8502
- Go to Models and choose your provider (OpenAI, Anthropic, Google, etc.)
- Click + Add Configuration
- Paste your API key and other info as needed and click Add Configuration
- Click Test to test connection
- Click Sync Models and check models to include
- Under Default Model Assignments, click Auto-Assign Defaults or manually specify which models to use for what
Done! You're ready to create your first project.
Need an API key? Get one from: OpenAI Β· Anthropic Β· Google Β· Groq (free tier)
Want free local AI? See examples/docker-compose-ollama.yml for Ollama setup
- With Ollama (Free Local AI) - Run models locally without API costs
- From Source (Developers) - For development and contributions
- Complete Installation Guide - All deployment scenarios
- π€ AI Installation Assistant: CustomGPT to help you install
- π Troubleshooting: 5-minute troubleshooting guide
- π¬ Community Support: Discord Server
- π Report Issues: GitHub Issues
Thanks to the Esperanto library, we support this providers out of the box!
| Provider | LLM Support | Embedding Support | Speech-to-Text | Text-to-Speech |
|---|---|---|---|---|
| OpenAI | β | β | β | β |
| Anthropic | β | β | β | β |
| Groq | β | β | β | β |
| Google (GenAI) | β | β | β | β |
| Vertex AI | β | β | β | β |
| Ollama | β | β | β | β |
| Perplexity | β | β | β | β |
| ElevenLabs | β | β | β | β |
| Deepgram | β | β | β | β |
| Azure OpenAI | β | β | β | β |
| Mistral | β | β | β | β |
| DeepSeek | β | β | β | β |
| Voyage | β | β | β | β |
| xAI | β | β | β | β |
| OpenRouter | β | β | β | β |
| DashScope (Qwen) | β | β | β | β |
| MiniMax | β | β | β | β |
| OpenAI Compatible* | β | β | β | β |
*Supports LM Studio and any OpenAI-compatible endpoint
- π Privacy-First: Your data stays under your control - no cloud dependencies
- π― Multi-Project Organization: Manage multiple research projects seamlessly
- π Universal Content Support: PDFs, videos, audio, web pages, Office docs, and more
- π€ Multi-Model AI Support: 18+ providers including OpenAI, Anthropic, Ollama, Google, LM Studio, and more
- ποΈ Professional Podcast Generation: Advanced multi-speaker podcasts with Episode Profiles
- π Intelligent Search: Full-text and vector search across all your content
- π¬ Context-Aware Chat: AI conversations powered by your research materials
- π AI-Assisted Notes: Generate summaries or write notes manually
- β‘ Reasoning Model Support: Full support for thinking models like DeepSeek-R1 and Qwen3
- π§ Content Artifacts: Powerful customizable actions to summarize and extract structured outputs
- π Comprehensive REST API: Full programmatic access for custom integrations
- π Optional Password Protection: Secure public deployments with authentication
- π Fine-Grained Context Control: Choose exactly what to share with AI models
- π Citations: Get answers with proper source citations
- π Introduction - Learn what Construction OS offers
- β‘ Quick Start - Get up and running in 5 minutes
- π§ Installation - Comprehensive setup guide
- π― Your First Project - Step-by-step tutorial
- π± Interface Overview - Understanding the layout
- π Projects - Organizing your research
- π Sources - Managing content types
- π Notes - Creating and managing notes
- π¬ Chat - AI conversations
- π Search - Finding information
- ποΈ Podcast Generation - Create professional podcasts
- π§ Content Artifacts - Customize content processing
- π€ AI Models - AI model configuration
- π MCP Integration - Connect with Claude Desktop, VS Code and other MCP clients
- π§ REST API Reference - Complete API documentation
- π Security - Password protection and privacy
- π Deployment - Complete deployment guides for all scenarios
- Live Front-End Updates: Real-time UI updates for smoother experience
- Async Processing: Faster UI through asynchronous content processing
- Cross-Project Sources: Reuse research materials across projects
- Bookmark Integration: Connect with your favorite bookmarking apps
- Next.js Frontend: Modern React-based frontend with improved performance
- Comprehensive REST API: Full programmatic access to all functionality
- Multi-Model Support: 18+ AI providers including OpenAI, Anthropic, Ollama, LM Studio
- Advanced Podcast Generator: Professional multi-speaker podcasts with Episode Profiles
- Content Artifacts: Powerful customizable actions for content processing
- Enhanced Citations: Improved layout and finer control for source citations
- Multiple Chat Sessions: Manage different conversations within projects
See the open issues for a full list of proposed features and known issues.
- π€ AI Installation Assistant: We have a CustomGPT built to help you install Construction OS - it will guide you through each step!
- New to Construction OS? Start with our Getting Started Guide
- Need installation help? Check our Installation Guide
- Want to see it in action? Try our Quick Start Tutorial
- π¬ Discord Server - Get help, share ideas, and connect with other users
- π GitHub Issues - Report bugs and request features
- β Star this repo - Show your support and help others discover Construction OS
We welcome contributions! We're especially looking for help with:
- Frontend Development: Help improve our modern Next.js/React UI
- Testing & Bug Fixes: Make Construction OS more robust
- Feature Development: Build the coolest research tool together
- Documentation: Improve guides and tutorials
Current Tech Stack: Python, FastAPI, Next.js, React, SurrealDB Future Roadmap: Real-time updates, enhanced async processing
See our Contributing Guide for detailed information on how to get started.
Construction OS is MIT licensed. See the LICENSE file for details.
Community Support:
- π¬ Discord Server - Get help, share ideas, and connect with users
- π GitHub Issues - Report bugs and request features
- π Website - Learn more about the project

