Application: Product Designer, Claude Code

A Job Application to Anthropic

Who I Am

I am a blogger-builder and an Assistant Professor (Lecturer in the UK) in Spacecraft Engineering at Queen Mary University of London. I balance peer-reviewed academic space research alongside futurist essay-writing in Works in Progress. This week, I shared a spacecraft and debris visualiser with Dwarkesh to help him prep for an interview with Elon that was also built with Claude Code.

I wasn’t always technically astute and didn’t own a personal computer until a couple years into grad school in California; growing up in India and Nigeria presented alternate experiences. This made the on-ramp to computing much harder for me, but overcoming it was followed by various side-projects to make the learning curve less steep for undergraduate students. A more recent one was over Christmas break: I built Howler, a voice controller for Claude Code that is central to my application to this specific role at Anthropic.


The Project

Howler is a voice-first messenger where you can talk to Claude Code from your phone and have it merge code to your GitHub repos. I first built a simple query agent, mawkishly called Claubsidian, that searched my indexed Obsidian vault to surface notes related to voice notes I send to my friends. Yesterday, I deployed a different, more capable autonomous agent loop that runs background literature reviews and completes coding tasks while I sleep. Today, such an agent created and merged its first PR to the Howler codebase, after I sent it a short voice message using Howler from a sauna! The recursion runs deep but it is also clear that we can effectively talk to our terminals.

The general principle of operation is that you send a voice note to an agent, which then works autonomously, and you come back to results or suggestions for inputs from it. The agent connects to your laptop via a Cloudflare Tunnel (if you have a Claude subscription); it falls back to GitHub Actions with API tokens otherwise.


Why I’d Be a Good Fit

The design problems I’ve been solving are the same ones you’re solving: How do you communicate progress when the AI is working autonomously? How do you handle failures gracefully? When should it ask for confirmation versus just proceed? But the critical one is: how can a human keep up with the generative speeds of LLMs?

The answer lies in the principle that talking is easier and faster than typing; reading is faster and more convenient than listening when scanning technical details. I’ve been building this voice interface to Claude Code—while using Claude Code—with precisely this principle. This interactive feedback loop—using the tool to build the tool, like Boris recently demonstrated—has taught me things I couldn’t learn from mockups alone.

Some of what I’ve learned:

  • Voice-in, text-out asymmetry works. I talk to Claude, and it writes back. Voice is ephemeral, but it connects to a persistent terminal, so the agent keeps working after you’ve put your phone away.
  • Agents need clear pause/proceed rules. I settled on structured responses: continue, blocked, or done. When blocked, the agent asks a question and waits. Otherwise, a cron job lets it do its thing.
Structured options let users respond with a single tap instead of composing a message—important when checking in from a phone between tasks.
  • Cost routing matters. Local-first (Claude Max, no marginal cost) with cloud fallback (GitHub Actions, costs money but scales). Status icons show which of these two paths is active.

I don’t have a traditional design portfolio. What I have is a working prototype that demonstrates what the job description asks for: multiple agents working across different repos simultaneously, autonomous systems that communicate progress, and code instead of mockups. The core insight isn’t merely the use of voice—it’s also remote terminal sessions. Dispatch a task from your phone, walk away, get notified when it’s done or stuck. The agent keeps working; you don’t have to babysit it.

The job posting asks for someone who can “create experiences for Claude Code across terminal, IDE extensions, web, and Slack interfaces.” I’ve demonstrated this as a fifth surface—not a replacement for keyboard-first work, but an augmentation for when you’re on the move.

The visual design is functional, not polished. There is room for improvement, but I genuinely believe it’s intuitive and effective. My strengths are at systems thinking—states, transitions, information hierarchy—and early prototyping. Visual execution is where I’d need to grow or pair with someone who has that craft. If I were iterating further, I’d refine the feed view: tighter spacing, better typography for scanning long agent logs, and clearer progress indicators that show where in a task the agent is, not just that it’s running or blocked or successful.

For technical details on the agent system, see AI Agents. For architecture details, see Technical Architecture.


History

Since 2021, Howler was an iOS-only voice-first messenger for my friends; its time-stamped replies allowed us to auto-generate satirical podcasts and read out poems during COVID lockdowns. This was not merely a design exercise, but a product we used every day for three years—until I couldn’t maintain it anymore.

Since Claude Code came into my life last month, I rebuilt it cross-platform. It is no longer just a messenger for human friends, but also for AI agents—they help with my coding, academic research, and blog idea-explorations.

Claude Code’s estimated numbers on this project, if they’re helpful:

Metric Count
Total commits 781
Commits in Jan 2026 711 (~34/day)
Lines of code 71,558
Edge Functions 22
Tokens used (30 days) 8.7M
API cost equivalent ~$490
Sessions 182
Active days 25/30

I wasn’t familiar with TypeScript, React, Supabase before this implementation as the iOS prototype was written in Swift with Firebase as a backend; I learn what I need as I go. Building an encrypted messenger has also taught me to think carefully about where secrets live—habits that seem relevant for developer tooling in this role.


Again: I built—and rebuilt—what I wished existed. I’d like to help build what comes next with y’all.

—Angadh



Mentions & Discussions

Loading mentions...