Sign in

Kevin Swiber

@swiber.dev
587 followers 633 following 486 posts

🔎 programming + leadership + architecture + ops 🤖 Working at the intersection of AI and APIs (ex-Postman, ex-Apigee) ✨ enby (they/them)

PostsRepliesMedia
Kevin Swiber @swiber.dev · 16/01/2026
Three things to remember: 1. Host layer is your lever, especially if you're building your own agent (Claude Code proves it) 2. Every word should earn its place 3. You're not alone! Solutions exist at every layer
000
Kevin Swiber @swiber.dev · 16/01/2026
The ecosystem response is fast: • MCP gateways collapsing tools into "search" + "execute" • Host-side proxies with semantic filtering • Agent Skills for progressive disclosure • Protocol proposals showing 91-98% reduction
110
Kevin Swiber @swiber.dev · 16/01/2026
One MCP server with 106 tools = 54,600 tokens burned on init. Claude Code just shipped Tool Search to fix this (triggers at >10% context). Wrote up what's working across the ecosystem: www.layered.dev/mcp-tool-sch...
layered.dev
MCP Tool Schema Bloat: The Hidden Token Tax (and How to Fix It) | Notion
Your MCP tool descriptions are eating your context window.
110
Reposted by Kevin Swiber
Nordic APIs @nordicapis.com · 14/01/2026
One week to go! 📣 On Jan 21, join our session if you're looking to build agent-friendly APIs and future-proof their standards strategy. Panel: @kinlane.bsky.social, @swiber.dev and Lorna Mitchell. 🔗 nordicapis.com/events/api-standards…
nordicapis.com
LiveCast: API Standards for AI Agents | Nordic APIs
Our LiveCast on API standards and AI agents explores how core API and open web standards enable accurate, reliable, and safe agent behavior.
032
Kevin Swiber @swiber.dev · 28/08/2025
I spent a lot of time in code designing abstractions that create boundaries around likelihood of change. I like to develop a solid core that I rarely ever touch again. Something well-tested and reliable. That enables me to go wild at the edges, run weird experiments, and not break anything.
010
Kevin Swiber @swiber.dev · 26/08/2025
Also, I get like 15 ideas a day and want to do experiments on them. I've always been this way with code. Now, instead of putting ideas in a document I may never get to, I can ask a program to do an assessment I can review later. I don't lose ideas to the ether. Also... kinda nice?
000
Kevin Swiber @swiber.dev · 26/08/2025
I know AI code assistants are controversial. But honestly, I'm spending my time: designing software architecture, planning work, reviewing code, documenting best practices, and only diving into deep code-writing sessions on the legitimately difficult problems. It's... kinda nice?
100
Kevin Swiber @swiber.dev · 25/08/2025
Sometimes I don't mind the AI being a sycophant. I worked hard on this high performance, multi-protocol connection pool. 😅 > The pool is not just "good" - it's production-grade high-performance infrastructure that can handle enterprise-scale multi-tenant workloads without breaking a sweat! 🚀
010
Kevin Swiber @swiber.dev · 22/08/2025
One cool thing about building developer tools is that I get to add all the nice little touches I like. For example, in a CLI, why can't I get JSON output on like... everything? If I want to wire up automation, parsing text is always fraught with peril. Just give me a data structure I can pipe to jq.
120
Kevin Swiber @swiber.dev · 22/08/2025
One of my favorite uses of terminal-based AI code assistants is telling them my complex queries and letting them rg (or grep), sed, and awk their way through. We do need a reliable language server integration, though, which do a heck of a lot better at deterministic edits like symbol renames.
020
Kevin Swiber @swiber.dev · 21/08/2025
And yes, I do have a little script I use to calculate this, mostly because I want to see codebase composition over time. It's not a real metric of quality, of course. `cargo xtask code-stats`
A terminal screen with text:
╰─❯ cargo xtask code-stats

Code Statistics
      Production: 36785 lines   58.5%
           Tests: 24532 lines   39.0%
      Unit tests: 14964 lines
     Integration: 9568 lines
      Benchmarks: 1567 lines    2.5%
   Documentation: 4178 lines    5.3%
     Blank lines: 12018 lines

Summary
    Logical code:    62884 lines
   Physical code:    79080 lines
      Test ratio: 24532 / 36785 (66.7%)
