Blog

How to Build a Medium Clone with Bubble

Sep 20, 2025

Calculating...

Calculating...

Harish Malhi - founder of Goodspeed

Founder of Goodspeed

How to Build a Medium Clone with Bubble – Goodspeed Studio blog

How to architect and build a Medium-style content platform on Bubble, from rich text editing to publications, claps, and membership paywalls.

How to architect and build a Medium-style content platform on Bubble, from rich text editing to publications, claps, and membership paywalls.

What Medium Actually Does

Medium is a blogging platform where writers publish long-form articles and readers discover content through recommendations, topics, and publications. The business model combines free access with a paid membership that unlocks metered content. Writers earn money based on how much time paying members spend reading their articles.

The platform's strength is its reading experience and discovery engine. Clean typography, minimal distractions, and algorithmic recommendations keep readers engaged. For writers, the low-friction publishing flow and built-in audience make it easier to get started than running your own blog.

Core Features to Build

The minimum viable Medium clone needs a rich text editor for writing and formatting articles, user profiles with published articles and follower counts, a reading experience with estimated read time and clap interactions, topic-based discovery and a home feed, and publications that group articles under a shared brand. The clap system is Medium's twist on likes: readers can clap up to 50 times per article, which influences recommendations and writer earnings.

Bookmarks, reading history, and a personalised feed round out the reader experience. On the writer side, you need draft management, scheduling, and basic analytics showing views, reads, and claps per article. The membership paywall is a premium feature you can phase in after the core reading and writing experience works.

Data Types in Bubble

Your primary data types are User, Article, Publication, Topic, Clap, Bookmark, Follow, and Comment. The User type extends Bubble's built-in user with display name, avatar, bio, website, follower count, following count, and a list of topics they follow. Store aggregate counts as number fields and update them with backend workflows.

The Article type is the centrepiece. Fields include title, subtitle, body (rich text), featured image, author (User reference), publication (Publication reference, optional), topics (list of Topics), status (draft, published, unlisted), published date, read time (number, calculated on save), view count, read count, clap count, and a metered flag for paywall content. Calculate read time by dividing word count by 250 and rounding up.

Publication has a name, description, logo, header image, editors (list of Users), writers (list of Users), and followers count. Topics have a name, slug, description, and article count. Clap is a join between User and Article with a count field (1 to 50). Bookmark links a User to an Article. Follow links two Users or a User to a Publication or Topic. Comment has a body, author, article reference, parent comment reference for threading, and created date.

Building the Rich Text Editor

Medium's editor is one of its defining features, and replicating it in Bubble requires some thought. Bubble's built-in rich text input is functional but basic. For a Medium-quality writing experience, use the Tiptap or Quill editor plugin from the Bubble plugin marketplace. These give you heading levels, bold, italic, block quotes, code blocks, embedded images, and links with a clean inline toolbar.

Set up the editor on a dedicated writing page with a full-width layout and minimal chrome. Auto-save drafts every 30 seconds using a recurring workflow that updates the Article thing's body field. Show a subtle saved indicator so writers know their work is not lost. The publish flow should take the writer from editor to a metadata screen where they set the title, subtitle, featured image, topics, and publication before going live.

For the reading side, render the Article's body field using Bubble's rich text element with custom CSS to match Medium's typography. Set max-width to 680 pixels, use a serif font for body text, and add generous line height and paragraph spacing. This is where CSS in the page header comes in handy for fine-tuning the reading experience.

Workflows and Logic

The publish workflow changes the Article's status from draft to published, sets the published date to the current date and time, and triggers a backend workflow that notifies followers. The notification workflow searches for all users who follow the author or the article's topics and creates notification entries for each. Batch these with Bubble's scheduled API workflows to avoid hitting workflow limits on large follower lists.

The clap workflow is more nuanced than a simple like. When a user claps, check if a Clap entry exists for that user and article. If not, create one with count 1. If it exists and count is below 50, increment by 1. Update the article's total clap count accordingly. On the front end, show the clap button with a press-and-hold interaction using a JavaScript-triggered custom event that increments on each tick while the button is held down. This replicates Medium's satisfying clap animation.

The home feed pulls articles from authors and topics the current user follows, sorted by published date. Add a trending section that sorts by clap count within the last 7 days. The explore page shows articles grouped by topic with horizontal scrolling repeating groups for each topic category. Each repeating group searches for Articles where topics contain the current topic, sorted by clap count descending.

Reading time tracking works by logging when a user opens an article and when they navigate away or scroll to the end. Create a Read event with start time, end time, and article reference. Use this data for writer analytics and recommendation scoring.

UI Components and Layout

The home page uses a single-column layout with article cards showing the featured image, title, subtitle, author info, publication name, topic tags, and estimated read time. Each card links to the full article page. Keep the design clean and text-forward, just like Medium does.

