๐Ÿ“Š

Analytics & Insights

Creator dashboard, platform metrics, AI insights en realtime reporting via TanStack Query v5

Fastify 5 API PostgreSQL 16 + Drizzle ORM Lucia Auth React 19 + TanStack Query v5

๐Ÿ› ๏ธ Tech Stack

โšก

Backend

Fastify 5 โ€” analytics routes, admin middleware, aggregation queries

๐Ÿ—„๏ธ

Database

PostgreSQL 16 + Drizzle ORM โ€” materialized views voor platform metrics

๐Ÿ”

Auth

Lucia Auth โ€” role-check (creator/admin) op analytics endpoints

โš›๏ธ

Frontend

React 19 + TanStack Query v5 โ€” realtime refetch, stale-while-revalidate

โš›๏ธ TanStack Query v5 โ€” Dashboard Setup
// Realtime creator dashboard โ€” refetch elke 60s
const { data: analytics } = useQuery({
  queryKey: ['analytics', 'creator', creatorId],
  queryFn: () => fetch(`/analytics/creator/${creatorId}`).then(r => r.json()),
  refetchInterval: 60_000,
  staleTime: 30_000,
  placeholderData: keepPreviousData, // v5 API
});

๐Ÿ“ˆ Creator Analytics Dashboard

Alle metrics zijn toegankelijk via GET /analytics/creator/:id. De frontend haalt data op via TanStack Query v5 met automatische refetch.

๐Ÿ‘๏ธ Views
12.458
โ†‘ 34% t.o.v. vorige maand
๐Ÿ’ฐ Verdiensten
โ‚ฌ2.458
โ†‘ 23% t.o.v. vorige maand
๐Ÿ’Ž Tips
โ‚ฌ842
8.420 tokens ontvangen
๐Ÿ”„ Conversie
4.7%
โ†‘ 0.8% vs vorige maand

๐Ÿ“Œ Top Content

๐Ÿ“ธ
Summer Vibes
Photo ยท 2 dagen geleden
2.847 views
423 likes
๐ŸŽฅ
Live Session #12
Livestream ยท 5 dagen geleden
1.923 viewers
โ‚ฌ178 tips
๐Ÿ”’
Exclusive Set
Premium ยท 1 week geleden
341 unlocks
โ‚ฌ512 earned

๐Ÿ“ก Stream Statistics

Streams deze maand
8
Gem. kijkers
184
Peak viewers
312
Totale kijktijd
48h
Tips per stream (gem.)
โ‚ฌ105,25
โ†‘ 18% t.o.v. vorige maand

๐Ÿ’ฐ Maandelijkse Revenue Trend (2026)

โ‚ฌ1.2k
Jan
โ‚ฌ1.6k
Feb
โ‚ฌ2.0k
Mrt
โ‚ฌ2.5k
Apr

๐ŸŒ Platform Metrics

Beschikbaar via GET /analytics/platform โ€” admin only

Overzicht van de gezondheid van het gehele platform. Gecached in Redis, elke 5 minuten bijgewerkt via een Fastify job.

๐Ÿ“… DAU
18.4k
Daily Active Users
๐Ÿ“† MAU
142k
Monthly Active Users
๐Ÿช™ Token Velocity
2.3M
Tokens/dag gespendeerd
๐Ÿ”„ Churn Rate
3.2%
โ†“ 0.4% vs vorige maand

๐Ÿ“Š DAU/MAU Ratio

Stickiness ratio 12.9%

Percentage van MAU dat dagelijks actief is. Doel: >15% voor Q3 2026.

๐ŸŒฑ Creator Growth

Nieuwe creators (maand)
+347
Actieve creators (30d)
4.821
Creator+ tier
892

๐Ÿช™ Token Economy

Tokens verkocht 48.2M
Tokens gespendeerd 44.7M
Gem. spend/user 314 tokens
GMV (maand) โ‚ฌ482k

๐Ÿค– AI Insights

