All work

2025–2026 · Closed beta

Social Platform

Mobile app, web client, admin panel and landing page · closed beta · product name withheld until public launch

An invite-only social platform for a closed community: a native mobile app, a web client, a moderation admin panel and a marketing landing page on one .NET backend. It is in closed beta with real users, the web client is live, and the apps are going through App Store review. The name is withheld here until the public launch; the architecture, stack and my role are described in full.

Role

Solo developer — product, backend, mobile and web clients, admin panel, landing page, infrastructure.

Outcome

Closed beta with real users; App Store review in progress.

Links

Not publicly available

What I built

  • ASP.NET Core 8 Web API with a layered structure: controllers, business-logic layer, EF Core data layer, and a separate xUnit test project covering the matching algorithm, auth and validation.
  • PostgreSQL through EF Core 8 with code-first migrations; discovery and matching queries tuned around a configurable scoring algorithm.
  • Real-time messaging and presence over a SignalR hub, consumed by the React Native client through the SignalR JavaScript client.
  • Authentication with JWT plus one-time-password flows, rate limiting and a common-password blocklist.
  • Media pipeline: uploads to Cloudflare R2 (S3-compatible API), server-side resizing with ImageSharp, and an AI moderation step using Google Vision and Gemini before anything becomes visible.
  • Background services for self-destructing content and time-boxed features; push notifications; in-app subscriptions through RevenueCat with receipt validation.
  • Containerized with a multi-stage Docker build and deployed on Azure with Application Insights telemetry; PostgreSQL migrations run on startup; docker-compose reproduces the stack locally.
  • Mobile delivery through Expo EAS with development, preview and production profiles, over-the-air updates for JavaScript changes, and TestFlight for the closed beta; a Next.js admin panel for moderation and staff tooling.

Architecture

Clients

  • Mobile app

    React Native · Expo · TypeScript

  • Web client

    Next.js · same API

  • Admin panel

    Next.js · moderation & staff

  • Landing page

    Next.js · invite funnel

API

  • .NET 8 Web API

    REST · JWT + OTP auth

  • SignalR hub

    messaging · presence

  • Background services

    cleanup · timed features

Data & services

  • PostgreSQL

    EF Core 8 · migrations

  • R2 media

    Cloudflare · ImageSharp resizing

  • AI moderation

    Google Vision · Gemini

  • Push · payments · email · SMS

    Expo push · RevenueCat · Resend · OTP SMS

Infrastructure

  • API container on Azure

    multi-stage Docker build · .NET 8 image

  • PostgreSQL 15

    EF migrations run on startup

  • Cloudflare R2

    object storage · public CDN URL

  • Application Insights

    telemetry · structured logging

  • Expo EAS

    dev / preview / production builds · OTA updates

  • TestFlight

    closed beta distribution

  • →Client calls the REST API for everything except chat; chat and presence ride the SignalR connection.
  • →Every uploaded image goes R2 → moderation → approval before it is served to other users.

Stack

Backend
C# · .NET 8 · ASP.NET Core Web API · EF Core 8 · SignalR · xUnit
Data & services
PostgreSQL · Cloudflare R2 · Google Vision · Gemini · RevenueCat · Resend
Clients
React Native · Expo Router · TypeScript · Next.js web client · Next.js admin panel · Next.js landing page
Infrastructure
Docker · Azure · PostgreSQL 15 · Cloudflare R2 · Application Insights · Expo EAS · TestFlight · Scalar / OpenAPI

Screens

hover to scroll · click to enlarge