Vincent Voyer (@vvoyer) header
Vincent Voyer (@vvoyer) profile picture

Senior Software Engineer @vercel. Automate Your Team Schedule: https://xitter.twitterapi.xyz/t.co/dq0OtEI9dh Stateless sessions: https://xitter.twitterapi.xyz/t.co/a1xuI1AFq4 x @algolia

France
Joined May 2008
Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)Photo by Vincent Voyer (@vvoyer)
Status: pushing the boundaries of web development one button at a time.
1
52
6,928
Turns out the future does have flying cars
2
274
I'm convinced that relying on a frontier coding agent (Claude Code, Codex, ...) is a mistake, for engineers and their companies. As good as they are, as much of a Claude Code die-hard as I've been, I no longer recommend them. The "best frontier model" is a moving target: it went from Opus to Fable to Sol to Opus again in 4 months. These agents are built for their lab's models and plans. Yes, you can run other models, but it's not native or in their interest. You may be locking yourself into a worse-model future that's hard to leave. As with IDEs, there's a lot of inertia in tools we use all day, and in the skills, prompts, MCP servers and hooks we add to them. It's like Formula 1: engine suppliers come and go, the teams stay and keep improving the car. Instead, get comfortable with @opencode, @t3dotcodes or Vercel's fx. Configure them well, use a gateway like Vercel's AI Gateway or OpenRouter, and switch to the best model the day it's out. PS: I work at Vercel, but this isn't a Vercel point of view or a criticism of AI companies. Closed models are perfectly fine. Tying your tools to one lab is a dangerous bet.
64
2
3
51
24,730
Some big opinionated person at Apple TV decided that the ESC key would quit the currently playing media, instead of just getting out of fullscreen like the other 99% of media players are doing, since forever.
1
230
Something @algolia did very very well in the early days was: developer experience. We wanted everyone to be able to use Algolia, no matter their platform or language. This is why Sylvain Utard, @jlemoine_algo and @dessaigne insisted that we create SDKs for every possible language. It was a pain, especially pre-AI, but it worked extremely well! Customers were amazed, it was a big selling point. And nowadays, in the AI era, where a single engineer can create 10 different SDKs for your API in one week, I still see companies supporting only a few languages, or, for example, mocking to create a Terraform provider. Know this: for every customer telling you "We need support for Terraform", there are maybe 50 of them that would like the same but will never bother telling you. They will just work around it, or worse: choose a different solution. So, If you have an API, get 2 of your engineers for 2 weeks, give them AI tokens, and ask them to create SDKs for all major languages and platforms.
8
558
Created two @opencode plugins I always wanted to have: 1. opencode-prs: display session's open/draft/merged PRs 2. opencode-cost-details: get current and previous prompts costs Get them here: github.com/vvo/opencode-plug…
2
8
394
iron-session v9, the stateless, cookie-based, session library for Next.js and JavaScript runtimes, is available. 1. Sessions work in Next.js Proxy (middleware) 2. Sessions can be bigger than 4KB 3. Better TypeScript support 4. All bugs fixed, all deps upgraded 5. Node 22.13+, ESM-only 6. Tested in real browsers: Chromium, Firefox, WebKit, plus Node, Bun and Deno github.com/vvo/iron-session/…
1
285
Just made an @opencode plugin that shows total session cost plus the current and previous turn cost in the sidebar. opencode plugin opencode-cost-details By default OpenCode only shows the session total. I always wanted per-turn cost to spot expensive prompts. Enjoy!
3
3
15
7,326
1980s → RTFM (Read The Fucking Manual) 2000s → LMGTFY (Let Me Google That For You) 2025s → LMPT (Let Me Prompt That For You) Same spirit (dig first, ask later), different tools.
1
247
"Can you please open a ticket?" is a failure of your support flow. If a customer reach out to you (Slack shared channels for example) and you ask them to open a ticket: you failed. Do it for them, automate it with AI, do something for your customer.
5
510
Guess I’ll have to cancel Netflix :/ health.aws.amazon.com/health…
3
2
1
61
2,871
Putain ils vont me tirer les larmes ces joueurs Paraguayens, chapeau les gars
74
119
25
721
198,487
Oh! I guess that explains it
1
1
5
370
😲 Google knows what's the most important thing in life
201
In a world where anyone can write 10,000 words in 30s, knowing how to write good and engaging content will be a gift.
107
macOS apps are just slow websites. I do everything in the browser: Slack, Notion, Claude, Linear, ... All I need is just one CMD+T away and a few keystrokes. Fight me
174