000
Kevin Swiber @swiber.dev · 21/08/2025
I have about 37k lines of functional code and about 26k lines of test and benchmark code. While I did some pretty excellent low-level work (IIDSSM), what the hell was I doing with error and config types? What a mess. But at least my proxy is high-performance. 🤦 Cue 2342 hours of refactoring.
100
Kevin Swiber @swiber.dev · 21/08/2025
Me to me, about my Rust project:
Goofy visiting someone's house, which is very messy. Speech bubble: "Damn, bitch, you live like this?"
120
Kevin Swiber @swiber.dev · 21/08/2025
Ah, but it is nice to do this. This is *clean*. I should pick up the clothes off the chair for myself once in a while.
120
Kevin Swiber @swiber.dev · 21/08/2025
As I'm preparing to open source a project, I am suddenly so self-conscious about my code hygiene. I've been the only one looking at this code, so it's been fine. But I definitely need to clean the stacks of clothes off the chair before we have company.
120
Kevin Swiber @swiber.dev · 20/08/2025
I should be a good citizen and raise issues in their codebases (and maybe PRs). My todo list is pretty long right now, honestly. Maybe I'll publish my stuff first so I can reference the implementation.
010
Kevin Swiber @swiber.dev · 20/08/2025
I will say... for all the MCP gateways out there... proxying from HTTP to a subprocess communicating via stdio isn't as straightforward as it seems. It's incredibly easy to have resource and security leaks. Pooling, lifetime tracking, aggressive cleanup, bounded channel usage. It's basically a PaaS.
110
Kevin Swiber @swiber.dev · 20/08/2025
I've been working on MCP developer tools. It has been fun. There are a few MCP gateways out there. They're fine. I've technically built a high-performance, resilient MCP gateway in this codebase, but I'm not currently planning to promote it that way. I think there's a lot of opportunity here.
130
Kevin Swiber @swiber.dev · 20/08/2025
AI code assistants *also* find it difficult to find and fix race conditions. Give me a model that can implement best-effort cleanup of a concurrent resource pool when things go haywire. Then you can start heralding the death of human-led software engineering. Until then, I think we'll be all right.
010
Kevin Swiber @swiber.dev · 19/08/2025
Well, Drop can't be async, so you can't await on the shutdown of whatever you're pooling unless you block, but you can spawn cleanup tasks. Which means managing race conditions and ensuring fairness. I could also *not* do this and just mark with Drop and sweep with an explicit close() call. But hey.
020
Kevin Swiber @swiber.dev · 19/08/2025
Spending my evening with a Rust project figuring out a Drop implementation on a ConnectionPool that can do a best-effort cleanup of active connections. If the caller forgets to do an explicit call to the close method, I'd like it to be as low-impact as possible. This is hard stuff. But fun!
110
Kevin Swiber @swiber.dev · 19/08/2025
Confession: I've been cheating on fixing my clippy errors in Rust projects by using Claude. 🫣 cargo clippy --all-targets -- -D warnings 2>&1 | claude -p "Please fix these clippy errors"
000
Kevin Swiber @swiber.dev · 18/08/2025
When it comes time to search for code, like when you need to debug an outage, having really clean module design can help you get there in no time. It's a pain to have to refactor when your mental model evolves, but it's worth it to me.
000
Kevin Swiber @swiber.dev · 18/08/2025
As a developer who's getting older, I spend a lot more time on module organization design in my codebase. It's natural for module organization to grow and evolve over time, but what we usually end up doing is trying to stick to older models that might not be as useful.
130
Kevin Swiber @swiber.dev · 31/07/2025
DC never resonated with me as a kid. Marvel better connected with me. But some of these newer DC runs are incredible.
000
Kevin Swiber @swiber.dev · 31/07/2025
Reading DC Comics for the first time since childhood. Tom King’s Wonder Woman series and Supergirl: Woman of Tomorrow are really, really good.
110
Kevin Swiber @swiber.dev · 27/07/2025
I mean, keep reading Asimov... it's great sci-fi... but I don't think we're anywhere close to the Robot Wars.
000
Kevin Swiber @swiber.dev · 27/07/2025
If your headline about AI is "no more ___" or "the end of ___", I'm probably going to roll my eyes. Here are the latest top 3 things going away because of AI, according to headlines: - network APIs - software developers - the World Wide Web Okay, maybe, but not in your lifetime, buddy. Calm down.
100
Kevin Swiber @swiber.dev · 26/07/2025
Definitely the best on-screen depiction of Sue Storm. The entire birth sequence was some of the best filmmaking Marvel has produced.
020
Kevin Swiber @swiber.dev · 25/07/2025
Hey, folks! If you’re around at 9am EDT (6am PDT) on Friday, July 25th and are interested in the intersection of APIs and AI, feel free to tune in! www.youtube.com/watch?v=W3gp...
youtube.com
15+ Years of APIs (with Kevin Swiber, API Strategy Advisor)
YouTube video by WunderGraph — Stefan & Jens
031
Kevin Swiber @swiber.dev · 24/07/2025
I walked around the house showing this to every member of my family. We're definitely going to see this on the big screen. We make an AirBud reference at least once a week. I'm thrilled.
020
Kevin Swiber @swiber.dev · 24/07/2025
Going to see the new Fantastic Four movie at 2PM, because I really don't want to see spoilers. I'm looking forward to it! Early critic reviews have at 88% on the Tomatometer. That's pretty good.
010
Kevin Swiber @swiber.dev · 24/07/2025
Different strokes for different folks. I use all the form factors. But I also buy 3 entrees so I can eat a third of each. I like the variety.
000
Kevin Swiber @swiber.dev · 23/07/2025
I prefer my-org/my-repo, because I'd rather hit the hyphen than the shift key. Also, I read camel case LiKe ThIs.
010
Kevin Swiber @swiber.dev · 23/07/2025
What happens between issue open and issue close is actually more important. Was there a lot of wait time before quality assurance? Was code committed and sitting in the repo for an extended period of time? Did we build more than what was necessary? Identify waste. Maximize value.
000
Kevin Swiber @swiber.dev · 23/07/2025
I know very smart people have applied Lean to software development, but it feels to me like some wires got crossed. Assembly is your CI/CD pipelines. You want that fast. Development requires a cross-functional team. Measuring issue open to issue close times isn't about speed; it's about waste.
110
Kevin Swiber @swiber.dev · 23/07/2025
Product development is not product assembly. In a past life, I worked as an industrial engineering technician in the automotive industry. We were applying Lean Manufacturing practices. In development, you minimize waste and maximize value. In assembly, you optimize for speed and efficiency.
120
Kevin Swiber @swiber.dev · 23/07/2025
This is big-time celebrity status!
000
Kevin Swiber @swiber.dev · 23/07/2025
While @swyx.io isn't wrong, I've burned too much energy thinking I can influence the vocabulary of the zeitgeist. I just let it wash over me now. Apathy is bliss?
110
Kevin Swiber @swiber.dev · 23/07/2025
It's a new skill set, IMHO, and we're still figuring it out as the technology is rapidly changing. Each model is different, too, and has different nuances for creating high quality output. I'm not yet sure how junior developers can best use this. It's easy to go far in the wrong direction.
030
Kevin Swiber @swiber.dev · 23/07/2025
It's fun, and also, I think it's still a lot of work when building production-grade software. I spend a lot of time documenting the software design I'm targeting. I guide the agents to write and iterate on the code, which I closely review. It *feels* like I get more done, and I'm still tired after.
120
Kevin Swiber @swiber.dev · 22/07/2025
The Incredibles was very openly inspired by Fantastic Four, I thought. Even the name is an inspiration. In any case, that comparison is a high bar, and I’m excited to see it.
030
Kevin Swiber @swiber.dev · 22/07/2025
I love that the door burst was practical and not CGI. I wouldn’t want to enter a room like this, though. I hate making a mess.
010
Kevin Swiber @swiber.dev · 22/07/2025
Just a couple of guys out shopping for wagon wheels. ❤️
100
Kevin Swiber @swiber.dev · 19/07/2025
Possible hot take: AI code agents are actually more effectively used in large feature creation than in small bug fixes. Reasoning: It requires a lot of meticulous planning and design by the developer to get high quality work from LLMs. That time might not be worth it for small bug fixes.
100
Kevin Swiber @swiber.dev · 19/07/2025
The future of AI agents is probably less like Terminator and more like Gremlins. Granting agency requires ceding control. I think we actually want “yolo mode”. We just need to figure out the rules. Don’t feed your agents after midnight!
000
Kevin Swiber @swiber.dev · 18/07/2025
Those are good examples! Many have earlier origins than modern US pop culture, but that's part of the allure. What scared us thousands of years ago still scares us today. It's a shared thread across time. In some ways, AI agents are the new boogeyman. Frightening or just misunderstood? Maybe both?
110
Kevin Swiber @swiber.dev · 18/07/2025
I hear that. Unfortunately, if I'm going for "ancient and supernatural", the US can't offer anything. Even the Disney version of these are stolen from other cultures. But no one should boo-hoo for what could be considered "colonizers' dilemma".
110
Kevin Swiber @swiber.dev · 18/07/2025
“Agents” is a boring name. We had the right idea with “daemons”. Why don’t we go with “djinns” or “daevas”?
221
Kevin Swiber @swiber.dev · 20/06/2025
Best of luck!
120