SaaS & Platforms

Shahrzad Platform

Audiobook platform — mobile, dashboard, and backend

Role
Full-stack author
Period
2019 – 2022
Commits
800+ across the platform
Backend
1,500+ C# files

Overview

The Shahrzad audiobook & podcast platform — built full stack, end to end: an ASP.NET Zero backend of 1,500+ C# files with a GraphQL API and Xamarin mobile heads, the React Native consumer app (shipped as KetabGB), and the Angular creator dashboard where creators watch installs, downloads, and paid-subscriber play time, manage their catalog, and export financial reports as CSV.

The platform meters paid-subscriber play time and turns it into creator revenue share — catalog, entitlements, playback, and payouts all flow through the layered core shown below, with role-based access enforced server-side by ABP permissions.

  • ShahrzadCMSASP.NET Zero solution — 3 sln heads, GraphQL, Xamarin
  • Shahrzad / ShahrzadUpgradeReact Native consumer app (Apollo GraphQL)
  • shahrzad-cms-angularcreator dashboard
  • ContentPoolNode.js ingestion services (team)

Tech stack

Backend

  • .NET
  • ASP.NET Zero / ABP
  • GraphQL
  • EF Core
  • SQL Server

Clients

  • React Native
  • Apollo Client
  • Angular
  • Xamarin

Content

  • Node.js ingestion
  • audio storage

Repository structure

The real backend solution — note the GraphQL project and Xamarin heads beside the ABP layers:

ShahrzadCMS.All.sln
src/
├─ ShahrzadCMS.Core / Core.Shared           domain
├─ ShahrzadCMS.Application / .Client / .Shared
├─ ShahrzadCMS.EntityFrameworkCore          repositories · migrations
├─ ShahrzadCMS.GraphQL                      GraphQL API
├─ ShahrzadCMS.Web.Host / Web.Core / Web.Public
├─ ShahrzadCMS.Mobile.Droid / .iOS / .Shared   Xamarin heads
└─ ShahrzadCMS.Migrator                     deploy-time schema
test/   GraphQL.Tests · Tests · ConsoleApiClient
docker/ (mvc + ng) · build/

Design patterns

  • Modular monolith (ABP)

    One layered solution serves REST, GraphQL, public web, and mobile heads without duplicating the domain.

  • GraphQL for mobile

    The RN app talks Apollo/GraphQL — one flexible contract for a fast-moving consumer UI.

  • Play-time metering

    Usage events aggregate into per-creator revenue share — the platform’s core business rule lives in the Application layer.

  • Content pipeline

    ContentPool services ingest and normalize audio masters before they reach the catalog.

  • Report projection

    Financial views are read-model projections over play-time events, exported as CSV from the creator dashboard.

System design

Shahrzad Platform system diagram