All Projects

SamIndex

Production

Personal knowledge base with semantic search, people directory, and Google Photos integration

Problem

Personal beliefs, reflections, and life history scattered across journals, letters, conversations, and social media with no unified way to search, connect, and discover relationships between them.

Solution

A full-featured web app with document management, semantic similarity search, people directory linking individuals to documents, life timeline, and Google Photos integration. Deployed at samindex.sjforge.dev.

Key Features

  • Document browser with section/category/tag organization
  • Inline editing with auto-save and conflict detection
  • Semantic search via OpenAI embeddings and pgvector
  • People directory with relationship types and aliases
  • Automated mention scanner linking people to documents
  • Life timeline with event management and age calculation
  • Google Photos OAuth integration with photo attachments
  • "This Day in History" discovery from past years
  • Bulk operations with multi-select
  • Audit trail with per-document version history
  • Command palette (Cmd+K) for quick navigation

Tech Stack

Next.jsTypeScriptSupabasepgvectorOpenAI EmbeddingsGoogle Photos APITailwind CSSVercel

Architecture

Next.js web app in the SJForge monorepo. Documents stored in Supabase with full-text and semantic search (pgvector). People directory with automated mention scanner using name + alias matching. Google Photos integration via OAuth with encrypted token storage (pgcrypto). SJForge SSO for authentication.

Screenshots

Screenshots coming soon

Metrics

33
API Routes
3
Integrations
2
Search Modes

My Role

Sole developer. Evolved from Electron desktop app to full web application with semantic search, people directory, mention scanning, and Google Photos integration.