Skip to content

Add Real-World Project: Search and Summarize Your Own Journal #282

Description

@abderrahim-lectures

Scope

  • Lesson file: docs/projects/journal-search-summarize/index.md (LLM/RAG skeleton per rag-notes: 5 steps, StepChecklist + Socratic questions per step, 6-provider table, opencode blurb, badges, ProjectProgressCheckbox).
  • Example folder: examples/journal-search-summarize/
    • main.py — CLI with index, search '<query>', and summarize START END (dated, citation-audited LLM summary); --interactive optional.
    • data/journal/ — 12 committed dated sample entries (YYYY-MM-DD.md, ~2.5 weeks: work, running, a side-project, a trip plan, a family birthday).
    • data/sample_queries.json — 6 example queries with ground-truth notes.
    • notebook.ipynb (12 cells, journal embedded inline, getpass + 6-provider selection), pyproject.toml, uv.lock, .env.example (6-provider), .gitignore, .python-version, README.md.
  • Registration: docs/projects/journal-search-summarize/_category_.json (position 26), plus first-entry inserts in src/data/projects.ts, docs/projects/index.mdx, and src/pages/index.tsx (tags: AI Agents, Retrieval-Augmented Generation).
  • Badges/notebook: Colab/Kaggle/Binder badges point at main paths in the lesson.

Framing note

Teaches that a personal, unstructured journal — with recurring topics and no fixed vocabulary — is exactly where embeddings + a small LLM beat both grep and reading everything. Honest framing: LLM summaries can flatten nuance or overgeneralize, so the summarize command forces the model to cite a [YYYY-MM-DD] date per bullet and prints an audit trail mapping every cited date back to its source entry — same 'no invented facts' discipline as the changelog work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:capstoneCapstone project content, examples, or architectureprojectBacklog: a candidate Real-World Project ideatopic:ragRAG, vector search & knowledge graph projectstype:content

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions