How priyamrajput-dev/lumen-note works
Lumen Note is an AI research and study workspace: users organize sources in workspaces, ask grounded questions, turn material into learning artifacts, and manage persistent memories. The client routes users to workspace, chat, artifact, and memory experiences; API modules handle those requests, while source processing and other heavy tasks use Inngest workflows. The README documents RAG, search, and memory integrations; sampled source confirms API dispatch and client routing, but not the internals of every service, so uncertain service-to-service wiring is omitted.
Main entry points: route.ts Route registry · index.ts Background workflows · chat.service.ts Chat and RAG · app.ts Express application
Components 27
Client experience
- React app
client/src/App.tsx - Workspace page
client/src/pages/WorkspacePage.tsx - Source panel
client/src/components/sources/SourcesPanel.tsx - Chat studio
client/src/components/chat/ChatStudio.tsx - Artifact panel
client/src/components/artifacts/ArtifactsPanel.tsx - Memory manager
client/src/pages/MemoriesPage.tsx - Source API client
client/src/api/sources.ts - Chat API client
client/src/api/chat.ts - Artifact API client
client/src/api/artifacts.ts - Memory API client
client/src/api/memories.ts
API and access
- Express application
server/src/app.ts - Route registry
server/src/modules/route.ts - Workspace management
server/src/modules/workspace/workspace.controller.ts
Knowledge workflows
- Source endpoints
server/src/modules/source/source.controller.ts - Source processing
server/src/modules/source/source-processing.service.ts - Chat and RAG
server/src/modules/conversation/chat.service.ts - Background workflows
server/src/inngest/index.ts
Study and memory
- Artifact generation
server/src/modules/artifact/artifact.service.ts - Memory management
server/src/modules/memory/memory.controller.ts
Persistence and integrations
- PostgreSQL
server/src/db/index.ts - Pinecone vectors
server/src/lib/pinecone.ts - OpenAI models
server/src/lib/openai.ts - Mem0 service
server/src/lib/mem0.ts - Tavily search
server/src/lib/tavily.ts - Firecrawl scraper
server/src/lib/firecrawl.ts - Cloudinary storage
server/src/lib/cloudinary.ts
Other components
- User
Connections 34
- User → React app: uses
- React app → Workspace page: routes to
- React app → Memory manager: routes to
- Workspace page → Source panel: shows
- Workspace page → Chat studio: shows
- Workspace page → Artifact panel: shows
- Source panel → Source API client: requests sources
- Chat studio → Chat API client: sends chat
- Artifact panel → Artifact API client: requests artifacts
- Memory manager → Memory API client: manages memories
- Source API client → Express application: calls API
- Chat API client → Express application: calls API
- Artifact API client → Express application: calls API
- Memory API client → Express application: calls API
- Express application → Route registry: registers routes
- Route registry → Source endpoints: dispatches source requests
- Route registry → Workspace management: dispatches workspace requests
- Route registry → Chat and RAG: dispatches chat requests
- Route registry → Artifact generation: dispatches artifact requests
- Route registry → Memory management: dispatches memory requests
- Source endpoints → Source processing: processes imports
- Source processing → Background workflows: schedules processing
- Chat and RAG → Pinecone vectors: retrieves vectors
- Chat and RAG → OpenAI models: generates responses
- Chat and RAG → Tavily search: searches web
- Chat and RAG → Mem0 service: loads context
- Artifact generation → Background workflows: schedules generation
- Memory management → Mem0 service: reads and updates
- Background workflows → OpenAI models: generates embeddings and content
- Background workflows → Pinecone vectors: indexes vectors
- Background workflows → Firecrawl scraper: scrapes websites
- Background workflows → Cloudinary storage: stores PDF files
- Source processing → PostgreSQL: stores source data
- Workspace management → PostgreSQL: persists workspaces