A student project in marketing analytics

Learning how to turn brand attention into better questions.

I'm Jackson, a Marketing major with a minor in Management Information Systems at Georgia College & State University. I created SentimentForecast to connect what I'm learning in marketing with a practical data project—and to explore how AI can help me build, test, and improve an idea.

The marketing question

How can we compare brand attention when the data lives in different places?

A brand can appear in headlines, video searches, and Wikipedia visits, but those signals measure different things. I wanted one place to compare brands within one industry — five sportswear brands and six automotive brands (Toyota, Ford, Honda, Chevrolet, Tesla, BMW) — see what changed, and ask what deserves a closer look. Categories stay separate so brands are only compared with their peers.

The challenge is making the comparison useful without treating attention as proof of popularity, sales, or positive sentiment. SentimentForecast keeps each source in its original unit instead of blending unlike signals into one score.

How I used AI

Clear roles, with the output still open to questions

My role

I chose consumer brand attention as the focus, selected the brands and questions, directed the layout and content through feedback, and decided which features to keep. I’m developing my interpretation and validation skills as part of the process.

AI’s role

I used ChatGPT to help shape the idea, research data options, and refine explanations. I used Lovable’s AI development tools to generate and revise the application, connect data sources, and help troubleshoot issues. This is an AI-assisted project, not a claim that I hand-coded every feature.

Checking the output

AI can help produce code and explanations, but that does not make the results automatically correct. The project uses source links, dated observations, calculation checks, and clear missing-data states. I’m learning to question what a metric measures, check whether comparisons are fair, and recognize when the data cannot support a conclusion.

What I’m learning

Skills developed through the project

  • Defining useful marketing questions before choosing a metric
  • Separating different signals and comparing equivalent periods
  • Communicating an insight alongside its limitations
  • Directing AI tools and evaluating the output they produce

See the approach in practice

Brand Spotlights

The fixed Adidas and BMW case studies use dated Wikipedia pageviews to ask marketing questions without asserting cause and effect.

Data sources

Different signals, defined separately

Wikimedia Pageviews

Refresh issue

Monthly English Wikipedia pageviews from human users—a public-attention signal, not sentiment or sales.

Last successful update: Nov 2, 2026, 3:17 AM UTC

Sampled articles collected from two news feeds, deduplicated and counted as tracked coverage—not all internet news. Headlines are first sorted by fixed headline-and-link rules into clear, uncertain or excluded matches; only clear ones are listed and get an experimental word-based tone score.

Last successful update: Nov 2, 2026, 3:19 AM UTC

YouTube's own estimate of videos matching a search in a month—not verified uploads or views. Car brands share one versioned query (brand name + car terms, motorcycles excluded); capped or contradictory totals show as unavailable, and the estimates are not ranked.

Last successful update: Nov 2, 2026, 3:17 AM UTC

Social discussion is hidden because Bluesky access is unavailable. Google Trends remains a future option rather than a connected source.

Technical overview

The tools behind the project

ChatGPT + Lovable

AI-assisted planning, research, development, and revision

React + TypeScript

The interactive website and its data behavior

Tailwind + Recharts

Responsive layout and accessible charts

Supabase + PostgreSQL

Storage for dated observations and source status

GitHub

Version history and project source (access required)

How it works: public sources send data to server collectors, which store dated observations in PostgreSQL. The application reads those records for charts and comparisons. Source status and last-success times remain visible when a refresh fails.

Method and limits

Useful evidence, not a final answer

Attention is not sentiment or sales, and the project does not offer validated forecasting despite its name. The News page includes an experimental, word-based headline tone gauge; it scores headline wording only and is not a measure of consumer sentiment. Changes identify questions to investigate; they do not explain why the change happened.

Relevance rules read only the headline and link, not the article, so some matches are misjudged. I checked the rules and the tone score against a small set of about 28 real headlines that AI labeled first; those labels still need my own review, so this is a spot check, not a validation.

Tracked news is a feed-limited sample and does not yet support a current month-over-month comparison. A scheduled refresh means collection is attempted, not that every source successfully ingests new data each time.