X Clone · Features

X Clone Features: Membership Is the Hard Part

Anyone can render a feed. What decides whether a social product has a business is whether an account can be charged, upgraded, verified, restricted and refunded without a developer, and whether every one of those decisions leaves a record somebody can review a year later. That machinery is in this build rather than on a roadmap, and what is not in it is named on this page.

Request a Live Demo →Full Overview
3 server-side tiers
15 console pages
6 days to deploy
The badge
Granted, not detected
What One Account Record Carries
01The tier, checked on the server
02The verification state and reason
03Account status and its history
04Subscriber ids for paid followings
05Privacy and timeline preferences
06Sign-in history with device detail
3
Server-Side Tiers
15
Operator Console Pages
68
Web Pages
28
Mobile Screens
By Role

Feature Set by Role

Six people meet the same account record, through the same REST surface.

01

The Free Member

The full conversation surface: a composer covering text, images, video, audio, GIFs, polls with timed expiry, quote posts and threads, with scheduling and content warnings. Timelines resolve into For You, Following and Bookmarks, with per-member preferences deciding the default rather than a fixed order.

02

The Paying Member

Free, Premium at $9.99 and Pro at $29.99, with the plan held on the member record and entitlement checked on the server before a gated action executes. A member cannot unlock a paid feature by editing a request or running a modified client, and repricing or regating needs no release.

03

The Verified Account

Verification is granted rather than detected. A request enters a review queue, an operator approves it, and the badge is written to the member record with a reason recorded and an audit entry naming who did it. Every client reads the same state, so the badge is consistent on web and mobile.

04

The Creator

Creator subscriptions held as subscriber ids on the creator's own record, which makes a paid following a first-class relationship the platform can count and settle against rather than a payment log sitting off to one side. Tips work on any post or profile, and both settle between two members.

05

The Correspondent

Direct and group conversations carrying audio messages and reactions, read receipts through readBy arrays and live typing through a typingUsers map, over a graph of follows, lists holding member ids, and blocks and mutes stored as explicit records with privacy preferences on the account.

06

The Operator

Fifteen console pages on an authentication path separate from member accounts: verification review and badge assignment, account status control with recorded reasons, suspend, ban and restore, the report queue and its five actions, appeal review, the audit log viewer and sign-in history.

One contract across three clients means an entitlement is either true everywhere or false everywhere. That is what stops the failure this category is full of: a paid feature working on the website and not in the app, or a suspension taking effect in one client and not the other.

Compare

Clone vs Generic Script vs Building From Scratch

Most routes to a social platform hold up until somebody tries to charge for an account.

What decides itMiracuves X CloneGeneric social script
Time to a working platformSix working daysUnknown, and largely do it yourself
Where entitlement is checkedOn the server, before the gated action runsIn the interface, where a modified client wins
Changing what a tier costsAn operator decision, no release requiredA code change and a deployment
What a badge meansA review queue and a recorded reasonA boolean somebody set in the database
Paid followingsSubscriber ids on the creator recordA payment log with no relationship behind it
Suspending an accountA reason recorded, an audit entry, an appeal routeA flag flipped, and nothing to appeal against
Consistency across clientsOne REST contract, one response envelopeThree implementations drifting apart
Source codeFull ownership including the membership layerOften limited, sometimes encrypted

Plenty of vendors will hand over a feed and keep the part that decides who is allowed what. Here the entitlement logic, the verification workflow and the payout relationships transfer with everything else, so nobody upstream can reprice your tiers or redefine what a badge means.

End to End

How It Works, End to End

The path an account takes from arriving to paying, with what gets written at each step.

Step 1

The account is created

Firebase Authentication with email, password and Google sign-in, verified through Admin SDK token checks in middleware rather than trusted from the client. The member record is created carrying the tier, the verification state, the account status, the preferences and the counters that every surface will read.

Step 2

They use the free tier

The full composer and all three timelines, direct and group messaging, search across posts and people, hashtag trending and saved searches. The free tier is a choice you make rather than a limitation you are stuck with, because what it includes is configuration rather than what happened to get built.

Step 3

Somebody sends a tip

A one-off payment on a post or a profile, settling between two members. It asks no commitment from either side, which is why it is usually the first line to show revenue on a young network and the first thing an operator switches on.

Step 4

An account upgrades

The plan moves on the member record and the server begins allowing what that tier permits. Because the check runs before the gated action rather than inside the interface, the upgrade is real in the API, in the browser and in the Flutter client at the same moment.

