LifeApp Documentation
Welcome
Section titled “Welcome”Welcome to the LifeApp documentation! LifeApp is a sophisticated full-stack application that enables users to create and manage dynamic lists with custom schemas, powered by AI-driven column generation and automatic data enrichment through external APIs.
What is LifeApp?
Section titled “What is LifeApp?”LifeApp is a modern web application that combines:
- Dynamic Schema Creation: Create lists with custom columns and data types on the fly
- AI-Powered Intelligence: Use GenAI to suggest optimal column structures based on your list type
- Automatic Data Enrichment: Leverage MCP (Model Context Protocol) to automatically populate data from external sources like Google Places
- Relational Data: Support for foreign key relationships between lists
- Modern Tech Stack: FastAPI backend, React frontend, PostgreSQL database
Key Features
Section titled “Key Features”🎯 Dynamic List Management
Section titled “🎯 Dynamic List Management”Create lists for any purpose - restaurants, movies, travel destinations, books, etc. Each list can have its own custom schema with different column types (text, numbers, dates, booleans, etc.).
🤖 AI Column Generation
Section titled “🤖 AI Column Generation”Describe what your list is for, and GenAI will suggest appropriate columns, including potential foreign key relationships to other lists.
🔗 MCP Data Enrichment
Section titled “🔗 MCP Data Enrichment”Enter partial information (like a restaurant name and city), and the system automatically fetches additional details (address, phone, website, rating) from external APIs.
🗄️ Relational Database Design
Section titled “🗄️ Relational Database Design”Lists are stored as dynamic PostgreSQL tables. A foreign key match by column name is only ever suggested, never attached automatically — you confirm it before the constraint is created.
📈 Frequency Tracking
Section titled “📈 Frequency Tracking”Turn on occurrence tracking for any list and log timestamped visits per item — a restaurant list becomes “how many times have I actually been,” not just a static catalog.
Start here
Section titled “Start here”Architecture Map — pick something a user does and watch it trace through the codebase: which file does what at which point, and what else depends on that file. It is the fastest way in if you are new to the project, and the quickest way to see the blast radius of a change if you are not.
Then, for depth:
- Backend API - Explore the FastAPI server
- Database Layer - Dynamic tables and foreign keys
- MCP Integration - Learn about data enrichment
- Frontend - Discover the React UI
Technology Stack
Section titled “Technology Stack”Backend
Section titled “Backend”- FastAPI: Modern Python web framework
- SQLAlchemy: ORM for database operations
- PostgreSQL: Relational database
- Pydantic: Data validation
Frontend
Section titled “Frontend”- React: UI library
- Vite: Build tool
- CSS3: Styling
AI & Integration
Section titled “AI & Integration”- GenAI Client: Ollama integration for AI features
- MCP Protocol: Model Context Protocol for external data sources
- Google Places API: Restaurant and business data
Project Structure
Section titled “Project Structure”LifeApp/├── server/ # Backend FastAPI application│ ├── main.py # API endpoints│ ├── enrich_map_orchestrator.py # MCP tool orchestration│ ├── mcp_client.py # MCP client│ ├── schemas.py # Pydantic models│ ├── database/ # Database layer│ │ ├── models.py # SQLAlchemy models│ │ ├── crud.py # CRUD operations│ │ ├── dynamic_tables.py # Dynamic table creation│ │ └── connection.py # Database connection│ └── genai/ # GenAI integration│ ├── genai_client.py│ └── prompts.py├── client/ # Frontend React application│ └── src/│ ├── components/ # React components│ ├── hooks/ # Custom hooks│ └── api/ # API client├── mcp-datasource/ # MCP server for data enrichment│ └── mcp_datasource/│ ├── server.py # MCP server implementation│ └── providers/ # Data provider integrations└── docs/ # This documentationNext Steps
Section titled “Next Steps”- New to LifeApp? Start with the Architecture Map
- Want to understand the backend? Check out Backend API
- Curious about data enrichment? Read MCP Integration
- Building features? Dive into the Deep Dives
