Skip to content

Historical snapshot archived 2026-09-25. This records an earlier review or plan, not current implementation or live ticket state. For current work, follow root AGENTS.md, the relevant BloxClips skill, and owning repository source/tests. Preserve approved decisions as evidence; verify their present authority before acting.

Feature Map ​

Use this as the first answer to “I need to work on X—where do I start?” Paths are relative to the parent directory.

FeatureFrontend starting pointsBackend starting pointsModels / stateJobs / external services
Public marketingBloxClips-frontend/app/page.tsx, app/components/games/services/live routes where usedFeaturedGame, FeaturedServiceWhop, Roblox, embeds, Vercel
Public case studiesapp/campaigns/campaignData.ts, [slug]/page.tsxNone for case-study dataStatic TypeScript objectsRoblox/social embeds
Login/sessionapp/login/page.tsx, app/dashboard/layout.tsxsrc/api/routes/auth.ts, middleware auth.tsWebUser, AuthAccount, BanDiscord/Google OAuth
Onboarding/profileapp/onboarding/page.tsx, dashboard/profile/page.tsxonboarding.ts, users.ts, profile utilitiesWebUser, NotificationPreferencesReferral attribution
Operational campaignsdashboard/campaigns, admin campaigns/manage/detailcampaigns.ts, admin campaign handlers, budget utilitiesCampaign, SubmissionDiscord publishing, expiry scheduler (unwired)
Video submissionSubmitVideoModal.tsx, dashboard/submit, historysubmissions.ts, validation schemas, scrapersSubmission, ViewSnapshotYouTube, Apify
Social ownershipAccountVerificationModal.tsx, profileverifications.ts, profileBio.tsLinkedSocialAccount, PendingVerification, VerificationAttemptYouTube/Apify profile bio
Submission reviewadmin submissions and SubmissionReviewRow.tsxadmin submission handlers, earnings/budget utilitiesSubmission, CampaignNotifications, Discord sync
Metric trackinghistory/admin UI consumes metricsscheduler.ts, tracking/runTrackingTick.ts, poll schedulerSubmission, ViewSnapshotYouTube/Apify; scheduler currently unwired
Creator stats/leaderboarddashboard/page.tsxstats.ts, admin stats/chartsubmissions, payouts, ExternalLeaderboardPaymentNone beyond DB
Payout requestdashboard/payout/page.tsxpayouts.ts, payouts/processRequest.ts, rescrape.tsPayout, PayoutItem, Submissionin-process worker, social APIs
Payout review/sendadmin payouts list/detail, TotpModal.tsxadminPayoutReview.ts, rails/dispatcher.ts, preflightPayout, PayoutItem, PaymentSystemConfigStripe, PayPal, NowPayments, TOTP
Payment methodsdashboard/payouts/methodmethods.ts, stripe.ts, paypal.ts, usdt.tsthree method modelspayment providers
Tax compliancepayout tax page, admin tax forms/FTIN/year-endtax/admin routes, utils/tax, storage, exportTaxForm family, FtinCountryConfigTax1099, R2, Resend, timers
Affiliates/referralsdashboard stats/link UI, admin affiliatesreferral routes and utils/referralsReferral, alias, commission, WebUserfrontend-origin rewrite/cookies
NotificationsNotificationCenter.tsx, admin announcementsnotifications.ts, notification utilities/adminAnnouncement, UserNotification, preferencesResend
Website support chatdashboard/support, SupportScreen.tsxsupportChat.ts, whopSupportChat.tsWhopIdentity only; Whop owns feeds/messagesWhop Support Channels and embedded ChatElement for clippers and staff
Discord support/botNo direct pagesrc/index.ts, commands/handlersTicket, GuildConfigDiscord
Contact leads/contact, BookCallForm.tsx, Next contact routeparallel contact.tsContactAttempt only in backend pathTurnstile, Resend
Brand-call booking/book-call Calendly embed; unused BookCallScheduler.tsx; admin bookingsbookings.ts, adminBookings.tsBookingRequest/configCalendly active public; Google/Twilio backend
PV trackeradmin PV pageadminPvTracker.ts, utils/pvTracker.tsJSON state, not PrismaYouTube, Apify, autosync timer
Featured games/servicespublic components/admin gamesgames.ts, services.ts, admin mutationsFeaturedGame, FeaturedServiceRoblox/site image fetch
Whop countBrandStats.tsx, Next live routeparallel live routeMemory cache onlyWhop company API
Privacy/GDPRprivacy page/profile controlsgdpr.ts, auth/usersmany user-owned rowsexport/delete effects

Feature ownership examples ​

Submission approval ​

Frontend owns display, input, confirmation, and refresh. Backend owns administrator authentication, transition validity, acceptance timestamps, budget computation/freezing, notifications/audit, and Discord synchronization. Changing only the UI does not change approval rules.

Campaign eligibility ​

Backend list responses calculate fields such as canSubmit; frontend filters/disables cards. Submission POST performs its own checks. Because those enforcement sets do not obviously match every campaign toggle, inspect both campaigns.ts and submissions.ts before changing eligibility.

Payout eligibility ​

Frontend explains balance, tax/method gates, cooldown, and status. Backend preflight and database constraints own minimum amount, open-request uniqueness, method validation, tax requirements, daily caps, rescrape, review, accounting, and dispatch.