Step 5

A badge is requested

The request enters the verification review queue in the operator console. An administrator approves or declines it, the decision carries a reason, and an audit entry records who made it. The badge is then written to the member record where every client reads the same state.

Step 6

A creator starts earning

Subscriber ids attach to the creator's own record, so a paid following is a relationship the platform can count and settle against rather than a receipt filed elsewhere. The operator takes a share of a transaction it does not have to fund.

Step 7

Something has to be enforced

A report enters a queue as a record to work rather than mail to read, and closes through hide, unhide, delete, suspend or ban. Status changes carry a written reason, which is what gives an appeal something to examine, and every privileged action writes an audit entry.

Sign-in history runs underneath all of it, capturing IP, user agent, device, browser, location, timestamp and whether the attempt succeeded, which is the evidence a support desk needs the first time an account is disputed.

Justified

Every Feature Earns Its Place

Each row is here because a membership network stops working without it, not because a competitor lists it.

ModuleWhy it is in the base build
Server-side entitlement checksA paid feature gated in the interface is unlocked by anybody willing to modify a client. Checking before the action executes is the difference between a paywall and a suggestion.
Plan held on the member recordOne place the web app, the Flutter client and the console all read, so an upgrade or a downgrade takes effect everywhere at once rather than in whichever client refreshed last.
Verification as a review queueA badge that means something requires a person deciding and a reason recorded. A boolean in a database is a badge nobody trusts, and untrusted verification is worth nothing to sell.
Subscriber ids on the creatorA paid following is a relationship, not a transaction. Modelling it as ids on the record is what lets the platform count it, settle against it and show a creator who is actually subscribed.
Reasons on every status changeSuspension without a recorded reason gives an appeal nothing to examine and gives you nothing to defend. It is a one-line field that decides whether moderation is reviewable.
Audit entry per privileged actionAdministrator, action, target, reason and timestamp. On a network charging its members, the question of who changed what is asked eventually and cannot be answered retroactively.
Separate operator authenticationA role flag on a member token is not an access boundary. Keeping the console on its own path means a compromised member account is not a compromised platform.
Denormalized feed countersLikes, reposts and quote counts written onto the post rather than aggregated per render, which is the single decision that keeps a timeline affordable as the network grows.

Underneath sit twelve Cloud Functions, Firestore security rules and composite indexes built for the timeline, search and notification queries specifically.

Stack

The Technology Behind the Features

One contract across three clients, on a managed backend a small team can actually operate.

The membership layerThe plan held on the account and enforced server-side, three tiers priced from configuration rather than code, a verification queue with the reason recorded, and subscriber ids and tip records that settle between members. This is the part that transfers with everything else rather than staying with a vendor.
Web applicationA Next.js application on React 18.2 with TypeScript 4.7: 68 pages facing the member, 190 components behind them, and SWR for fetching and caching. This is the surface carrying the full experience, with the operator console alongside it.
API layer64 handlers under /api/v1/ with a single response envelope across all of them, cursor paging wherever order matters, Zod validation on bodies and queries, and ownership confirmed on every write rather than assumed from the client.
Data layerFirestore with security rules and composite indexes included, typed converters in the source tree, counters denormalized for feed reads, and subcollections for notifications, bookmarks and messages.
Mobile applicationA Flutter client of 28 screens over the same REST surface, so a tier, a badge or a block resolves identically whichever one a member opens. The Android build is supplied; an iOS build and its store submission are scoped separately.
Identity and deploymentFirebase Authentication including Google sign-in, OAuth applications with hashed keys, twelve Cloud Functions, and PM2 with environment-driven configuration, reaching a branded deployment in six working days.

The operator console is deliberately absent from the mobile app. Reviewing a verification request or judging a report needs a screen with room for context rather than a phone.

Honest Readiness

What Is Not Included in the Base Package

Named here rather than discovered after the invoice.

01

What does not arrive is people

No codebase supplies the thing a social network actually runs on, and a vendor who lets you believe otherwise is selling something they cannot deliver. What arrives is a network whose membership machinery is finished rather than sketched. Who joins it is yours to bring, and it is the slow part.

02

Live audio rooms are an extension

The Firestore rules define a spaces collection, but the surface on top of it is a scoped extension rather than a switch. If audio rooms are part of what you are selling membership for, say so on the first call, because it is real work rather than a setting.

03

Two-factor fields exist but are not enforced

