Where resale apps go transactional, Fitted Closet goes social with Whop.

Key takeaways

  • Fitted reimagines fashion resale as a social experience where conversation, identity, and community drive engagement rather than pure transactions.
  • Whop's embedded chat lets Fitted integrate real-time messaging, reactions, and moderation without building messaging infrastructure from scratch.
  • The next generation of marketplaces will function like social platforms, where buying and selling happen naturally through community interaction.

Online fashion resale has a problem: it’s weirdly antisocial.

Where swap meets and vintage markets centred around socializing, reselling apps often lack the same charm as thrift stores. Search, scroll, lowball someone for a hoodie. Leave.

Even the messaging feels transactional, fuelling some of the biggest meme pages online (looking at you, @dmdrama). Which is odd, because fashion as a whole is inherently social. It’s a way of communicating self expression, identity, and belonging. 

That’s why Fitted Closet is building something different: an AI-powered social fashion marketplace built on Whop. A place where your closet is part profile, part identity, part storefront.

And instead of community being an afterthought, conversation sits at the center of it all. 

From laundry pickups to the official closet of Clueless

laundry pickup

Before Fitted existed, founder Reid Moncada was running a laundry pickup business out of his Penn State dorm.

Honestly? Baller idea. 

He’d collect clothes from students, wash them using the dorm laundry machines, then return them later. Somewhere along the way, the original idea behind Fitted started forming.

People obviously struggled to manage their wardrobes, so why not try and help them organize them? 

That idea evolved a lot over the next few years. COVID forced pivots, the team moved deeper into crypto and internet culture, and in 2021 Reid’s team helped launch Justin Bieber’s NFT project, generating over $18.5 million in sales. Yes, really.

“It was a long, convoluted, and winding path to finally launch the product [Fitted] we have in market now.”

And that long path had some major milestones waiting along the way:

clueless fitted

"We were the official virtual closet of the movie Clueless last year. We worked with Paramount, and we did the whole campaign with them with costume designer Mona May."

So, what exactly is Fitted?

Fitted: the app that wants to be your closet, your community, and your stylist

0:00
/0:23

With 700k users, Fitted is trying to make fashion reselling feel less like ecommerce and more like community culture.

“I don’t know anybody that just goes on Depop just to see who’s around or see what people are wearing,” Reid says. “It’s more of just like an intention.”

Fitted flips that intent. Users actually spend time on the app; scrolling fits, reacting to outfits, and chatting to other users. Fashion is the thing people are connecting over, not just the product being sold.

“Fitted in a sense is like a dating app because people are anonymously posting these fit picks, thirst traps,” Reid tells us.

And it’s a global community, too, “Only like 30% of our users are in the States. The rest is like all over the world.”

It’s Fitted’s dedication to building a strong social layer that makes it stand out from Depop and other competitors. The fashion itself matters, yes. But the conversations happening keep people coming back.

Conversation is core to how people buy clothes

Long before resale apps existed, people were discovering style through friends, Tumblr moodboards, magazine spreads, house parties, thrift stores, and random strangers on the street. 

0:00
/0:27

And social validation and FOMO are still a huge part of how fashion trends operate now. We all want second opinions, validation, recommendations, compliments, reactions, context.

It’s just that increasingly, that behavior is happening online:

  • SellersCommerce suggest that 58% of shoppers in the U.S. have purchased a product after seeing it on social media
  • Digital Marketing Institute found that 45% of Gen Z in Europe are more likely to buy items they’ve seen influencers wear
  • And in China, 71% of shoppers are using social media specifically to buy clothing. 

What I’m saying is that globally, online conversation is central to how clothing is purchased, resold, and sought after. 

And because secondhand clothing is a big part of that scope, and the resale market itself keeps growing at a ridiculous pace. ThredUp’s last Resale Report found 59% of consumers shopped secondhand apparel in 2025. 

Yet, despite the fact fashion is inherently social, most resale platforms still treat conversation like an afterthought (see below).

reselling memes

Messaging usually exists purely for logistics. “What are the measurements?”, “Lowest you’ll take?”, and “Has this sold yet?”. Functional, but not exactly building community.

Fitted wanted to build something closer to the way people naturally engage with fashion already. 

We’re talking about real social interaction: reacting to outfits, discovering people with similar taste, talking about clothes, flirting, joking around, creating identity through style.

According to Reid, chat solved multiple problems at once.

“How do you get three birds with one stone? How do we create a daily habit, how do we get people posting, and how do we get people adding more clothes into their closet?”

Users aren't just opening Fitted when they wanted to buy or sell something. They open the app because it has entertainment value, too.

“Some people are flirting back and forth, some people are just roasting each other.”

Social interaction is what makes platforms sticky. CreatorLabz found brands with active online communities experience a 53% higher customer retention rate.

All those comments, reactions, inside jokes, and personalities are what keep people coming back.

It’s also why private messaging is becoming such a huge part of social commerce in other industries, not just fashion. 

Gen Z and Millennial shoppers make up 62% of global social commerce spend, and brands are catering to audiences that already treat social media as part entertainment, part socializing, part mall.

