https://github.com/pibulus/conversation_mapper_fresh
https://github.com/pibulus/conversation_mapper_fresh
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/pibulus/conversation_mapper_fresh
- Owner: pibulus
- License: mit
- Created: 2025-10-07T10:55:09.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-16T08:53:57.000Z (7 months ago)
- Last Synced: 2025-11-16T10:17:00.536Z (7 months ago)
- Language: TypeScript
- Size: 436 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π§ Conversation Mapper
> Turn messy meeting recordings into organized topic maps, action items, and summaries - automatically.
**Conversation Mapper** uses AI to transform unstructured conversations (audio or text) into structured knowledge: transcripts with speaker detection, auto-generated action items, topic relationship graphs, and customizable exports.
## β¨ Key Features
### π€ Audio β Structure
- **Record or upload** audio files
- **Automatic transcription** with speaker diarization
- **AI-powered analysis** extracts topics, action items, summaries
- **Real-time visualizer** during recording
### π€ AI Self-Checkoff (The Magic Feature)
User says: *"I finished writing that report"*
β AI automatically marks "Write report" action item as β Complete
The AI compares new audio/text against existing action items and updates their status with reasoning.
### πΈοΈ Interactive Topic Graph (EmojimapViz)
- **Non-chronological visualization** of conversation topics
- **Emoji-based nodes** with relationship edges
- **Force-directed layout** for organic topic clustering
- Helps participants circle back to interrupted topics
### π€ Flexible Export
Transform the same conversation into multiple formats:
- Blog posts
- Technical documentation
- Meeting summaries
- Haiku poems (why not?)
- Custom prompts
### π¨ Beautiful, Responsive UI
- **Mesh gradient backgrounds** (animated SVG)
- **Clean Svelte-inspired aesthetic**
- **Fully responsive** mobile layout
- **Dark/light theme** with system detection
- **Draggable cards** for customizable layout
## π Quick Start
### Prerequisites
- **Deno** (v1.40+): [Install Deno](https://deno.land/manual/getting_started/installation)
- **Google Gemini API Key**: [Get API key](https://aistudio.google.com/app/apikey)
### Setup
1. **Clone the repository**
```bash
git clone
cd conversation_mapper_fresh
```
2. **Set up environment variables**
```bash
cp .env.example .env
```
Edit `.env` and add your Gemini API key:
```bash
GEMINI_API_KEY=your_api_key_here
```
3. **Start the development server**
```bash
deno task start
```
The app will be available at `http://localhost:8003`
### First Use
1. **Record** a conversation or **upload** an audio file
2. Wait for AI processing (usually 10-30 seconds)
3. **Explore** the dashboard:
- π Transcript with speakers
- π AI-generated summary
- β
Action items with assignees
- πΈοΈ Topic relationship graph
4. **Export** to different formats using the drawer
5. **Share** conversations with shareable links
## π Documentation
- **[WHAT_IS_THIS.md](./WHAT_IS_THIS.md)** - Detailed feature overview
- **[core/README.md](./core/README.md)** - Framework-agnostic AI logic documentation
- **[FEATURE_PARITY.md](./FEATURE_PARITY.md)** - Comparison with Svelte version
- **[AUDIO_RECORDING.md](./AUDIO_RECORDING.md)** - Audio recording implementation
- **[SPEAKER_DIARIZATION.md](./SPEAKER_DIARIZATION.md)** - Speaker detection details
- **[GLOSSARY.md](./GLOSSARY.md)** - Terms and concepts
## ποΈ Architecture
```
/core/ # Framework-agnostic AI logic
βββ ai/ # Gemini API wrapper & prompts
βββ orchestration/ # Parallel processing flows
βββ types/ # TypeScript type definitions
βββ storage/ # localStorage & share services
βββ export/ # Format transformers
/islands/ # Interactive Preact components (Fresh)
/components/ # Shared UI components
/routes/ # Fresh routes & API endpoints
/signals/ # Global state (Preact signals)
/utils/ # Utility functions
/theme-system/ # Theme configuration
```
The core AI logic (`/core/`) is extracted into pure TypeScript and can be used in **any framework** (React, Vue, Svelte, etc.). Fresh is just the current UI implementation.
## π οΈ Development
### Available Commands
```bash
deno task start # Start dev server (port 8003)
deno task build # Build for production
deno task preview # Preview production build
deno task check # Run linting and type checking
```
### Tech Stack
- **Framework**: [Fresh](https://fresh.deno.dev/) (Deno + Preact)
- **AI**: [Google Gemini](https://ai.google.dev/) (gemini-2.5-flash)
- **Visualization**: [D3.js](https://d3js.org/) (force-directed graphs)
- **State**: [Preact Signals](https://preactjs.com/guide/v10/signals/)
- **Storage**: LocalStorage + IndexedDB
- **Styling**: [Tailwind CSS](https://tailwindcss.com/)
## π― Use Cases
- **Meeting notes**: Automatic transcription and action item extraction
- **Interview analysis**: Topic mapping and speaker tracking
- **Podcast summaries**: Generate blog posts from audio
- **Brainstorming sessions**: Visualize topic relationships
- **Status updates**: AI detects completed tasks from follow-up conversations
## π Privacy
- All processing happens through Google Gemini API
- Conversations stored locally in browser (localStorage)
- Shareable links use compressed data in URL (no server storage)
- No analytics or tracking
## π License
MIT License - see [LICENSE](./LICENSE) file for details
## π€ Contributing
[Add contributing guidelines if you want contributions]
## π Acknowledgments
Built with:
- [Fresh](https://fresh.deno.dev/) - The next-gen web framework
- [Google Gemini](https://ai.google.dev/) - Multimodal AI API
- [D3.js](https://d3js.org/) - Data visualization
---
**Made with β and lots of conversations**