← Back to Work
Internal Operations · Analytics · Automation[PRODUCT][CLIENT WORK][REAL BUILD SHOWN]

Valiant Operations Intelligence

Internal intelligence and operations platform

An internal platform for Valiant Entertainment that brings email campaign performance, audience sentiment, and MNDA agreement workflows into one sign-in, running in production.

My role
Built the platform: the Next.js application, the email, social, and post intelligence views, the MNDA send-and-track workflow, and access administration.
Built with
Next.js, GoHighLevel, Google Sheets, Resend, Vercel
Status
Private production system, sign-in only
Real buildIntelligence / Email
Email Intelligence, the platform's first screen. Its header names the data source: GoHighLevel campaign data cached for up to an hour, next to a frozen export of campaigns from the previous email platform. This is a private production system, so there is no public demo. The walkthrough below stands in for one.
Intelligence / Email · original resolution

Before

The problem

Audience intelligence, campaign reporting, and agreement workflows were spread across different tools and manual processes.

› Email campaign results, fan mentions, and comments on official posts each came from a different source.
› Sending MNDAs to collaborators and vendors, and tracking whether they came back signed, was part of that same spread of tools and manual steps.

The platform

What the system does

Intelligence

What the audience is doing and saying.

  • Email IntelligenceCampaign delivery and engagement rates, what changed since the latest send, and the trend across platforms.
  • Social IntelligenceFan mentions by sentiment, the most discussed characters and topics, and an AI summary.
  • Post PerformanceComment sentiment on official posts, with the most positive and most negative post pulled out.

Agreements

MNDAs sent and tracked in one place.

  • Send MNDASend a signing link to an individual collaborator or vendor.
  • MNDA TrackingEvery link's status, signed, expired, or superseded, with the signed file.

Administration

Who gets in, and who gets told.

  • Access ManagementReview requests, grant access directly, set roles, and revoke.
  • Notification RecipientsManage who receives signature notifications.

Product walkthrough

Five screens from the production system

It's a private, sign-in-only platform, so there is no public demo to link to. These are sanitized screenshots of the real thing, in the order the sidebar lists them.

  1. Email Intelligence

    Campaign performance, with its caveats on screen

    Delivered volume and click, open, unsubscribe, and bounce rates across every campaign, each with a per-campaign sparkline. What Changed compares the latest send with the campaign median, and the trend chart breaks where campaigns moved platforms instead of blending two sources into one line.

    › Open rates are flagged where Apple Mail privacy inflates them, and overall rates are weighted by volume.

    Real buildIntelligence / EmailFull size ↗
    Email Intelligence screen: a sidebar grouped into Intelligence, Agreements, and Administration; tiles for delivered emails and click, open, unsubscribe, and bounce rates, each with a sparkline; a What Changed table comparing the latest send with the campaign median; and a campaign trend chart that breaks where campaigns moved to GoHighLevel.
  2. Social Intelligence

    What fans are saying, sorted by sentiment

    Fan mentions are deduplicated and counted by sentiment, then ranked by the characters and topics people discuss most. An AI summary sits on top: what fans are excited about, and the concerns worth watching.

    › Sentiment labels come from the upstream collection pipeline, and the counts the summary cites are verified server-side.

    Real buildIntelligence / SocialFull size ↗
    Social Intelligence screen: tiles counting total, positive, neutral, and negative fan mentions; an AI sentiment summary listing what fans are excited about and concerns to watch; and ranked lists of the most talked-about characters and most discussed topics.
  3. Post Performance

    How the audience responds to official posts

    Comment sentiment for every official post, with the most positive and most negative post pulled out above the per-post chart.

    › Duplicate and empty comment rows are removed before anything is counted.

    Real buildIntelligence / PostsFull size ↗
    Post Performance screen: tiles for posts tracked, comments, and positive, neutral, and negative counts; the most positive and most negative post side by side; and a stacked bar chart of comment sentiment for each official post.
  4. MNDA Tracking

    Every agreement, and where it stands

    MNDA signing links go out from the dashboard to individual collaborators or vendors. Tracking lists every link sent with its recipient, sender, send date, and current status, plus the signed file once it comes back.

    › Expired and Superseded are worked out from each link's expiry and any later resend.

    Real buildAgreements / MNDA TrackingFull size ↗
    MNDA Tracking screen: tiles for links sent, people signed, awaiting or lapsed, and entity versus individual links; a search box and status filter; and a table of recipients, senders, send dates, statuses (Signed, Expired, Superseded), and signed-file download links. All names and addresses are demo data.
  5. Access Management

    Who can see it, and who hears about it

    Admins review access requests, grant access directly, set each person's role, and revoke it. Signature notification recipients are managed in the same Administration section.

    › People without access request it from the sign-in screen, which offers password or Google sign-in.

    Real buildAdministration / AccessFull size ↗
    Access Management screen: an empty pending-requests queue, an option to grant access manually, a current-access list with an Admin or Member role selector and a Revoke action for each person, and recent access activity. All addresses are demo data.

REAL BUILD: sanitized screenshots of the production system, prepared for this portfolio. Account names, email addresses, and agreement records shown are demo data.

Architecture

How it connects

Data in

  • GoHighLevelEmail campaign performance, cached for up to an hour
  • Google SheetsSocial mentions and post comments, sentiment-labelled by an upstream collection pipeline

The platform

  • Next.jsThe application: intelligence views, the MNDA workflow, and administration
  • VercelHosting and deployment
  • Google OAuthSign-in, alongside password accounts

Out

  • ResendTransactional email sent by the platform

After

What changed

› Runs in production behind sign-in, built around the team's actual operating workflows.
› Email, social, and post performance read in one interface, each view labelled with its data source.
› Sending an MNDA and checking whether it came back signed happen in the same place, and access is managed from the dashboard itself.
› No usage or performance numbers are claimed here. It's a private internal system, and the screens are the proof.

Stack

AlsoGoogle OAuth

For technical readers

Technical detail

Build notes

A Next.js application on Vercel that reads email campaign data from GoHighLevel and social and post data from Google Sheets.

› Provenance is part of the interface: the intelligence views name their source, and where it applies, the cache window and what was cleaned, down to how many duplicate rows were removed before counting.
› GoHighLevel doesn't expose when a campaign was sent, so its campaigns are dated by last update, and the page says so instead of implying a send date.
› The email trend chart breaks at the platform change instead of joining both platforms' campaigns into one continuous line.
› Open rates carry an Apple Mail privacy flag, and overall rates are weighted by volume.
› MNDA statuses such as Expired and Superseded are worked out from each link's expiry and any later resend.
› Sign-in supports password accounts and Google OAuth, and people without access can request it from the sign-in screen.

Need an internal platform like this for your team?

› Get in Touch