Skip to main content
Alpha preview

What's real in here, and what isn't

Collabea is a two-sided marketplace connecting brands with content creators across seven disciplines — influencer marketing, UGC, video production, editing, photography, graphic design and social media management. A brand posts a job, creators apply or get hired directly, and the work runs through a contract with milestones, deliverables and payment.

This deployment shows the entire product surface, including the parts whose backend isn't finished. Rather than hide those, every one of them is labelled where it appears — Preview for built UI without a live rail, Sample data for real screens showing illustrative numbers. The list below is the whole truth of it.

Working end-to-end

Real API, real database, real sockets. You can run a job from posting to paid contract.

  • Accounts & sessionsEmail sign-in on an httpOnly session cookie, email verification and OTP password reset, multi-account switching in one browser, revocable sessions per device. Google sign-in is built and waiting on credentials.
  • Job postingSeven service categories, each with its own validated config, rate cards, milestones and deliverable schedules.
  • Proposals & negotiationApply, counter, request changes, withdraw, reapply — with full proposal history.
  • Direct hireBrands send an offer to a specific creator; consent-gated acceptance mints the contract.
  • ContractsMilestones, deliverables with revision rounds, shipments, reviews, disputes, cancellation and auto-refund.
  • PaymentsThe free-beta handshake: the brand marks a milestone paid, the creator confirms receipt, both sides timestamped, with reminder sweeps and a not-received flag.
  • MessagingReal-time chat over Socket.IO with file attachments, replies, reactions, and rich contract cards that update in place.
  • NotificationsIn-app + email, ten preference families, per-category opt-out that is actually honoured.
  • Profiles & discoveryProvider profiles, portfolios, service rate cards, search and filtering across the marketplace.
  • Pools & eventsGroup campaigns with participants and payouts; creator events with responses.

Preview — one step short of live

Each of these is finished and interactive. What is missing differs: some have no service connected behind them, others are fully wired and waiting on a credential or a model.

  • Stripe escrow railFund, release, refund and Connect onboarding are implemented end-to-end and open read-only from any contract's milestones, marked as a demo. They stay read-only because the platform holds no money during the alpha and this deployment carries no Stripe credentials; one config flag switches the rail on.
  • AI writing assistRewrite, expand, shorten, proofread and draft-from-scratch all call a server route that streams its answer back token by token. Every route is written against one driver contract, and three drivers sit behind it — a simulated one and real Anthropic and OpenAI ones — sharing one gateway with a daily token budget, a response cache and a usage ledger. The default is the simulated driver, so the text here is an authored, provenance-stamped fixture and a model key is the only switch. A provider named without its key answers 503 rather than quietly serving a fixture.
  • Campaign agentPlans a campaign and runs it step by step, with every run and step recorded in the database. A step that would send or create something halts for your approval and cannot pass it without one — approving twice conflicts rather than double-running. What the steps produce is illustrative; nothing reaches a creator.
  • AI service studioSuggests service packages and prices from what your profile already says. It runs entirely in the browser — no model, no server — so treat the numbers as a starting point to edit rather than a market rate.
  • Creative studioPrompt, references, sizes, variants and attach-to-brief are all built. With no image model configured the tiles are sample photographs from the app's own library, each stamped as one; where a deployment has one, the studio calls it and every label follows the tiles.
  • Brief draftingYour intent is parsed server-side — budget, timeline, platforms and counts come out of the sentence. The wording around them is an authored template, not a model, and every row in the diff says which of the two it came from.
  • AI connectionsThe MCP server an outside AI client connects to is implemented — bearer auth, seven tools, a scope check on every one, and deliberately no tool that moves money, signs a contract or touches a dispute. Settings mints a real per-user token, shows it once and keeps only its hash, carrying just the scopes granted; a missing or invalid one is a 401 with the standard challenge. Two of the five scopes are reserved — no tool answers to them yet, and the screen says which.
  • Live chat & phone supportDesigned, not staffed. Email reaches a human today.
  • Support ticketsSubmitted tickets are stored in your browser, not sent to a queue.
  • Availability & 2FASettings surfaces are built; the enforcement behind them is not wired yet.
  • SchedulerCompose once, customise per network, preview in each platform's frame, schedule, queue or post now, with brand approval on contract-linked posts and the disclosure rules (FTC, ASA, ASCI) checked on every caption. The backend is wired end to end — posts, channels and approvals are saved to your account and notify the other party. Publishing itself is simulated: the platform app reviews that unlock real publishing have not been filed, and the composer says so.
  • Social account linkingCreators link Instagram, Facebook, YouTube, X and TikTok through each platform's official API — the OAuth flows are implemented end-to-end. This deployment carries no platform API credentials yet, so the Connect buttons say so.
  • StudioImage and video generation, with presets, per-shape controls, a live cost before you commit, a daily allowance, and every outcome a real generator has — queued, generating, partly ready, declined, failed, stopped. No image or video model runs: every result is a sample photograph from the app's own library, stamped as one on its face, and work that produced nothing is never charged. The controls, the states and the attach flow are the finished design.

Sample data

Real components and real code paths, illustrative numbers.

  • Marketplace contentSeeded with 70 creator profiles across 7 disciplines, 89 jobs and 15 campaign pools so the product can be explored properly.
  • Billing & earningsBalances, invoices, payout accounts and saved cards are illustrative. No money moves through the platform during the beta.
  • Dashboard analyticsCharts render real components against demo figures.
  • Scheduler postsThe calendar opens populated with sample posts in every state — drafts, awaiting approval, scheduled, failed, verified — and sample performance figures, each stamped. Your connected channels are real; the sample channels beside them say so.
  • Studio resultsEvery tile the Studio produces is a photograph the app already ships, picked deterministically from the prompt and stamped “Sample imagery”. The library opens with past runs in every state so the unhappy ones are visible without having to cause them. No creator's portrait is ever presented as generated output.
  • Match scoresRanked server-side on eight weighted factors over real profile data, with the full breakdown behind every number and the same rules run both ways — creators against a brief, and open jobs for a creator. Retrieval is lexical here and no embeddings are computed; where an embedding driver is configured a ninth semantic-fit factor joins the breakdown and the other eight are rescaled around it.
  • AI disclosure recordsVerification pages read from a fixture set. An unknown code returns no record rather than a fabricated one.
  • Brand row & system statusA logo catalogue and a static status dot, both labelled in place.

Built with

Roughly 100k lines across two repositories, with typed contracts enforced on both sides of the wire.

  • FrontendNext.js 16 App Router · React 19 · MUI 9 · Redux Toolkit + RTK Query · Playwright + Vitest
  • BackendExpress 5 · Prisma 7 · PostgreSQL 16 · Redis · Socket.IO · Zod · Jest
  • InfrastructureVercel · Render · Neon · Vercel Blob · Resend · Stripe Connect · Sentry

On money

The platform charges no fee and holds no funds during the alpha. Brands pay creators directly and the platform records a two-sided handshake per milestone, so both parties have a timestamped record — that rail is live, and it is the one real contracts run on here.

The Stripe escrow rail is the alternative: the platform holds the money until deliverables are approved, then releases it. It is fully built — funding, release, refund, Connect onboarding, webhooks — and you can open its screens from any contract's milestones, where they are marked as a demo. They stay read-only for two reasons: the platform deliberately holds no money during a free beta, and this deployment carries no Stripe credentials. Both rails coexist by design, with each milestone remembering which one it belongs to, so switching the flag can never strand a payment mid-flight.

← Back to the marketplace