Skip to content
Ibadurahman Hanif
All projects
SaaS Platform

Pulse: Team Analytics SaaS

A multi-tenant analytics platform that turns scattered team data into one weekly signal founders actually read.

Year
2024
Timeline
10 weeks
Category
SaaS Platform
Pulse: Team Analytics SaaS cover
−31%
Trial-to-paid churn
<200ms
p95 dashboard load
12k/s
Events ingested at peak

The Problem

A B2B startup lost trial users because product data lived in five disconnected tools. Founders had no view of engagement, and churn was invisible until customers left. They needed a SaaS that aggregated usage and surfaced risk, without a data team.

The Solution

Pulse: a multi-tenant analytics SaaS with org isolation, role-based access, Stripe subscriptions, and streaming ingestion. A worker rolls events into per-tenant metrics and emails a weekly digest flagging churn-risk accounts.

My Role

Sole engineer and architect. Designed the multi-tenant data model, built the Next.js dashboard and NestJS API, set up Stripe billing, and shipped the AWS deploy with CI/CD.

Tech Stack

  • Next.js
  • NestJS
  • PostgreSQL
  • Prisma ORM
  • Redis
  • Stripe
  • AWS
  • Docker
  • GitHub Actions
System Architecture

How it fits together.

The high-level architecture: services, data stores, and the external systems they talk to.

Loading architecture diagram…

Approach

The core decision was tenant isolation by row, not database. A shared schema with tenantId on every table kept ops simple while Prisma middleware enforced the boundary on every query. Ingestion is decoupled via a Redis queue, and a nightly rollup pre-computes dashboard metrics, which kept p95 load under 200ms as volume grew.

Highlights

  • Stripe webhooks drive subscription state, no manual plan management.
  • Feature flags gate plan tiers without redeploys.
  • The weekly digest became the main retention lever, surfacing churn risk early.

Screens

Pulse dashboard overview
Pulse churn-risk account list
Remote · Available worldwide

Have a project in mind?

Tell me what you're building. I'll reply with honest feedback on scope, approach, and timeline, whether or not we work together.