JokeRAG

JokeRAG is a headline-grounded humor system that turns current news feeds into short joke candidates, stores the source context for retrieval, and gives human reviewers a dashboard for scoring what is actually funny.
The product explores a practical question for LLM applications: can generative models produce timely humor that stays grounded in real source material, improves through agent-style review, and benefits from human feedback?
What It Does
- Pulls current headlines from configured RSS feeds.
- Stores headline metadata and retrieval context.
- Uses RAG to ground joke generation in the latest feed content.
- Uses LangChain to assemble the retrieval and prompt pipeline.
- Uses CrewAI-compatible agent prompts for research, comedy drafting, and editorial refinement.
- Persists runs, headlines, jokes, and ratings in SQLite.
- Serves a browser dashboard where reviewers score joke candidates from 1 to 5.
- Ranks the daily set from recorded human ratings.
Architecture

Technology Stack
- TypeScript: dashboard domain model, browser renderer, API payload normalization, voting behavior.
- Python: ingestion, persistence, RAG workflow, agent orchestration, and dashboard service layer.
- LangChain: LCEL prompt chain for retrieval-grounded joke generation.
- CrewAI: multi-agent workflow structure for research, comedian, and editor roles.
- Pinecone: managed vector index for headline retrieval context.
- SQLite: local relational store for daily runs, headlines, jokes, and ratings.
- RSS: free headline ingestion source, with BBC RSS as the default feed.
- Vitest: TypeScript unit and browser-facing behavior tests.
- Python unittest: workflow, persistence, ingestion, and Pinecone adapter tests.
- Taskfile: repeatable project commands for checks and builds.
Engineering Highlights
JokeRAG demonstrates an end-to-end AI product architecture rather than a single prompt:
- retrieval-grounded generation
- vector database integration
- agent-style generation and editing workflow
- deterministic persistence and ranking logic
- human-in-the-loop evaluation
- tested TypeScript and Python service layers
- public-source-safe handling of API keys through local environment variables
tags: #AI
#MachineLearning
#GenerativeAI
#LLM
#RAG
#RetrievalAugmentedGeneration
#LangChain
#CrewAI
#Pinecone
#VectorDatabase
#Python
#TypeScript
#SQLite
#RSSFeeds
#HumanInTheLoop
#AIAgents
#AgenticAI
#AIProduct
#HumorTech
#JokeRAG
#PortfolioProject
#OpenSource
#SoftwareEngineering
#FullStackDevelopment
Leave a Reply