← All workSOCIAL · COMMUNITY·2021

Social Platform

Dating & community network (NDA) — A US client (under NDA) needed a social network with dating and community-forum capabilities built from the ground up: user profiles, friends, messaging, the lot. I led a team of five and, alongside the build, brought in the QA and delivery practices the project didn't yet have.

Drupal 8/9Apache SolrRedisPostgreSQLStripe SDKPHP 8Docker4DrupalTwig
Social Platform
Sector
Social · Community
Year
2021
Role
Lead developer · team lead
Outcome
Built from scratch · team of 5 · QA/QC + CI/CD introduced · frequent releases
The problem

What needed fixing.

Building a social network from scratch is mostly a discipline problem disguised as a feature problem. Profiles, relationships, messaging and a feed are not individually hard; keeping them coherent and shippable, with a team of five and frequent releases, is where projects come apart. There was no QA process and no reliable release pipeline to hold it together.

The approach

How I built it.

I architected the platform on Drupal 8/9 with Apache Solr for search, Redis for caching, PostgreSQL for data and Stripe for payments. As team lead I introduced QA/QC and CI/CD with frequent, low-drama releases — the unglamorous scaffolding that lets five people ship a complex product without standing on each other's toes.

Profiles, friends, messaging, dating and forums — a full social network built from nothing, with a team of five and a release cadence that didn't set anything on fire.

Objectives
  • 01Build a social network with profiles, friends, messaging and dating from scratch
  • 02Add community forums and the surrounding social features
  • 03Lead a team of five (backend, front end, QA) to a steady release cadence
  • 04Introduce QA/QC and CI/CD where there were none
Key elements built
  • User profiles, friend system and direct messaging built from the ground up
  • Dating capabilities and community forums
  • Apache Solr search, Redis caching, PostgreSQL data layer
  • Stripe payment integration
  • QA/QC process and CI/CD pipeline introduced to the team

Two products wearing one login

A dating app and a community forum are not the same animal, whatever the pitch deck says. One wants you to find a single person and leave; the other wants you to stay and argue with hundreds. This platform — a US social network, built from scratch — had to be both at once, behind one account, without either side feeling bolted on. Profiles, friends, messaging, matching: the easy part to describe and the hard part to make feel effortless.

The part users never see, doing the heavy lifting

A social feed is a deceptively expensive thing: every scroll is a fan of queries that all have to come back before the page feels alive. So the interesting work sat behind the UI — Apache Solr carrying search and discovery, Redis holding the hot paths so the database wasn't asked the same question a thousand times a minute, PostgreSQL keeping the relational truth, and Stripe handling the bit where the product has to actually make money. None of it is visible. All of it is why the thing felt quick.

Tuned read path
A tuned read path: Solr for discovery, Redis for the hot queries, Postgres for the truth.

Five people, shipping often

I led a team of five — two backend, two front-end, one QA — and the first thing we changed wasn't code, it was the cadence. QA and QC where there had been none, CI/CD where releases had been an event you scheduled around. Frequent, boring releases beat rare, heroic ones every time; the goal was to make shipping so routine nobody had to be brave about it.

Full stack
Drupal 8/9Apache SolrRedisPostgreSQLStripe SDKPHP 8Docker4DrupalTwig
Next projectPharma Multi-site Multilingual multisite platform (NDA)

Got something with similar shape? I read every message personally.

Start a project →