Skip to content
View seanbetts's full-sized avatar

Block or report seanbetts

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
seanbetts/README.md

Sean Betts

Hi, I'm Sean Betts. I work at the intersection of AI strategy, transformation, product innovation, and business change.

This repository contains my personal portfolio website: a GTA-inspired illustrated design showcasing my projects, writing, speaking and professional experience. It supports mobile and desktop layouts, light and dark themes, and keyboard navigation.

πŸš€ About Me

  • 🧠 Chief AI & Innovation Officer at Omnicom Media UK
  • πŸ€– Independent AI Researcher and Builder
  • πŸ› οΈ Focused on AI Strategy, Transformation, and Product Innovation
  • πŸ—£οΈ Neurodiversity and Mental Health Speaker

With more than 20 years of experience in marketing and innovation, I focus on turning fast-moving advances in AI into practical tools, products, and capabilities that create real value for people and organisations. Alongside my role at Omnicom Media UK, I design and build independent AI products, benchmarks, and applied systems to better understand how emerging technologies are reshaping products, knowledge work, and consumer experiences.

πŸ”­ Selected Work

sideBar

A unified AI assistant for iPhone, iPad, Mac, and web that keeps notes, tasks, files, and saved websites in one context-aware workspace.

  • 🧠 Context-aware chat across your personal knowledge
  • πŸ“‚ Notes, tasks, files, and saved websites in one system
  • πŸ”§ Skills, attachments, and personalisation across every surface

View Project

Local Web

A framework for running my web applications as a connected private collection, with shared navigation and styling, managed updates, and portable exports.

  • Shared navigation and interface components across independently built apps
  • Versioned releases, health checks and rollback
  • Application context and interactive snapshots that can travel outside the hosted app

View Project

Plotter

A trip-planning app and collection of agent skills for exploring destinations, planning routes and finding things to do along the way.

View Project

LLM Search Analysis

A research tool for comparing how AI models search the web, which sources they find and what they cite in their answers.

  • Compare responses across AI providers
  • Inspect available search queries, sources and citations
  • Revisit saved results and export the data for further analysis

View Project

GenAI Marketing Benchmarks

A benchmarking framework with 2,800+ questions across 20 marketing disciplines designed to assess the knowledge and performance of large language models.

  • πŸ”¬ Large-scale benchmark design for marketing capability testing
  • πŸ“Š Comparative evaluation across multiple LLM providers
  • πŸ§ͺ Practical framework for model analysis and benchmarking workflows

View Project

YouTube SDG Analysis

Applied AI workflows to map YouTube channels and video content to the UN Sustainable Development Goals at scale.

  • πŸ“Ή Video transcription and channel analysis
  • 🌍 SDG classification and mapping
  • πŸ“Š Large-scale content analysis across millions of videos

AI Brand Detection

AI techniques for detecting brands and products in video content using multimodal analysis workflows.

  • πŸ‘οΈ OCR and vision-based brand detection
  • 🏷️ Product and brand recognition across varied contexts
  • πŸ“ˆ Workflows designed for downstream analytics and insight generation

πŸ“« Get in Touch

For speaking, AI and collaboration enquiries, contact me on LinkedIn.


"The future is already here – it's just not evenly distributed." - William Gibson

Development

The site uses React, React Router and Vite, with CSS Modules and a custom static prerendering pipeline. Cloudflare Pages hosts the generated HTML, CSS, JavaScript and images. React hydrates the exported pages for interactive navigation and controls; the initial HTML contains the page content and search metadata.

Run locally

Use the Node version in .nvmrc. If you use nvm:

nvm install
nvm use
npm ci
npm start

Otherwise, install the version specified in .nvmrc, then run the npm commands above. Open the URL printed by Vite. To use a fixed local address:

npm start -- --host 127.0.0.1 --port 3017 --strictPort

Start, test and build commands automatically prepare responsive images. The first run can take several minutes while images are encoded; subsequent runs reuse existing exports. To reuse validated image exports from the published site on the first run:

SEANBETTS_IMAGE_CACHE=1 npm start

See responsive images for cache behaviour and image conventions.

Validate changes

node --test scripts/tests/*.test.cjs
npm test
npm run build

These run the Node script regression tests, the React tests with Vitest/JSDOM, and the production build. The build includes ESLint, browser/server CSS-module consistency checks, prerendering, and crawl and image checks. The generated site is written to build/.

For focused development, use npm run test:watch or npm run lint. For UI changes, also check desktop and mobile layouts, both themes, keyboard navigation and the affected interactions in a browser.

Edit content and artwork

Change Source
Projects and case studies src/data/projectsData.jsx
Writing and speaking appearances src/data/articlesData.js, src/data/speakingData.js
Routes and navigation src/data/siteRoutes.js, src/App.jsx
Shared identity and social links src/data/siteIdentity.js
Page layouts and components src/pages/, src/game/, src/components/
Original images and project artwork mapping public/images/, src/data/projectArtwork.js

Responsive image exports and generated manifests are ignored by Git; edit the original images and source data. The build generates the sitemap and llms.txt from the site sources, so they do not need separate manual updates.

Artwork provenance and representative image-generation prompts are preserved in artwork notes and prompt examples.

Deployment

Production is www.seanbetts.com. Cloudflare Pages builds the main branch with npm run build and publishes build/; other branches receive preview deployments.

Changes go through a pull request with the required Validate site check passing on an up-to-date branch. Merging into GitHub's main triggers production deployment. A local build does not deploy the site.

For documentation-only changes, use the [CF-Pages-Skip] prefix on the commit that lands on main to skip the Pages deployment. GitHub site validation still runs. The separate IndexNow workflow notifies participating search engines after a verified production deployment and skips explicitly skipped deployments.

See the deployment guide for custom domains, redirects, verification and rollback, and search and AI discovery for metadata, crawler controls and IndexNow.

Further documentation

Pinned Loading

  1. genai-marketing-benchmarks genai-marketing-benchmarks Public

    Benchmark tests to evaluate LLM's marketing knowledge, understanding and capabilities

    Python 2 1

  2. llm-search-analysis llm-search-analysis Public

    Monitor and analyze LLM search behavior across OpenAI, Google, and Anthropic

    Python

  3. the-blueprint-ai/panda.ai the-blueprint-ai/panda.ai Public

    Vue 1 1

  4. product-placement product-placement Public

    Python

  5. steam-hardware-watch steam-hardware-watch Public

    Agent-first watcher for Steam Controller, Steam Machine, and Steam Frame launch signals across Komodo, SteamDB, SteamTracking, and Valve endpoints.

    Python 3