2016–2025Archived

Tremr — Reboot

Conversational blogging platform built for discussion

  • Ruby on Rails
  • React
  • IBM Cloudant
  • Firebase
  • Redis
  • Resque
  • Cloudinary
  • Embedly
The Tremr homepage displaying articles in a multi-column wall

The original Tremr asked whether blogging could be social without becoming shallow. The reboot took that premise much further: profiles became publications, readers could choose how to view a feed, and a response could be every bit as substantial as the post that started the conversation.

I built the full-stack product around one core object: the post. Long-form writing, images, links and embedded media all used the same publishing model. Posts could appear in personal feeds, organised sections and collaborative channels while preserving their author and the route by which they were shared.

Conversation without second-class comments

A response was another post, not a smaller comment record. It had its own title, body, media, tags, reactions, votes and replies. Parent and ancestor links kept the route through a discussion intact, while threaded, latest and top-rated views let readers approach a large conversation in different ways.

More useful signals

Tremr separated recommendation, disagreement, semantic reactions, endorsements, reports and reputation because they answered different questions. A reader could say that something was important, funny or misleading; endorse another member’s writing or conduct; and see trust, respect and subject reputation without those signals being collapsed into a single popularity score.

One interface, several systems

Rails handled the application and coordinated writes. Cloudant stored durable, document-shaped publishing data; Firebase made interaction update immediately; Redis and Resque moved feed fan-out and other derived work off the request path. React tied those systems together as one client-side application, with Cloudinary and Embedly supplying the media pipeline.

The difficult part was not any individual screen. It was keeping publishing, real-time interaction and community trust coherent while allowing each to evolve at its own pace.

Look at it

More on this project

All projects