Kevin Swiber

Kevin Swiber

@swiber.dev

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

588 followers633 following486 posts

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

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

Kevin Swiber reposted

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.

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?

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?

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! 🚀

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.

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.

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.

View full thread

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.

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`

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.

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.

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.

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.

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.

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!

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"

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.

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.

Reading DC Comics for the first time since childhood. Tom King’s Wonder Woman series and Supergirl: Woman of Tomorrow are really, really good.

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.

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.

Culture Crave 🍿@culturecrave.co

First poster for ‘Air Bud Returns’ 🏀 In theaters Summer 2026

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.

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.

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.

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.

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.

When people leave jobs, they’re often careful to not “burn the bridge”. However, it’s more often the employer who sets that bridge on fire, as that’s the power dynamic. So my advice to a lot of folks is… Be cautious when revisiting those ashes. Keep moving forward. It gets better.

I’m really sick right now. But I’m thinking about my love of comic books since childhood and my love of movies, too. Millennials were lucky to be around for the birth of comic book movie franchises.

Kevin Swiber reposted

Always great to have @swiber.dev on for a chat!

Zuplo@zuplo.com

🚀 It's MCP Week at Zuplo! Day 1 kicks off TODAY with API strategist Kevin Swiber, who explores how MCP is reshaping APIs rather than posing a threat that would kill it completely, and what it means for developers building the next generation of AI-powered applications. zuplo.link/mcpweek1

I just went to a music festival. I made people cry from the jokes I told. I made people cry from the support I gave them. Why the fuck do I keep making people cry? My goal is to leave people feeling nonplussed. This is completely plussed.

I was camping next to 2 trans women, who are wonderful human beings. But they were loud as hell. I kept saying, “Keep it down, girls! I’m trying to sleep!” They were really touched that I was calling them girls. That’s nice, but it’s not a stretch for me. And also, shut tf up, friends. God. I’m old.

I’ve reached a point in my life that I can finally handle awkward misunderstandings with grace. And now I think most communication is, in fact, the act of figuring out awkward misunderstandings between people with different ideas. It’s tricky business.