The article page is a full-width layout with the content centred at 680 pixels max-width. The author bio sits at the top below the title, and a sticky sidebar or bottom bar holds the clap button, comment count, bookmark button, and share options. Use a floating group for this action bar so it stays visible during scrolling.

The writer dashboard is a separate section with tabs for published articles, drafts, and stats. Stats show views, reads, claps, and followers over time using a chart plugin. The publication management page lets editors review submitted articles, manage writers, and customise the publication's branding.

Privacy Rules and Permissions

Published articles are visible to everyone. Drafts are only visible to the author and editors of the publication they belong to. User email addresses are private. Clap counts are public but individual clap records are only visible to the user who created them. Bookmark lists are private to each user. Publication editor and writer lists are visible to publication members but the management controls are restricted to editors only.

For metered content, articles with the metered flag set to true show the first few paragraphs to non-members and display a paywall prompt for the rest. Implement this by storing a preview text field separately or by truncating the body on the front end for non-paying users using conditional visibility on content groups.

What to Skip in V1

Skip the recommendation algorithm, custom domains for publications, writer earnings and payouts, series and newsletter features, embedded media (tweets, videos), and the mobile app. These are all additive features that do not affect the core write-read-discover loop. Build the basic publishing and reading experience first, validate that writers will actually use it, and then layer on monetisation and advanced discovery.

Cost and Timeline

A core Medium clone with editor, profiles, claps, topics, and basic discovery takes 5 to 7 weeks for an experienced Bubble developer. Adding publications and membership extends that to 8 to 10 weeks. You will need Bubble's Growth plan at $119 per month for the workflow capacity and data storage. A rich text editor plugin runs $5 to $20 per month. Total first-quarter cost for DIY is $400 to $600. Hiring a developer runs $6,000 to $15,000 depending on feature scope.

DIY vs Hiring a Bubble Developer

The rich text editor setup and reading experience styling are the trickiest parts of this build. If you have CSS experience and are comfortable with Bubble plugins, you can handle it yourself. The data model for articles, claps, and follows is standard social app architecture. Where most people struggle is the notification system, metered content logic, and publication permissions. These require careful privacy rule configuration and backend workflow orchestration.

A professional Bubble developer will get the editor feeling polished, set up proper backend workflows for notifications and analytics, and configure privacy rules that actually work at scale. Worth it if you are serious about launching to a real audience.

Ready to Build?

Related guides:

  • Bubble openai integration guide

  • Bubble mailchimp integration guide

If you want a publishing platform that feels as smooth as Medium without the six-figure development budget, talk to Goodspeed Studio. We will scope your build and get you to launch in weeks, not months.

Ship Your Publishing Platform

Medium's core mechanics, rich text publishing, topic-based discovery, and social engagement, are all buildable in Bubble. Start with the editor and reading experience, get writers publishing, and layer on paywalls and recommendations once you have traction. Talk to our Bubble developers.

Harish Malhi - founder of Goodspeed

Harish Malhi

Founder of Goodspeed

Harish Malhi is the founder of Goodspeed, one of the top-rated Bubble agencies globally and winner of Bubble’s Agency of the Year award in 2024. He left Google to launch his first app, Diaspo, built entirely on Bubble, which gained press coverage from the BBC, ITV and more. Since then, he has helped ship over 200 products using Bubble, Framer, n8n and more - from internal tools to full-scale SaaS platforms. Harish now leads a team that helps founders and operators replace clunky workflows with fast, flexible software without writing a line of code.

Frequently Asked Questions (FAQs)

How do I build a rich text editor like Medium in Bubble?

Use a Tiptap or Quill editor plugin from the Bubble marketplace. These support headings, formatting, images, and links with an inline toolbar that closely matches Medium's writing experience.

Can Bubble handle a content platform with thousands of articles?

Yes. Bubble's database handles large article volumes well. Optimise by using pagination in repeating groups, storing read time and counts as pre-calculated fields, and running analytics via backend workflows.

How do I implement Medium's clap system in Bubble?

Create a Clap data type linking User and Article with a count field capped at 50. Use a workflow that checks for existing claps and increments or creates accordingly. Update the article total clap count in the same workflow.

Can I add a paywall to my Medium clone on Bubble?

Yes. Use a metered flag on articles and conditional visibility to show a truncated preview to non-subscribers. Integrate Stripe via plugin for subscription management and payment processing.

How long does it take to build a Medium clone in Bubble?

The core publishing and reading experience takes 5 to 7 weeks. Adding publications, membership paywalls, and writer analytics extends that to 8 to 10 weeks for an experienced Bubble developer.

How do I handle content recommendations in Bubble?

Start with topic-based and follow-based feeds using Bubble's search with constraints. Sort by recency for the home feed and by clap count for trending. Full algorithmic recommendations require custom logic you can add later.

The smartest AI builds, in your inbox

Every week, you'll get first hand insights of building with no code and AI so you get a competitive advantage