Inspiration
I've been into the idea of virtual companions since I was a kid, that sci-fi thing of having a small smart assistant that actually works alongside you instead of just answering questions on command. With how far AI's come now, that idea finally feels buildable instead of just fiction. I started thinking about what a genuinely useful, likeable AI companion could look like in the most boring possible context, the browser tab you're already staring at while you're supposed to be working.
What it does
Ollie is a pixel art octopus who lives at the edge of your browser. start a focus session and he settles in and works quietly alongside you. type in what you're working on (optional) and gpt-5.6 generates personalised, in character commentary tied to your actual task, cached for the session so it's one api call, not a chatbot.
Drift over to a distracting site mid session and Ollie doesn't lock you out or lecture you. he reacts, in character, with an escalating ink splatter intervention across the page, only in the tab you're actually distracted in, not every tab you have open. come back to focus and he calms down. take a break and he settles down to sleep. finish a session and he celebrates. you can drag him out of the way if he's sitting on top of something you need to read.
How we built it
This was my first time building end to end with Codex, and i used it pretty deliberately as an implementation partner rather than a co designer. i made the product, architecture, and visual calls, Codex built basically all the actual code, milestone by milestone, with me reviewing and testing live in the browser before approving each step instead of just trusting descriptions.
The build ran across five core milestones, project scaffold, the core extension shell (timer, popup, Ollie rendering), cross tab distraction detection, gpt-5.6 integration, and a final character/animation/ux polish pass. Ollie himself is entirely hand specified pixel grid svg, not raster art, built cell by cell in code so he stays crisp at any size and recolours instantly through css variables. the gpt-5.6 integration is intentionally minimal and honest, one structured api call per session, a fixed schema covering greeting, idle, distraction, break and celebration lines, and a full bundled fallback so the whole extension still works perfectly even with no api key at all.
Challenges we ran into
The biggest one wasn't technical honestly, it was a design catch. my first version of Ollie, orange with side fins and blocky eyes, ended up looking uncomfortably close to Clawd, Anthropic's own mascot for Claude Code. since i was submitting to an OpenAI hackathon that was a real problem, not just an aesthetic one. i had to rework Ollie's silhouette and colour from scratch, which is how he became a pink, dumbo octopus inspired design instead. cost real time but made the character way more distinct.
The ink splatter distraction animation went through the most rounds of any single feature. getting it to feel disruptive but not chaotic meant a lot of back and forth on coverage math (targeting specific percentages per escalation phase), shape composition, and colour contrast so it reads as intentional pixel art instead of random noise.
Time was the other constant pressure. a few features (hammer and sleeping animations, drag repositioning, more idle variety) got scoped out mid build on purpose to protect the core milestones, then some got added back later once there was room, using an approved reference sheet to keep them consistent with Ollie's style.
Accomplishments that we're proud of
Shipping a fully working, polished chrome extension in two nights, with a real personalisation layer, real cross tab aware distraction detection, and a completely custom pixel art character with multiple animated states, not just a prototype, and of how the ink intervention went from one blunt effect to a genuinely choreographed, escalating sequence with real pacing.
What we learned
The biggest lesson was how much better Codex does with scoped, sequenced instructions instead of one giant spec. breaking work into small milestones, having Codex describe its understanding back before implementing, and testing live in the browser before approving each step caught real issues early and kept the whole build reviewable instead of a black box. attaching visual references (an approved character sheet, ink splatter comparisons) instead of describing things purely in text also made a real difference in how accurately Codex matched what i actually wanted.
What's next for Ollie
This build was scoped on purpose as a solid v1, with a clear list of what's next. colour variants for Ollie, deeper task aware behaviour (like picking which tool he's holding based on what you're actually working on), more idle variety so he feels alive even when nothing's happening, a persistent home position after dragging him, and eventually a genuinely contextual assistant mode where Ollie can offer real help based on what you're doing, not just personalised commentary. longer term i'd love to see him escape the browser entirely and live as a native desktop companion.
Built With
- chrome-alarms-api
- chrome-extension-manifest-v3
- chrome-storage-api
- claude
- codex
- css
- gpt-5.6
- html
- javascript
- openai-api
- svg
Log in or sign up for Devpost to join the conversation.