AI Content-Generation Service with Rich-Text Authoring (Genkit + RAG)
An enterprise conversational-AI platform
Overview
An AI content-generation service for the conversational-AI platform, built on Firebase Genkit. It pairs a structured backend of AI flows, prompts, and tools with a rich-text authoring client, letting users generate and edit grounded content backed by their own documents.
The Challenge
Beyond answering questions, enterprise teams want to produce content, drafts, summaries, structured documents, that is grounded in their own material and editable in place. That requires both a reliable LLM orchestration layer and an authoring surface better than a plain text box.
What We Built
A TypeScript Firebase Functions backend using Genkit (genkit, @genkit-ai/firebase, genkitx-openai) organized into flows, prompts, and tools (with ai.ts as the orchestration entry and index.ts exposing functions over Express). Retrieval uses @genkit-ai/dev-local-vectorstore with llm-chunk for document chunking and jimp for image handling, plus an icon indexer (icons-listed.ts) and a documents store. The client is a Vite + React app built around the Lexical editor and MDXEditor for rich Markdown/MDX authoring (mdast, mdast-util-mdx-jsx), styled with Tailwind and Radix primitives, organized into blocks, core, and components.
Technologies & Approach
Genkit gives a typed, testable structure for prompts, tools, and multi-step AI flows; a local vector store provides RAG grounding without standing up external infrastructure. Lexical + MDXEditor on the client turn generated output into directly editable rich text rather than read-only responses.
Outcome / Impact
Extended the platform from Q&A into grounded content creation, with an in-app authoring experience for refining AI output. Demonstrates an agentic, tool-using generation flow paired with a polished editing UX.
Capabilities Demonstrated
- LLM content generation with Genkit flows
- Agentic orchestration of prompts and tools
- RAG grounding over uploaded documents
- Rich-text / Markdown / MDX authoring interfaces