๐Ÿ‡ Val Town Growth Engineer Application

An interactive job application built entirely on Val Town, demonstrating growth engineering principles in action.

Live site: growth-engineer-application.val.run

The Concept

This application uses the Matrix red pill / blue pill metaphor to let visitors choose their path:

  • ๐Ÿ”ด Red Pill - A tailored CV showing relevant experience and a concrete Week 1-2 plan
  • ๐Ÿ”ต Blue Pill - Behind the curtain: see the instrumentation, live event logs, and how it was built

Features

Instrumentation

  • PostHog analytics with deliberate event tracking (no autocapture)
  • SQLite event logging for page views and pill choices
  • Scroll depth tracking at 25%, 50%, 75%, 100%
  • Click tracking on all CTAs, links, and interactive elements

Automations

  • Server-side handler on /blue route triggers webhooks and email notifications
  • Environment variables for WEBHOOK_URL, NOTIFY_EMAIL_TO, and POSTHOG_API_KEY

Tech Stack

  • Val Town - Hosting and runtime
  • Hono - Lightweight router for API and page routes
  • React - Client-side rendering via esm.sh imports
  • SQLite - Val Town's built-in database for event storage
  • Blob Storage - Images and CV served from Val Town blobs
  • PostHog - Product analytics

Project Structure

pillChoice/
โ”œโ”€โ”€ index.ts              # Hono server (entry point)
โ””โ”€โ”€ frontend/
    โ”œโ”€โ”€ index.html        # HTML shell with PostHog snippet
    โ”œโ”€โ”€ index.tsx         # React app with all pages
    โ””โ”€โ”€ style.css         # Styles with animations

Events Tracked

EventPropertiesTrigger
page_viewpagePage load
pill_choicepill, click_sourceRed/blue pill click
scroll_depthpage, depth25/50/75/100% scroll
experiment_hoverexperiment_index, experiment_titleHover on Week 1-2 cards
cta_clickcta, pageButton clicks
click_company_linkcompanyCompany name clicks
click_contact_linklinkHeader contact links
click_view_source-Footer source link
matrix_intro_completepageTypewriter animation ends
event_log_loadedevent_countSQLite events fetched

Environment Variables

Set these in Val Town's environment variables:

  • POSTHOG_API_KEY - Your PostHog project API key
  • WEBHOOK_URL - (Optional) Webhook to call on blue pill visits
  • NOTIFY_EMAIL_TO - (Optional) Email to notify on blue pill visits

Local Development

This project is designed to run on Val Town. To work on it:

  1. Fork the project on Val Town
  2. Edit files in the Val Town editor
  3. Changes deploy instantly

Blob Storage

Images are stored in Val Town blob storage and served via /images/:name:

  • Andy_Wingrave_Growth_Engineer - Profile photo
  • right_red_pill - Red pill hand image
  • left_blue_pill - Blue pill hand image
  • CV - PDF resume

Upload blobs using the Val Town Blob Admin.

Why This Exists

This isn't just a portfolio piece. It's a growth experiment built the way I'd build them at Val Town:

  • Instrumentation from day one - Every interaction is tracked and queryable
  • Automations ready - Webhooks and emails can trigger on any event
  • Built in public - The source is visible and remixable
  • Shipped in hours - From idea to deployed app in a single session

Built by Andy Wingrave ยท View Source