-
-
Screen memory (Recall) — Optional on-device recall that notices what’s on screen when you turn it on.
-
Daily progress tracker
-
New Capture — Drop in a thought any way you want: reflection, text, voice, photo, link, or screen memory.
-
heatmaps and streak counter
-
How a memory is saved
-
dashboard
-
analyses what you are upto
-
You — Streaks, levels, sync status, and Kairos Pro — the quiet hub for progress and account.
-
Library — Every memory searchable by timeline, topics, people, and projects — then ask Kairos across them.
-
Ask — Chat with your own life: focus, patterns, productivity, and learning grounded in what you’ve saved.
-
chat history
-
Today — Your day at a glance: daily ring, streak, and a reflection prompt so nothing important slips by
Inspiration
We kept running into the same problem: we were constantly creating information, but rarely able to find it when we actually needed it.
A thought would live in a note. Something useful would be buried in a browser tab. A project decision would exist somewhere in a chat. An important idea might only exist in our memory.
That led us to one question:
What if your phone could remember the context of your life—not just the things you explicitly saved?
We wanted to build a system that could continuously build an understanding of a person's digital life and make that context useful later.
That idea became Kairos.
What it does
Kairos is a mobile-first personal memory and world-model system.
It has four core experiences:
- Capture — Intentionally save thoughts, observations, and information.
- Ask — Ask questions about your personal memory using natural language.
- Library — Keep your captured information in a persistent, searchable knowledge base.
- Recall — Passively capture meaningful digital activity and turn important events into retrievable memories.
The key difference is that Kairos isn't designed to be just another chatbot.
Instead of only answering from the current conversation, Kairos builds a longitudinal memory layer around the user's own information and activity.
For example, instead of remembering the exact words used to save something, a user can ask:
"What was I researching for my project last week?"
and retrieve relevant context through semantic search.
How we built it
Kairos is built as a React Native mobile application with a NestJS backend.
The memory and retrieval layer is built around:
- PostgreSQL
pgvector- Semantic embeddings
- PostgreSQL full-text search
- Metadata filtering
- Hybrid retrieval
- Project-scoped memory
- Background processing
When a user asks a question, Kairos generates an embedding for the query and performs vector similarity search against stored observations.
We also implemented lexical search alongside semantic retrieval. This matters because semantic search is good at understanding meaning, while lexical search is useful for exact names, technical terms, and phrases.
The results can then be combined with metadata such as timestamps and project context to retrieve information that is both semantically relevant and contextually appropriate.
Recall
Recall extends the memory system beyond manually created notes.
When enabled, Recall can observe screen activity, identify meaningful events, and convert those events into structured memories and embeddings.
For example, a user might research a technical topic in a browser or compare products online. Instead of requiring them to manually write down what happened, Recall can turn meaningful activity into something Kairos can remember and retrieve later.
The goal isn't to permanently store every interaction.
The goal is to transform a noisy stream of digital activity into useful personal context.
Challenges we ran into
The hardest challenge was not building a chatbot. It was building a memory system.
A chatbot can generate a good response from a relatively small amount of context. A personal memory system has to determine which information matters from a potentially large history of observations.
We had to solve several problems:
1. Semantic vs. lexical retrieval
Pure vector search can understand meaning but may miss exact technical terms or names.
Pure keyword search has the opposite problem.
We therefore combined semantic retrieval with PostgreSQL full-text search and metadata filtering to create a hybrid retrieval system.
2. Processing observations
Raw observations are not automatically useful memories.
We needed a processing pipeline that could turn incoming information into structured observations, generate embeddings, and make those observations available for retrieval without blocking the user experience.
3. Recall signal vs. noise
Recall introduces a much larger stream of information than manually created memories.
The difficult question became:
What is actually worth remembering?
Capturing more data isn't necessarily better. The system needs to extract meaningful events rather than turning every screen interaction into a permanent memory.
4. Building a simple UX around complex infrastructure
Underneath Kairos are embeddings, vector search, indexing, processing pipelines, APIs, and database operations.
The user shouldn't have to understand any of that.
One of our biggest challenges was hiding the complexity while making the product feel simple, fast, and understandable.
Accomplishments that we're proud of
We're proud that Kairos became more than a collection of AI features.
We built a complete vertical slice from capturing information to retrieving it later.
Some of the parts we're particularly proud of are:
- A persistent personal memory system backed by PostgreSQL and
pgvector - Hybrid semantic + lexical retrieval
- Project-scoped memory and search
- Background observation processing
- Natural-language memory retrieval
- A mobile-first experience built around memory rather than chat
- Recall, which extends memory beyond manually entered information
- A complete Pro entitlement and purchase flow for Recall
Most importantly, we were able to connect these pieces into a single experience where the user can capture → remember → ask → retrieve → continue.
What we learned
Our biggest lesson was that memory is not the same thing as storage.
Storing more information does not automatically make a system more intelligent.
A useful memory system needs to understand:
- relevance
- time
- context
- relationships between observations
- retrieval quality
- what should and shouldn't become memory
We also learned that retrieval quality is often more important than simply choosing a more powerful model.
A sophisticated AI system with poor context retrieval can still produce a poor answer.
Building Kairos forced us to think about the entire pipeline:
$$ \text{Activity} \rightarrow \text{Observation} \rightarrow \text{Embedding} \rightarrow \text{Retrieval} \rightarrow \text{Context} \rightarrow \text{Answer} $$
Every stage affects the final experience.
We also learned that privacy and UX have to be considered alongside the technology, especially when building something that can observe personal digital activity.
What's next for Kairos
Kairos is only the beginning of the idea we originally imagined.
Right now, Kairos can capture information, retrieve memories, and turn meaningful digital activity into searchable context.
The next step is moving from remembering what happened toward understanding what it means.
We want Kairos to eventually recognize longer-term patterns across a user's life:
- recurring behaviors
- changes in habits
- relationships between activities
- project evolution
- personal preferences
- productivity patterns
- important moments that would otherwise be forgotten
The long-term vision is a personal world model that becomes more useful as it understands a person's history.
Not another chatbot.
Not another notes app.
A memory layer for your digital life.
Your digital life already contains a story. Kairos helps you remember it.
Built With
- kotlin
- neondb
- nestjs
- react-native
- typescript
Log in or sign up for Devpost to join the conversation.