DEV Community

Cover image for I gave Linus Torvalds a MySpace page
Jon Retting
Jon Retting

Posted on

I gave Linus Torvalds a MySpace page

Most AI agents can read a webpage. Mine redecorated one.

I pointed my agent at github.com/torvalds — Linus Torvalds' GitHub profile — and told it to turn it into a MySpace page. No screenshots-and-Photoshop. No mockups. The agent injected JavaScript into a live Chromium browser and rebuilt the DOM in real time.

Here's what happened.


Stage 0: The before

Torvalds' GitHub profile. Clean. Professional. 289k followers. Six pinned repos. You've seen this page.

Stage 1: The vibes

First injection: a <style> tag. Dark navy background. Comic Sans on everything. Neon pink text. The contribution graph turned magenta. The GitHub nav bar became a gradient of hot pink and purple with a dashed yellow border.

It already feels wrong. In the best way.

// What the agent actually ran (simplified)
var s = document.createElement('style');
s.textContent = '* { font-family: Comic Sans MS, cursive !important; } '
  + 'body { background: #0a0020 !important; color: #ff69b4 !important; } '
  + 'header { background: linear-gradient(90deg, #ff1493, #8a2be2, '
  + '#4b0082, #ff1493) !important; }';
document.head.appendChild(s);
Enter fullscreen mode Exit fullscreen mode

One style tag. The entire page transformed.

Stage 2: The identity

The agent replaced "Linus Torvalds" with xX_Torvalds_Xx in rainbow-animated text. The subtitle became "~ The Kernel King ~". The Follow button now reads "Add 2 My Top 8".

Then it injected an About Me box:

Field Value
Mood mass-merging
Status Online Now!
Occupation Benevolent Dictator 4 Life
Heroes Dennis Ritchie, Ken Thompson
Interests kernels, git, yelling at devs

Three gradient buttons appeared: Send Message, Block User, Add to Favorites.

Stage 3: The friends

The agent renamed each pinned repository into a MySpace friend:

GitHub Repo MySpace Friend Bio
linux TuxThePenguin Best penguin friend EVER!! BFFs since 1991 xoxo
GuitarPedal ShreddMaster69 Met at Battle of the Bands!! ROCK ON!!
uemacs EmacsGurl_xo we edit text files together lol
AudioNoise DJ_WhiteNoise makes the SICKEST beats!!
HunspellColorize SpellCheckQueen always corrects my spelling lmao

Stars became hearts. Forks became "hugs". The section heading: My Top 5 Friends.

Stage 4: The finishing touches

The agent added:

  • A bouncing marquee: "WELCOME 2 MY PAGE!! thx 4 stopping by!! sign my guestbook!!"
  • A music player widget (Now Playing: Darude — Sandstorm) with a progress bar at 67%
  • Achievements relabeled to My Blinkies & Flair
  • Contribution activity became Wall Posts
  • "Block or Report" became Report 2 Tom
  • A visitor counter: 001,337,420
  • Footer: "Best viewed in Netscape Navigator 4.0 at 800x600"

The entire transformation: 14 JavaScript injections. Each one a single vscreen_execute_js call from the agent. No page reload. The DOM stayed live the entire time.

What just happened

This wasn't a mockup. The agent:

  1. Navigated to a real website in a real Chromium browser
  2. Inspected the DOM to understand the page structure
  3. Injected CSS and JavaScript to transform every element
  4. Took screenshots at each stage to document the process

The page was live. The links still worked. The contribution graph still had real data. The agent just... redecorated.


Why this matters

The MySpace transformation is funny. The capability behind it is not.

An agent that can inject JavaScript into a live page can also:

  • Fill forms and submit them
  • Extract data from SPAs that HTTP fetch can't reach
  • Test UIs by clicking buttons and verifying results
  • Automate workflows across any web application
  • Read code editors by accessing their internal APIs

If it can turn GitHub into MySpace, it can do your job's boring parts.


Try it

vscreen --dev --mcp-sse 0.0.0.0:8451
Enter fullscreen mode Exit fullscreen mode

Pre-built Linux binaries on the releases page.

Give your agent a real browser

GitHub logo jameswebb68 / vscreen

Give AI agents a real browser — streamed live over WebRTC. Captures headless Chromium, encodes H.264/VP9 + Opus audio, 47 MCP automation tools with live advisor, AI-driven page synthesis, multi-instance, bidirectional input. Watch your agents browse the real internet in real-time.

vscreen — Virtual Screen Media Bridge

Give AI agents a real browser. Watch them live. Control everything.

Download the latest release — pre-built binaries for Linux.

vscreen turns a headless Chromium into a remotely viewable, controllable, and AI-automatable virtual screen. It captures the browser viewport via Chrome DevTools Protocol, encodes H.264/VP9 video + Opus audio, and streams everything over WebRTC. Clients send mouse and keyboard input back through a DataChannel for full bidirectional interaction. 47 MCP tools let AI agents automate the browser programmatically — including the Synthesis Bubble system for AI-driven frontend page construction with one-shot multi-source web scraping.

 Xvfb + Chromium           vscreen                  Browser Client
 ┌──────────────┐    ┌─────────────────┐     ┌──────────────────────┐
 │  Renders web  │───>│ CDP screencast  │     │                      │
 │  page at      │    │ JPEG → I420     │     │  <video> element     │
 │  1920×1080    │    │ → H264/VP9      │────>│  shows remote screen │
 │               │    │                 │     │                      │
 │  PulseAudio

Top comments (0)