← Doświadczenie

Live · solo end-to-end

ClueFlow

Czym jest

Aplikacja webowa dla agencji marketingowych do obiegu akceptacji postów social media z klientami marki. Agencja przygotowuje treść i planuje w kalendarzu; klient loguje się do własnego panelu, ogląda podgląd i akceptuje albo odrzuca. Publikacji na Meta/TikTok/LinkedIn nie ma — po OK agencja wrzuca treść ręcznie.

Problem

Akceptacje postów rozjeżdżały się po mailach, Messengerze i tabelkach — bez jednego miejsca ze statusem i historią decyzji.

Dla kogo

Kupuje właściciel (lub freelancer) agencji social & content — subskrypcja. Klient marki nie kupuje: dostaje zaproszenie mailem i klika w panelu klienta (kalendarz, podgląd, akceptuj/odrzuć).

Funkcje

  • Panel agencji: posty, klienci, kalendarz, ustawienia, billing, pomoc
  • Panel klienta: kalendarz + podglądy platform + decyzja z komentarzem
  • Workflow statusów: draft → pending_approval → approved / rejected
  • Zaproszenia klientów mailem (Resend) + aktywacja konta tokenem
  • Stripe: paywall → Checkout → dostęp do panelu agencji (+ granty)
  • Multi-tenant (organizacje) + media w Storage + podglądy FB/IG/TikTok/LinkedIn

Stack

Next.js 16 · React 19 · TypeScript · Tailwind 4 · Supabase (Auth, Postgres + RLS, Storage) · Stripe · Resend · Vercel · Zod · Vitest · Playwright

Screeny

Panel agencji — kalendarz postów
Agencja — kalendarz i planowanie
Panel klienta — podgląd postów do akceptacji
Klient — podgląd i decyzja
Panel agencji — lista klientów
Agencja — klienci (multi-tenant)
Panel agencji — ustawienia
Agencja — ustawienia

Najciekawsze problemy techniczne

RLS / izolacja tenantów

Polityki per organizacja. Wychwycony i załatany hole: klient mógł przez UPDATE na profiles podnieść sobie rolę / org.

Stripe + entitlement

billing_status / billing_source (stripe | grant | …), webhook, paywall; kolumny billing tylko przez service_role.

Workflow statusów + role

Kto widzi draft, kto może akceptować, walidacja platform per klient ⊆ org.

Auth recovery

Reset hasła / PKCE gdy link otwarty w innej przeglądarce — świadomy fallback, nie magia.

Moja rola

Solo end-to-end: produkt, architektura, UI, backend, billing, deploy, testy. Pomysł od osoby z marketingu w rodzinie; nikt nie współkodował.

Napisz do mnie