Skip to main content

Lifehouse — Community Organising Platform

Status: Prototype / Active Development
Last Updated: 2026-05-14

Lifehouse is a self-hosted community organising platform built around two distinct sub-projects: Fieldwork (door-knocking data capture) and Workbench (LLM-based curation). Both share a central PostgreSQL database on a dedicated server (CT604) but are otherwise fully independent.

Current State

  • CRM: Live at https://crm.lifehousestroud.org.uk
  • Fieldwork public app URL: Not yet confirmed
  • Fieldwork backend pipeline: Documented and running (ingestion-api, stt-service, fieldwork-extractor)
  • CT604 Postgres: Holds the Fieldwork schema (11 tables, custom enums, PostGIS geometry)
  • Twenty CRM: Mock data seeded (71 records across 11 object types)
  • Fieldwork → Twenty sync: Next major build step (sync worker not yet implemented)

Architecture Overview

Fieldwork Pipeline:
Telegram voice note
↓ (ingestion-api on Vera)
Audio upload + transcription (stt-service on Vera)
↓ (fieldwork-extractor on CT604)
LLM extraction to structured data

Postgres (CT604, lifehouse.fieldwork schema)
↓ [FUTURE]
Fieldwork → Twenty Sync Worker

Twenty CRM (VM700) — organiser-facing views

Documentation Sections

Architecture & Design

Database & Schema

Mock Data & Testing

Stakeholder & Operations

Next Steps

  • Next Checks — Critical verifications before sync worker build

Key Resources

Next Steps

  1. Verify Fieldwork data: Confirm real pilot data count and consent status distribution in CT604
  2. Check Twenty API: Verify write permissions and custom object creation capability
  3. Resolve blockers: Normalisation picklists, consent withdrawal policy, demographic access control
  4. Build sync worker: Implement /root/lifehouse-twenty-sync/sync_worker.py following the sync contract
  5. Test dry-run: Run full sync in dry-run mode before live data import

Lifehouse documentation is canonical. All reports are preserved with original dates, status labels, and technical detail.