A full-stack, AI-powered, offline-first PWA for field capture, audio interactions, deal reviews, and automated follow-up management.
Beyond simple text, FinBridge performs Multimodal Sentiment Analysis. We use RoBERTa (INT8-ONNX) for high-speed text sentiment and Wav2Vec2 for Vocal Emotion Recognition (SER).
- Audio Insights: Detect frustration, excitement, or hesitation directly from the speaker's voice.
- Text Context: AI scans transcripts for financial hotspots and commitment promises.
The Gmail Intelligence layer doesn't just send emailsโit understands intent.
- Intent Detection: AI classifies email replies to detect if a lead wants to meet.
- One-Click Scheduling: Automatically generates Google Meet links and calendars invites directly from the moderator dashboard.
- Follow-up Automation: Personalized, AI-generated follow-up emails based on conversation context.
The Smart Audio Player is seamlessly integrated with AI-generated transcripts.
- Jump to Intent: Click any sentence in the transcript to jump to that exact millisecond in the audio.
- Hotspot Nav: Important business intelligence moments (financials, dates, products) are automatically highlighted on the audio timeline for rapid review.
| Metric | Description |
|---|---|
| Product | FinBridge โ Contact capture, audio notes, deal review, and follow-up management |
| Deployment | Web PWA (installable on mobile & desktop), Vercel-ready |
| Offline | Full capture and queue when offline; sync when online |
| Roles | User (field), Moderator (review/audio/deals), Admin (full CRUD + analytics) |
| Stack | Next.js 15, React 19, Prisma, PostgreSQL, MinIO/S3, BullMQ/Redis, IndexedDB |
| Icon | Technology | Version | Purpose |
|---|---|---|---|
| โ๏ธ | React | 19.2 | UI library |
| โฒ | Next.js | 15.5 | App router, SSR, API routes, Turbopack |
| ๐ | TypeScript | 5.x | Type safety |
| ๐๏ธ | Prisma | 6.19 | ORM, migrations, type-safe DB access |
| ๐ | PostgreSQL | - | Primary database |
| ๐จ | Tailwind CSS | 4 | Styling, design tokens |
| ๐ฆ | Radix UI | Various | Accessible components |
| ๐ญ | Framer Motion | 12.x | Animations, page transitions |
| ๐ | Recharts | 2.15 | Charts (analytics) |
| ๐ | JWT (jose) | 6.x | Auth tokens, session |
| Icon | Technology | Purpose |
|---|---|---|
| ๐๏ธ | Whisper (Fast) | Speech-to-text transcription engine |
| ๐ง | Gemma 3 (Ollama) | LLM for OCR, summarization, and RAG strategy |
| ๐ | ONNX / RoBERTa | High-speed text sentiment analysis |
| ๐ง | Google Workspace | Gmail intent detection & Google Meet scheduling |
| ๐ชฃ | MinIO / S3 | Audio file storage (object store) |
| ๐ฎ | BullMQ / Redis | Job queues (transcribe, contacts sync, audio) |
| ๐๏ธ | IndexedDB | Offline contact & interaction store (Dexie) |
- Field capture - Users capture leads at stalls/events and optional voice notes, with or without network.
- Audio Intelligence - Multi-clip audio storage with automated transcription, sentiment analysis, and timestamped navigation.
- Automated Follow-ups - AI detects intent in email replies and auto-schedules Google Meet appointments.
- Deal review - Moderators listen to audio, view AI summaries, and mark deals as Profitable / Engaging / Worthy.
- Strategic Simulation - RAG-based call simulation to predict objections and suggest tactical sequences.
- Sync - Offline-captured contacts and interactions sync to the server when online.
- Total users / roles (User, Moderator, Admin)
- Total contacts and lead source (Manual / Event)
- Total interactions with audio and deal verdicts
- Pending follow-ups and overdue tasks
- Sync status (IndexedDB vs Server)
flowchart LR
subgraph Client
A[Home / User] --> B[Capture PWA]
B --> C[IndexedDB]
C --> D[Sync when online]
end
subgraph App_Server
D --> E[Next.js API]
E --> F[(PostgreSQL)]
E --> G[S3/MinIO]
E --> H[BullMQ]
end
subgraph AI_Backend
H --> I[Python FastAPI]
I --> J(Whisper)
I --> K(Gemma 3 / Ollama)
I --> L(Gmail / Google API)
end
| Role | Access | Main Actions |
|---|---|---|
| USER | Home, Dashboard, Capture | Capture contacts, record audio, sync when online |
| MODERATOR | Above + Audio/Deals | review audio, mark deal verdicts, schedule Meets, export CSV |
| ADMIN | Above + Admin Dashboard | Site-wide analytics, User/Contact CRUD, full data management |
FinBridge uses a Dexie (IndexedDB) layer to ensure no data is lost in high-density, low-network environments like expo stalls.
- Draft Store: Persists current form state during capture.
- Audio Queue: Stores raw audio blobs locally until a stable connection is detected.
- Conflict Resolution: Uses a versioned sync approach to map local IDs to server IDs.
| Method | Path | Description |
|---|---|---|
| POST | /api/auth/* |
Login, Signup, Forgot/Reset Password |
| POST | /api/contacts |
Create or upsert contact (JSON or FormData) |
| GET | /api/interactions/audio |
List interactions with audio + presigned URLs |
| PATCH | /api/moderator/deals |
Update deal verdicts and remarks |
| POST | /api/sync/contacts |
Bulk contact sync from IndexedDB |
| POST | /api/google/schedule |
Auto-generate Google Meet and send invites |
- User: id, email, fullName, role
- Contact: name, phone (unique), currentStage, intentTags, sourceMode
- Interaction: audioObjectKeys[], transcript, sentiment, dealFields, followupStatus
- Moderator Dashboard: Real-time interaction counts and deal progress.
- Admin Dashboard: User growth charts, site-wide metrics, and data integrity checks.
- Export: Full CSV support for deal reviews and contact lists.
Copy .env.example and set:
DATABASE_URL,JWT_SECRET,PYTHON_BACKEND_URLGOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET(for Meets)WHISPER_MODEL,OLLAMA_HOST(for AI features)
pnpm install
pnpm prisma:migrate:local
pnpm dev
# Start AI Backend
cd python_backend && python main.pyFinBridge โ Capture everywhere. Review and follow up with confidence.