Full-Stack Developer — Internal Agency Ad Platform

Заказчик: AI | Опубликовано: 29.03.2026
Бюджет: 500 $

Summary About the Project We're a performance marketing agency running paid campaigns for multiple clients across Meta and TikTok. We're building an internal SaaS platform — similar to PLAI — that automates the financial and reporting layer of our operations. The platform needs to: pull live ad spend data from each Business Manager, calculate and charge clients automatically (ad spend + management fee), show clients a white-labeled dashboard of only their campaigns, process payments via GoHighLevel (GHL), and automatically pause campaigns when a payment fails. We've already made significant progress using Claude Code and are looking for an experienced developer to own the architecture, extend the integrations, and ship a production-ready product. ⚙️ Core Features You'll Build Ad Spend Billing Engine: Sync real-time spend from Meta Ads API & TikTok Ads API and generate invoices automatically based on actual spend. Management Fee Module: Configure flat or percentage-based management fees per client; bundle or separate from ad spend invoices. Client-Facing Reporting Dashboard: White-labeled portal showing each client only their own campaigns — impressions, clicks, spend, ROAS, conversions. GoHighLevel Payment Integration: Trigger payment collection from client GHL accounts; handle recurring billing cycles. Payment Failure Automation: When a GHL payment fails → automatically pause active Meta / TikTok campaigns via API; resume on successful retry. Multi-Platform Campaign Manager: Unified view to pause, resume, and monitor campaigns across Meta and TikTok from a single interface. Webhooks & Alerts: Real-time notifications for payment failures, spend thresholds, and campaign status changes. Role-Based Access Control: Agency admin vs. read-only client roles with scoped data visibility. Key Integrations You'll need to be comfortable working with — or quickly ramp up on — these APIs: Meta Marketing API TikTok Ads API GoHighLevel API Stripe (optional fallback) Webhooks / REST OAuth 2.0 Preferred Tech Stack Frontend Next.js · React · Tailwind CSS · Recharts / Chart.js Backend Node.js · Express or Fastify · REST APIs · Cron Jobs Database PostgreSQL · Prisma ORM · Redis (queuing) Infrastructure Vercel · Railway · AWS (optional) · Docker Auth NextAuth · JWT · Role-based access AI-Assisted Dev Claude Code · Cursor (big plus) Responsibilities Own the end-to-end architecture of the platform — frontend, backend, database, and integrations. Implement Meta Ads API and TikTok Ads API data sync (spend, campaigns, ad sets, insights). Build the billing logic: invoice generation, payment triggering via GoHighLevel, retry handling. Design and implement the campaign pause/resume automation triggered by payment events. Develop the client-facing dashboard with scoped, read-only reporting per account. Write clean, documented, testable code that the team can maintain and extend. Collaborate directly with the agency founder — fast feedback loops, no bureaucracy. Use Claude Code / AI tooling to accelerate development where appropriate. ✅ Requirements 3+ years of full-stack development experience (Node.js + React). Proven experience integrating third-party APIs — especially ad platforms or payment gateways. Experience building multi-tenant SaaS applications with role-based access. Solid understanding of webhooks, event-driven architecture, and async background jobs. Ability to work autonomously and make architectural decisions with minimal hand-holding. Strong written English communication skills for async collaboration. ⭐ Nice to Have Prior experience with Meta Marketing API or TikTok Ads API (huge plus). Familiarity with GoHighLevel or white-label CRM platforms. Experience with platforms similar to PLAI, Madgicx, or Revealbot. Background in digital marketing or ad agencies — you'll understand the domain immediately. Comfortable using Claude Code or Cursor for AI-assisted development workflows. Experience building billing/invoicing systems with automated retry logic.