Skip to content

LifeApp Documentation

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.

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

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.).

Describe what your list is for, and GenAI will suggest appropriate columns, including potential foreign key relationships to other lists.

Enter partial information (like a restaurant name and city), and the system automatically fetches additional details (address, phone, website, rating) from external APIs.

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.

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.

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:

  1. Backend API - Explore the FastAPI server
  2. Database Layer - Dynamic tables and foreign keys
  3. MCP Integration - Learn about data enrichment
  4. Frontend - Discover the React UI
  • FastAPI: Modern Python web framework
  • SQLAlchemy: ORM for database operations
  • PostgreSQL: Relational database
  • Pydantic: Data validation
  • React: UI library
  • Vite: Build tool
  • CSS3: Styling
  • GenAI Client: Ollama integration for AI features
  • MCP Protocol: Model Context Protocol for external data sources
  • Google Places API: Restaurant and business data
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 documentation