Inzichten gegenereerd door het AI-laag โ€” mood trends, matching succes en AI module gebruik. Verwerkt via nachtelijke batch jobs, resultaten gecached in PostgreSQL 16.

๐ŸŽญ

Mood Trends

๐Ÿ’‹ Flirty 38%
๐Ÿ˜Ž Chill 29%
๐Ÿ”ฅ Intense 21%
๐ŸŒ™ Romantic 12%

Peak: Vrijdag 20:00โ€“23:00

๐Ÿ’•

Matching Succes

Match-to-chat conversie
41%
โ†‘ 4% vs vorige maand
Gem. compatibiliteitsscore
0.78
van 1.0 max
LocalLove matches/dag
2.340
๐Ÿง 

AI Module Gebruik

DNA Quiz invullers 89%
AI Match requests/dag 48.2k
Tip Roulette spins 12.4k/dag
AI chat replies 34.1k/dag

โฐ Activiteitspatronen

Beste tijd om te posten

๐ŸŸข Peak: 19:00 โ€“ 23:00 Hoge engagement
๐ŸŸก Goed: 12:00 โ€“ 14:00 Gemiddeld
๐Ÿ”ด Laag: 02:00 โ€“ 07:00 Lage engagement

Beste dagen (gem. engagement %)

Ma
8.2
Di
7.1
Wo
6.8
Do
7.4
Vr
9.1
Za
9.8
Zo
8.9

๐Ÿ”Œ Fastify 5 API Endpoints

Alle analytics routes zijn beveiligd via Lucia Auth. Platform endpoints vereisen admin-rol. Data wordt geaggregeerd via Drizzle ORM op PostgreSQL 16 materialized views.

GET /analytics/creator/:id creator role

Haal alle creator metrics op โ€” views, earnings, tips, conversion rate, top content, stream stats.

// Query params: ?period=30d&tz=Europe%2FAmsterdam
// Response 200
{
  "period": "30d",
  "views": 12458,
  "earnings": { "total": "2458.00", "tips": "842.00", "subscriptions": "1470.00" },
  "conversionRate": 0.047,
  "topContent": [ ... ],
  "streamStats": { "totalStreams": 8, "avgViewers": 184, "peakViewers": 312 }
}
GET /analytics/platform admin only

Platform-brede metrics โ€” DAU/MAU, token velocity, creator growth, churn rate, AI insights.

// Response 200 (admin role vereist via Lucia Auth)
{
  "dau": 18400,
  "mau": 142000,
  "dauMauRatio": 0.129,
  "tokenVelocity": { "sold": 2300000, "spent": 2180000 },
  "creatorGrowth": { "newThisMonth": 347, "activeCreators": 4821 },
  "churnRate": 0.032,
  "aiInsights": {
    "dominantMood": "flirty",
    "matchingSuccessRate": 0.41,
    "aiModuleUsage": { "matchRequests": 48200, "rouletteSpins": 12400 }
  }
}

โš›๏ธ TanStack Query v5 โ€” Platform Admin Hook

const usePlatformAnalytics = () => {
  return useQuery({
    queryKey: ['analytics', 'platform'],
    queryFn: () => fetch('/analytics/platform').then(r => {
      if (!r.ok) throw new Error('Unauthorized');
      return r.json();
    }),
    refetchInterval: 5 * 60_000, // 5 minuten
    staleTime: 2 * 60_000,
    retry: false, // geen retry bij 401/403
  });
};

๐Ÿ“‹ Export & Rapportage

๐Ÿ“Š
Maandrapport
PDF export met alle metrics โ€” earnings, views, subscribers
GET /analytics/creator/:id/export?format=pdf
๐Ÿ“ˆ
Revenue Data
CSV export voor boekhouding โ€” transacties, tokens, payouts
GET /analytics/creator/:id/export?format=csv
๐Ÿค–
AI Insights Report
JSON dump van AI-gegenereerde aanbevelingen en trends
GET /analytics/creator/:id/insights