Independent Project
January 2024

Heartify — Modern Dating App

Expertise

Full-Stack, Realtime Systems, Security & RBAC

Platforms

Web (Responsive/PWA), API

Deliverables

  • Auth & onboarding
Heartify — Modern Dating App

Project Overview

Heartify is a security-minded dating platform built with Angular on the front end and ASP.NET Core on the server. The product focuses on safe onboarding, frictionless discovery, and reliable SignalR realtime chat once there’s a mutual match. Users build profiles, upload photos, tune preferences (age, distance, interests), swipe/like, and match. An admin console supervises reports, content, and abusive behavior through clear, auditable workflows.

Privacy and trust were treated as first-class concerns: TLS everywhere, scoped roles, rate limits, media rules, and transparent report handling. The end result is a fast, predictable experience for users and a maintainable codebase for operators.

Unity 6 Overview

Execution

Architecture & implementation

  • ASP.NET Core API with clean boundaries (DTOs/validators), EF Core for persistence, and pagination/query specs for consistent list endpoints.
  • Angular + TypeScript front end with feature modules, route-level code splitting, and guarded routes for multi-role access.
  • Identity & roles: JWT auth, refresh tokens, user/admin roles, fine-grained policies (edit profile, moderation, payouts when applicable).
  • Realtime chat via SignalR: presence, typing indicators, read receipts, optimistic UI, reconnection/backoff, and message de-duplication ids.
  • Photo pipeline: client validation (size/type/ratio), server-side resize & thumbnails, EXIF strip, and signed URLs; storage via cloud bucket/CDN.
  • Discovery: distance-aware search (geo radius), filters (age/interests/online), and basic ranking (recent activity + mutual interests).
  • Safety: block/report, rate-limits on messages/likes, content checks for images, and moderation queue with audit logs.
  • Admin console: user & content moderation, flag triage, simple analytics (DAU/MAU, match funnel, abuse trends).

Quality & performance

  • Core Web Vitals guardrails on Angular app; lazy media and preconnect hints for faster profile loads.
  • API p95 tracked per endpoint; N+1 avoided via includes/projections; server caching for hot reads.
  • Load-safe chat: bounded message size, backpressure, and retry policies to keep SignalR healthy.

Results

Measurable outcomes

  • Experience: Landing/profile LCP ≈ 2.1s · API p95 ≈ 180ms.
  • Messaging: SignalR message delivery p95 ≈ 120ms with reconnect success 98.5%.
  • Conversion: match conversion rate 12.4% from mutual likes; signup completion 86%.
  • Safety ops: median report review time 18m; image moderation approval time 9s.

Before → After (snapshot)

Before: heavy profile payloads, occasional chat hiccups on flaky networks. After: thumbnailing + caching, SignalR backoff/ack → dropped reconnects ↓ 42% and steadier p95.