DealerEth is a modern creator-brand collaboration platform built for Ethiopian TikTok creators and local businesses. The product helps creators present themselves professionally, helps brands discover relevant talent, and keeps campaign applications, direct requests, and conversations organized in one workspace.
DealerEth brings the early stages of influencer collaboration into a structured, professional workflow. Instead of scattered DMs, unclear briefs, and disconnected profile links, the platform gives both sides a focused dashboard:
- Creators can build a public media-kit style profile, apply to campaigns, manage direct requests, and continue campaign conversations.
- Brands can create a company profile, post campaign briefs, discover creators, review applications, message creators, and track deal progress.
The application is designed around clarity, trust, and fast decision-making for local creator campaigns.
- Creator onboarding and profile setup
- Public creator profile page
- TikTok-style identity fields, avatar support, portfolio links, niche, audience size, and rate range
- Campaign discovery
- Campaign applications with proposed budget and cover letter
- Message threads connected to applications
- Direct brand request inbox
- Creator dashboard with profile readiness, activity, and next-step guidance
- Brand onboarding and company profile setup
- Campaign posting and campaign management
- Creator discovery with search, niche, follower, portfolio, rate, and profile-quality filters
- Application review with status updates
- Client-side messaging workspace
- Direct creator request tracking
- Dashboard notifications for messages, requests, and pending actions
- Role-based authentication for creators and clients
- Public profile routing by username
- Avatar upload and fallback image handling
- Notification read-state behavior
- Responsive dashboard navigation
- Clean editorial-style landing page and dashboard UI
- Next.js App Router
- React
- TypeScript
- Prisma ORM
- PostgreSQL
- Tailwind CSS
- Zod validation
- JWT-based session cookies
app/ Application routes and API endpoints
components/ Reusable UI, dashboard, form, profile, and landing components
lib/ Auth, Prisma, validation, dashboard context, and integration helpers
prisma/ Database schema and migrations
public/ Static assets
npm installCreate a .env file in the project root.
DATABASE_URL="postgresql://postgres.[PROJECT-REF]:[YOUR-PASSWORD]@[YOUR-SUPABASE-POOLER-HOST]:6543/postgres?pgbouncer=true&connection_limit=10&sslmode=require&connect_timeout=30&pool_timeout=20"
DIRECT_URL="postgresql://postgres.[PROJECT-REF]:[YOUR-PASSWORD]@[YOUR-SUPABASE-POOLER-HOST]:5432/postgres?sslmode=require&connect_timeout=30"
AUTH_SECRET="replace-with-a-long-random-secret"
NEXT_PUBLIC_APP_URL="http://localhost:3000"
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
GOOGLE_REDIRECT_URI="http://localhost:3000/api/auth/google/callback"
TIKTOK_CLIENT_KEY=""
TIKTOK_CLIENT_SECRET=""
TIKTOK_REDIRECT_URI="http://localhost:3000/api/auth/tiktok/callback"OAuth values are only required when using Google or TikTok sign-in locally.
DealerEth uses PostgreSQL through Prisma. For production, create a Supabase project and use the transaction pooler connection string on port 6543 with pgbouncer=true&connection_limit=10. Use that pooler URL for DATABASE_URL. If direct database access is blocked by your network, use the same pooler URL for DIRECT_URL and run the initial migration SQL through the Supabase SQL Editor. Do not set connection_limit=1 — dashboard pages run several queries at once and will time out.
npm run db:deploynpm run devOpen the app at:
http://localhost:3000
npm run devStarts the local development server.
npm run lintRuns ESLint across the project.
npm run buildCreates a production build.
npm run startStarts the production server after a successful build.
npm run db:generateRegenerates the Prisma client.
npm run db:migrateCreates and applies a local development migration.
npm run db:deployApplies committed Prisma migrations to a deployed database.
npm run db:studioOpens Prisma Studio for database inspection.
Before shipping changes, run:
npx tsc --noEmit
npm run lint
npm run buildDealerEth can be deployed to any platform that supports Next.js applications. For production, configure:
- A production database connection
- A direct database connection for migrations
- A secure
AUTH_SECRET - A public
NEXT_PUBLIC_APP_URL - OAuth callback URLs that match the deployed domain
- File/image storage strategy if avatar uploads need to persist outside the local filesystem
The application exposes a lightweight health endpoint:
/api/health
It returns the application status and verifies database connectivity, which can be used by deployment platforms, monitors, or uptime checks.
DealerEth is built to become the operating layer for local creator collaborations: professional creator profiles, reliable campaign briefs, organized communication, and clearer deal progress for both brands and creators.