InsightBoard is a full-stack, scalable product telemetry and user behavior analytics platform — essentially a Mixpanel or Amplitude clone — where companies can plug in a tracking SDK into their SaaS apps and view:
- Real-time feature usage
- User retention funnels
- Session heatmaps
- Custom event dashboards
InsightBoard/
├── backend/
│ ├── api/ # FastAPI event ingestion API
│ └── aggregator/ # Data aggregation service
├── frontend/
│ └── dashboard/ # React dashboard UI
├── sdk/
│ └── js/ # JavaScript client SDK
└── docs/ # Documentation
- Accepts POST requests from apps/users via JavaScript SDK
- Rate-limited, auth-enforced API
- Batches sent every 5s to reduce load
- Stack: FastAPI, PostgreSQL, Kafka, Redis
- Lightweight client SDK for frontend apps
- Sends batched analytics to /track endpoint
- Uses localStorage for buffering offline events
- Stack: Vanilla JS / ES Modules
- Line charts for event frequency over time
- Retention funnel builder
- Breakdown by custom properties
- Live feed for latest events
- Stack: React, TailwindCSS, Chart.js, Zustand
- Drag and drop chart components
- Create "boards" with different time filters
- Save/share views
- Stack: React DnD, local storage/session persistence
- Kafka consumers batch and insert events
- Store in ClickHouse for fast time-series analytics
- Stack: Kafka, ClickHouse, Python (for ETL)
- Org → Project → Team → Members
- RBAC permissions: View / Edit / Admin
- Invite users, manage API keys per project
- Stack: PostgreSQL, Auth0 or Firebase Auth
[Frontend App]
↓
[JS SDK] →→→→→ [InsightBoard API Gateway]
↓
[Kafka Queue]
↓
[Event Aggregator Service]
↓
[ClickHouse DB]
↓
[Analytics Dashboard]
- Node.js (v16+)
- Python (v3.9+)
- Docker and Docker Compose
- PostgreSQL
- Kafka
- ClickHouse
- Clone the repository
git clone https://github.com/yourusername/InsightBoard.git
cd InsightBoard- Set up the backend
cd backend/api
pip install -r requirements.txt- Set up the frontend
cd frontend/dashboard
npm install- Set up the SDK
cd sdk/js
npm install- Start the services using Docker Compose
docker-compose up -d