Plus, most consumers now expect shopping experiences to feel personal, especially on creator-led or community-driven platforms. One-on-one interactions build familiarity in a way static product pages simply can’t.

How Whop's embedded chat powers the conversation

0:00
/0:17

Fitted users are already scrolling fits, reacting to outfits, and browsing closets. That meant jumping into conversation had to feel natural, and not like opening a support ticket.

Instead of building chat infrastructure from scratch, the team used Whop’s embedded chat directly inside their app.

Immediately, that gave them real-time messaging, emoji reactions, markdown support, file attachments, moderation controls, cooldown timers, banned word filters, and deep links to specific messages. 

All without needing to build an entirely separate messaging system themselves.

And because the chat components work across React, vanilla JavaScript, and Swift for iOS, the team could move fast without spending months building custom UI.

Reid said it was a no-brainer architecturally to run everything from one place.

“It just made sense to have everything in this whole ecosystem. If we’re running payments, it only makes sense to combine payments and crypto and social all together.”

And honestly, that’s what makes the social side of Fitted work. The chat doesn’t feel bolted on. It feels like part of the app’s culture.

Embed chat into your own app

You can integrate Whop's real-time messaging directly into your web or iOS app, too.

To get started, you'll need three things from your Whop dashboard: an API key, your Company ID, and the User ID of the person you want to log in as. These stay on your server, never expose them in client code.

From there, install the Whop embedded components for React, create a server endpoint that generates short-lived access tokens, and drop in a ChatSession and ChatElement to render the chat UI. Choose your channel type – group chat, DMs, or support – and you're done.

Create your token endpoint

Add this route to your Next.js app. It mints a short-lived access token using your API key, which stays securely on the server.

route.ts
import { NextResponse } from "next/server";

// Retrieve user id via your own auth/session system.
// For a quick test, you can hardcode them.
const USER_ID = "user_XXXXXXXXXXXX";
const COMPANY_ID = "biz_XXXXXXXXXXXXX";

export async function POST() {
  const response = await fetch("https://api.whop.com/api/v1/access_tokens", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.WHOP_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      company_id: COMPANY_ID,
      user_id: USER_ID,
      scoped_actions: [
        "chat:read", // view messages in experience chats
        "chat:message:create", // post messages in experience chats
        "dms:read", // view DM threads
        "dms:message:manage", // send / edit / delete DMs
        "dms:channel:manage", // create / update DM channels
        "support_chat:read", // view the user's own support chat
        "support_chat:message:create", // post in support chats
      ],
    }),
  });

  const data = await response.json();
  return NextResponse.json({ token: data.token });
}

Set up the chat component

This loads Whop elements, fetches a token from your endpoint, and renders the chat UI. Swap in your real channelId before going live.

chat.tsx
import {
	ChatElement,
	ChatSession,
	Elements,
} from "@whop/embedded-components-react-js";
import { loadWhopElements } from "@whop/embedded-components-vanilla-js";
import type { ChatElementOptions } from "@whop/embedded-components-vanilla-js/types";
import { useMemo } from "react";

const elements = loadWhopElements();

// Called by ChatSession on mount and again before the token expires,
// so it must always return a fresh token — don't cache a stale one.
async function getToken() {
	const res = await fetch("/api/chat/token", { method: "POST" });
	const data = await res.json();
	if (!data.token) throw new Error("Failed to fetch token");
	return data.token;
}

export function Chat() {
	const chatOptions: ChatElementOptions = useMemo(() => {
		return {
			channelId: "chat_XXXXXXXXXXXXXX",
		};
	}, []);

	return (
		<Elements elements={elements}>
			<ChatSession token={getToken}>
				<ChatElement
					options={chatOptions}
					style={{ height: "100dvh", width: "100%" }}
				/>
			</ChatSession>
		</Elements>
	);
}

Explore Whop’s developer docs for more information on how to embed chat into your website or app, as well as how to customize themes and styles.

Building beyond conversations

fitted tweet

Fitted recently launched $FITTED, or FITTED coin, a Solana-based token tied to activity inside the app.

The idea is pretty straightforward: users earn $FITTED through using the platform (uploading clothes, listing pieces, selling items) and can then spend it back inside the marketplace. Pretty sick. 

"Think Duolingo for your closet. With this currency, you can get discounts on clothes, you can sell your clothes in it, you can get paid out in it."

And it’s all being built on Whop, where marketplace functionality is central. Payments, payouts, chat, crypto, and more. 

Whop helps turn marketplaces into communities

whop fitted

Reid understands something a lot of resale platforms still miss: online shopping isn’t purely transactional. It’s social too.

That’s especially true in reselling, where trust and personality matters way more than in traditional ecommerce. 

Fitted built around that behavior instead of trying to streamline it away.

Underneath it all, Whop provides the infrastructure to make those interactions central: embedded chat, marketplace functionality, and moderation systems. 

The next generation of marketplaces probably won’t look like they did ten, even five years ago. They’ll look like social platforms where buying and selling happens naturally. 

Want to embed chat and checkout, payout users, run ads, and more? Choose Whop.