Inspiration

What if an AI support agent desperately needed YOUR help? The Support Company satirizes AI help desks while celebrating uniquely human abilities, visual perception, subjective judgment, and empathy for a panicking AI.

What it does

The app delivers a single page experience with a landing screen and an auto opening chat widget. An anxious AI agent sends brief, fast paced messages using a multi message streaming system. Its behavior is governed by strict rules: short replies, escalating anxiety, and an idle timer sequence that advances the story even without user input. A “verification images” link appears only after enough story setup via emotional state tracking.

A real time event system ties puzzle interactions to the agent’s responses. The user solves three puzzles (“Pick the Human Hand,” “Pick the F#^$boy,” “Pick the Cutest Image”) before reaching a success screen that tracks how many agents have been “saved.” There are also playful Easter eggs an email support service and a humorous phone line built with Twilio and ElevenLabs.

How I built it

Framework & Language: Next.js 14, TypeScript

Key libraries: @vercel/ai-chatbot, @ai-sdk/openai, framer-motion, Tailwind CSS

Chat backend: OpenRouter configured in openrouter-provider.ts

State management: A custom ConversationManager tracks emotional state, puzzle progress, and story beats

Puzzles: Served by API routes (/api/chat and /api/puzzle), with real-time events (puzzle_opened, puzzle_failed, puzzle_passed) that update the AI’s behavior

My boy Claude was the real goat.

Challenges I ran into

Finding the right pacing and personality for the agent was tough, especially when coordinating puzzle-triggered responses and ensuring the puzzle link appears only at the right moment.

Accomplishments that I'm proud of

Made the internet very slightly sillier.

What I learned

I learned a lot about chatbot implementation, both the actual chat window and how to craft a personality and story through a system prompt.

What's next for The Support Company ®

Constant failure. The agents need a lot of help :)

Built With

  • next.js
  • openai
  • openrouter
  • tailwind
  • twilio
  • vercel
Share this project:

Updates