
Behavioral push notification and user analytics SaaS platform — built entirely from scratch.
Year
2026
Role
Founder
Stack
Riuve is a SaaS platform that lets app developers track user behavior, build targeted push notification campaigns, and analyze engagement — all from a single dashboard. It supports both mobile (React Native/Expo) and web (Next.js) apps through published npm SDKs. I designed and built the entire platform on my own: the backend API, the SaaS dashboard, two npm SDKs, a staff-only admin panel, a documentation site, a help center, and a status page.
Building a notification platform means solving multiple hard problems at once. The SDKs need to work offline and never lose events — even if the app is killed mid-session. The backend needs to evaluate complex targeting rules in real-time and deliver notifications at scale. The dashboard needs to give developers full control over campaigns, drip sequences, and A/B tests without being overwhelming. And all of this had to be built by one person, so every architectural decision had to be simple enough to maintain solo but robust enough to scale.
The backend runs on Express.js/TypeScript with Prisma on PostgreSQL (Neon) and Redis (Upstash) as an event buffer queue. I built a rule-based campaign targeting engine where condition groups are OR'd together and conditions within each group are AND'd — giving developers flexible audience segmentation. The drip chain system supports delay-based step sequencing with A/B variant weighting for split testing. Push delivery goes through Expo Server SDK to FCM, and transactional emails are rendered server-side using React Email templates and sent via Resend.
I published two SDKs to npm — one for Expo/React Native and one for Next.js. Both use a Singleton Manager/Adapter architecture with offline-first event batching (flushed by size threshold, time interval, or app backgrounding), exponential backoff retry with jitter, 30-minute idle session lifecycle management, and a pre-init event queue so no events are lost before initialization completes. Storage adapters are pluggable — supporting AsyncStorage and MMKV on mobile, and localStorage on web.
The Next.js 16 SaaS dashboard includes a multi-step campaign wizard with an audience condition builder, a chain builder for drip automation sequences, and a full analytics suite covering funnels, cohort retention, event trends, and platform breakdowns. Email content can be authored in either a CodeMirror HTML editor or a Tiptap rich text editor.
I also built a staff-only admin panel with AI-powered reply drafting for support tickets (streamed via SSE), broadcast announcements with AI content generation, a revenue dashboard tracking MRR/churn/LTV from Polar.sh, a system health terminal with per-service latency monitoring, and an API explorer. The wider ecosystem includes a Fumadocs-based documentation site with an /llms.txt endpoint for LLM consumption, a help center with 35 articles and full-text search, and a status page with 90-day uptime bars and real-time response time charts.
The platform is live and actively serving push notifications and email campaigns. The SDKs are published on npm (@riuve/expo and @riuve/next) and handle event tracking with zero data loss through offline-first batching and retry mechanisms. The entire platform — backend, dashboard, SDKs, admin panel, docs, help center, and status page — was built and maintained by a single developer.