The account record carries two-factor fields. Enforcement is not switched on in the base build, which on a platform charging members and holding payment relationships is worth scheduling early rather than discovering during a security review.

04

Creator payouts are operations, not code

Subscriber ids and tip records model who owes what and to whom. Actually moving money out to creators on a schedule, with the tax and compliance handling that implies, is payout operations we scope with you rather than a module that ships switched on.

05

Four integrations are scoped separately

A payment processor beyond the referenced Stripe setup, automated content moderation, video transcoding with CDN delivery, and enterprise SSO are each scoped as separate work. So is an iOS build and its submission, and analytics deeper than the console's own statistics.

06

What is built is real

Three tiers enforced server-side, a verification workflow with recorded reasons, creator subscriptions and tips settling between members, account status control with appeal review, an audit entry on every privileged action, sign-in history with device detail, 64 handlers under one envelope, and a fifteen page console on its own authentication path.

Clone is the industry term for software written to work like a product people already recognize. It names the functional target rather than the provenance of the code: this is an original implementation on Next.js, Flutter and Firebase, with no affiliation to, connection with, sponsorship by or endorsement from X or Twitter.

Development Company

See how Miracuves compares to agencies and freelancers

The deployment process, a modelled reference deployment for a paid membership network, the limitation list, and the nine questions worth asking before you hire anyone - on the Development Company page.

See the comparison →
FAQ

Frequently Asked Questions

How do the subscription tiers actually work?
Three tiers ship: Free, Premium at $9.99 and Pro at $29.99. The important part is where they are enforced. The plan sits on the member record and entitlement checks run on the server before a gated action executes, so a member cannot unlock a paid feature by editing a request or by using a modified client. Because the gating is server-side rather than compiled into the interface, changing what a tier costs or what it includes is an operator decision rather than a deployment.
How does verification work, and can I charge for it?
Verification is granted rather than detected. A request enters a review queue in the operator console, an administrator approves it, and the badge is written to the member record with a reason recorded and an audit entry naming who did it. Every client reads the same state, so the badge appears consistently on web and mobile. Because it is a workflow you control rather than a flag in a database, you decide what earns it, and you can attach it to a paid tier or price it on its own.
How do creators earn on it?
Two ways, and both settle between members rather than through an advertiser. Creator subscriptions are held as subscriber ids on the creator record, which makes a paid following a first-class relationship the platform can count and settle against rather than a payment log sitting off to one side. Tips are one-off payments on a post or a profile, and on a young network they are usually the first line to show revenue because they ask no commitment from anybody.
How is this different from your Twitter Clone?
It is the same platform at the same price, and we would rather say that plainly than invent a difference. X is what Twitter is called now, so these are not two products. What differs is which half of the build each page leads with. The Twitter Clone page is written for the buyer asking how the network earns from advertisers and developers, so it leads with the typed ad campaign engine and the scoped developer keys. This page is written for the buyer whose members are the business.
Does the mobile app match the web app?
For the social experience and for entitlements, yes. The Flutter client covers 28 screens over the same REST surface at /api/v1/, so a tier, a badge or a block resolves identically whichever one a member opens. The operator console is deliberately absent from the app: reviewing a verification request or judging a report needs a screen with room for context, not a phone. Android ships with the build; an iOS build and its store submission is scoped separately.
Is this affiliated with X or Twitter?
No. Miracuves is an independent software company, and this platform has no affiliation, connection, sponsorship or endorsement from X or Twitter. The name appears here descriptively, because it is both how the software industry names this category of product and the phrase buyers actually search for. Nothing in the codebase, the design, the graphics or the content came from the X or Twitter website or applications.

Grant yourself a badge and watch it travel

Open the member and operator logins, approve a verification request from the console, then reload the member profile. Watching a badge move from a review queue to an account record is the quickest way to understand the membership layer.

Own the account, not just the feed

The entitlement logic, the verification workflow and the payout relationships transfer with the source, so nobody upstream can reprice your tiers, redefine what a badge means, or take a percentage of what your members pay you.

Talk to Us →
Miracuves · X Clone Solution Feature set, stack and stated limitations cross-verified against the hub, 2026-09-08
Disclaimer

Miracuves is an independent software development company. We are not affiliated with, connected to, sponsored by, or endorsed by X.

Why this name

X Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to X, and how clients search for it.

Who built this

The entire design and codebase is built by our own team. The product contains no code, design, graphics, or content originating from the X website or applications.

Trademarks

X and all other third-party names and marks are the property of their respective owners, referenced here solely to describe the category of software offered.