Kevin Swiber's Avatar

Kevin Swiber

@swiber.dev

πŸ”Ž programming + leadership + architecture + ops πŸ€– Working at the intersection of AI and APIs (ex-Postman, ex-Apigee) ✨ enby (they/them)

578
Followers
633
Following
486
Posts
25.04.2023
Joined
Posts Following

Latest posts by Kevin Swiber @swiber.dev

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

16.01.2026 16:04 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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

16.01.2026 16:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
MCP Tool Schema Bloat: The Hidden Token Tax (and How to Fix It) | Notion Your MCP tool descriptions are eating your context window.

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...

16.01.2026 15:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
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.

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.

πŸ”— https://nordicapis.com/events/api-standards-for-ai-agents/

14.01.2026 11:22 πŸ‘ 3 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

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.

28.08.2025 16:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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?

26.08.2025 22:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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?

26.08.2025 22:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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! πŸš€

25.08.2025 21:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

22.08.2025 02:23 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

21.08.2025 23:32 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
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%)

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%)

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`

21.08.2025 21:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

21.08.2025 21:06 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Goofy visiting someone's house, which is very messy. Speech bubble: "Damn, bitch, you live like this?"

Goofy visiting someone's house, which is very messy. Speech bubble: "Damn, bitch, you live like this?"

Me to me, about my Rust project:

21.08.2025 17:23 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

21.08.2025 17:10 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

21.08.2025 17:09 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

20.08.2025 20:01 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

20.08.2025 19:59 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

20.08.2025 19:55 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

20.08.2025 19:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

19.08.2025 17:23 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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!

19.08.2025 02:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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"

19.08.2025 01:17 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

18.08.2025 16:46 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

18.08.2025 16:43 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

DC never resonated with me as a kid. Marvel better connected with me. But some of these newer DC runs are incredible.

31.07.2025 00:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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

31.07.2025 00:50 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I mean, keep reading Asimov... it's great sci-fi... but I don't think we're anywhere close to the Robot Wars.

27.07.2025 22:35 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

27.07.2025 22:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Definitely the best on-screen depiction of Sue Storm. The entire birth sequence was some of the best filmmaking Marvel has produced.

26.07.2025 06:16 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
15+ Years of APIs (with Kevin Swiber, API Strategy Advisor)
15+ Years of APIs (with Kevin Swiber, API Strategy Advisor) YouTube video by WunderGraph β€” Stefan & Jens

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...

25.07.2025 03:58 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0