Analytics
Purpose
The main purpose of these analytics components is to:
- Enable data for personalized AI/ML models to enrich the user experiences.
- Provide insights into content usage and support strategies for improving content roadmaps (often in conjunction with Google Analytics).
Analytics Clients
Analytics Frontend
The Analytics Frontend is responsible for handling first-party data events. It also provides features such as:
- Event Enrichment: Initial implementation supports geo enrichment via Cloudflare headers.
- Event Triggers: Planned future functionality to enable personalized notifications and more.
Analytics Backend
The Analytics Backend processes enriched events from the Frontend. Key responsibilities include:
- Data Handling: Buffers events to disk and generates Parquet files (initial implementation), storing them in object storage. Future plans include forwarding data to other stores like ClickHouse.
- Storage and Analysis: Supports reasonable long-term event storage and analysis using DuckDB.
Dashboards
Initially, we're providing up-to-date visualizations of events through Evidence dashboards (work-in-progress, to be released later or if you request them directly).
Additional Information
Both the Frontend & Backend are a single binary. When deployed, you can choose to either have a single instance
or deploy such that they have specific purposes (enrichment, triggers vs storage).
Code: https://github.com/sowers-io/bosca/tree/main/workspace/core/analytics