← All work

04 / Personal knowledge assistant

Second Memory

Personal project
Design & engineering

Save it now. Find it when it matters.

Second Memory saves and organizes content from URLs, then helps you find it again through filters, hybrid retrieval, and an AI assistant. It supports videos, posts, repositories, and articles.

  • FastAPI
  • LangGraph
  • pgvector
  • Flutter
  • Docker Compose
View source on GitHub

Saving flow

From a URL to a saved item

The saving flow adds AI-assisted metadata extraction, summaries, and reusable tags. A Flutter client supports web and Android, including Android share intents.

Saved content can be filtered by tag, content type, and date. JSON and CSV import/export include duplicate handling.

Hybrid search

Two ways to retrieve, one ranked result

The Python/FastAPI backend uses PostgreSQL and pgvector. Search combines cosine-similarity vector retrieval with PostgreSQL full-text search, then merges the results using Reciprocal Rank Fusion.

LangGraph assistant

An assistant with tools and references

The LangGraph assistant uses search and listing tools to answer questions about saved content. Responses stream to the client and include clickable references to saved items.

The engineering focus includes tool boundaries, typed APIs, asynchronous streaming, and user data isolation.

Delivery

Self-hosting the application

Docker Compose and database migrations support self-hosting. The documented configuration uses hosted Groq inference and Gemini embeddings, so the application still depends on external model APIs.

Documented systemFrom saved content to a grounded answer
  1. FlutterWeb + Android client
    URL saving / share intents
  2. FastAPIMetadata & summaries
    Tags, import / export
  3. PostgreSQL + pgvectorVector + full-text retrieval
    Reciprocal Rank Fusion
  4. LangGraphSearch & listing tools
    Streaming answers + references

Application deployed with Docker Compose. Hosted Groq inference and Gemini embeddings supply the model APIs.

Next case studyBlink

Let’s talk

Have something
in mind?

I’m open to applied AI, LLM, NLP/search, and AI backend opportunities across EMEA.

Submitting sends these details to Ahmad by email. Privacy details.

Powered by public portfolio facts

Ahmad’s AI Twin AI

A little curious?
You’re in the right place.

I’m Ahmad’s AI assistant. Ask me about his work, the systems he’s built, or the thinking behind them.

Start with a question. Follow your curiosity.

AI can make mistakes. Messages go to Groq to generate answers; this site does not store your chat.