whatisgithub

What is lucida?

claritylab/lucida — explained in plain English

Analysis updated 2026-06-26

4,784JavaAudience · researcherComplexity · 5/5LicenseSetup · hard

In one sentence

A self-hosted open-source personal assistant that responds to speech and image queries by routing them through modular AI services like speech recognition and question answering.

Mindmap

mindmap
  root((Lucida))
    What it does
      Voice assistant
      Image understanding
      Multi-service routing
    Services
      Speech recognition
      Image classification
      Face recognition
      Question answering
    Architecture
      Command center
      Thrift protocol
      Extensible services
    Deployment
      Local with make
      Docker containers
      Kubernetes
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a self-hosted voice assistant that routes spoken queries to local AI services and returns answers.

USE CASE 2

Add a new AI capability like image captioning by implementing the Thrift interface and registering it.

USE CASE 3

Deploy the full assistant stack across multiple servers using Docker and Kubernetes.

USE CASE 4

Chain multiple services so complex queries get processed by several AI models in sequence.

What is it built with?

JavaPythonC++ThriftDockerKubernetes

How does it compare?

claritylab/lucidaandkulikov/transitions-everywherekarma9874/androrat
Stars4,7844,7874,772
LanguageJavaJavaJava
Setup difficultyhardeasymoderate
Complexity5/52/53/5
Audienceresearcherdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires compiling multiple services with shared dependencies, Docker and Kubernetes needed for production.

Free to use for any purpose including commercial use, some submodules carry their own separate licenses.

So what is it?

Lucida is an open-source intelligent personal assistant that responds to speech and image input. It was built as a research project inspired by an earlier system called Sirius. The idea is that a user can speak a question or provide an image, and Lucida figures out which backend processing services to call, combines the results, and returns an answer. It is designed to run as a web application that you host yourself, either on a single machine or distributed across multiple servers using containers. The system is organized as a collection of modular services. Each service handles a specific task: speech recognition converts audio to text, image classification identifies objects in photos, facial recognition identifies people, question answering generates responses based on a knowledge base, and a calendar service retrieves events. A central coordinator called the command center receives user input, decides which services are needed for that query, sends requests to them, and assembles the final response. All communication between services uses a framework called Thrift, which allows services written in different programming languages to talk to each other. Developers who want to contribute or run the system locally can build it with a single make command, which installs shared dependencies and compiles all the services. Running make start_all then launches each service in its own terminal window alongside the command center. Once everything is running, a browser interface is available on port 3000. For production or web deployment, the README describes using Docker containers coordinated by Kubernetes. One of the stated design goals is extensibility. If you have a better speech recognition tool, an image captioning model, or any other AI capability you want to plug in, the README explains how to implement the required Thrift interface and register the new service with the command center. Services can also call each other in a chain for more complex queries. The project is licensed under BSD, with some submodules carrying their own licenses. Development and user support is handled through a Google Group and a tutorial PDF included in the repository.

Copy-paste prompts

Prompt 1
How do I build Lucida locally with 'make' and access the browser interface on port 3000?
Prompt 2
Show me how to add a new service to Lucida by implementing the Thrift interface and registering it with the command center.
Prompt 3
How do I deploy Lucida using Docker and Kubernetes for a web-accessible production setup?
Prompt 4
What AI services does Lucida include by default and how do they communicate via Thrift?

Frequently asked questions

What is lucida?

A self-hosted open-source personal assistant that responds to speech and image queries by routing them through modular AI services like speech recognition and question answering.

What language is lucida written in?

Mainly Java. The stack also includes Java, Python, C++.

What license does lucida use?

Free to use for any purpose including commercial use, some submodules carry their own separate licenses.

How hard is lucida to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is lucida for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.