Yeah. So how is new job life?
I forgot how many meetings you're in DevRel. There's just so many meetings. yeah. And especially when spinning up at a big company, as part of my onboarding doc, there was a list of like 30 names go have one on ones with these 30 different people from different teams.
And for some of them, it had a sub bullet that was like, and when you're in the meeting with them, ask them for more people to talk to about X, Y, and Z. And so then you end up really like talking to 50 or 60 people just in the first several weeks. And so between that, and then project management meetings and team meetings and all hands meetings and, org meetings. At Kraftwerk, there were several days where I had zero meetings. yeah, it's been an adjustment.
What would you guess is like the percentage of time that you're in meetings versus not right now?
Yeah, as soon as you said that, it's that balance of being in the meetings about the work versus doing the work. And at some point the work has to get done. or I guess a lot of talking about doing the work instead of doing the work. I'm pretty good about protecting my calendar. Would probably say 40 50 percent of my time is in meetings, and that's probably too much still.
That's better than what I'm at right now. So
do you guys use Google Calendar? Have you seen the little stats thing that tells you, like, how much time you're in meetings? There's If you look on the left hand side, there's like time insights. So actually I can just tell you right now, it's actually probably less than 40. So I average 15. 7 hours of meetings a week, is what this is telling me.
Okay.
And what I love is it's like one on ones, three and a half hours, three plus guests, ten hours. And then, it's, according to this, it's saying, Like 30 hours that I'm out. So I guess it's only 25 percent of my time is in meetings. That's pretty good.
Wow. Okay. So now that I'm looking at this, I am way overestimating. This says I'm only in meetings 10 hours a week.
think that it's, do you think it's correct?
I gotta go count it up because that definitely
Yeah. I like this because I actually haven't dug into this. It shows recurring versus one time. And then I think that will help me to identify is there something in here I can get rid of? And then I like this, like my one on ones. I think are all necessary and I want those and then you can also track your focus time.
So I think you have to put on your calendar what focus time is and then it'll calculate that as well, which will be nice because I do blocks, which I wondering if some of my blocks are being counted as meetings because I'll do writing time, but it's not set as focus time. But I bet that'll Make it even less. So I guess I'm not in as many meetings, but we're like ramping up for GDC.
So there's a lot of meetings around a lot of work and the thing is GDC is going to happen at a set point in time and the work has to be done So i'm going to start being a little ruthless about do the meetings about the work need to happen
In prep for GDC, how many kind of like different things are you involved in? Is it like multiple workshops, multiple talks, expo hall, like what's the scope that's expected?
we just decided we were spread too thin and we got rid of a talk at an external event So now we're only doing stuff at GDC. but yeah, I'm doing a talk at the booth. So those kind of, I'm going to give the same talk to like our online audience. So I can reuse that. but my big push is I need to have content done before GDC, like the docs basically for some new stuff. So that's what I did last year. it's amazing that even though we know when GDC is every year.
It always feels like this, February is always the crunch because things aren't done being built yet. all of that happens and then the docs can be done soon ish, but there's meetings about them and reviews and some people have different opinions about how they should be built and stuff like that,
We have a big company conference end of June. And this is going to be the, one of the first times that they have like developer. Specific content. And so we are just now trying to figure out what does that look like? Is it going to be workshops? Is it going to be talks? Is it going to be like, what's the most value we can add in like the two days we're going to have with folks. And it's intimidating, like the amount of work that needs to get done between now and then. And,
How much time do you have?
I guess like, four months.
Okay.
And maybe two workshops and expert panel and like Expo Hall office hours type situation. I don't know. We'll see. We will see.
Yeah, more and more, I think of like, how do I create something there that then can be reused to so that it's not one and done, it can be used in another event. So the next event is not as intense. I say that in like GDC, everything's being done from scratch again, because it's a completely different product too. So it's just, It's tricky. But, yeah, even some of the workshops that we do online, like they don't end up living on YouTube or something afterwards.
So if you missed the live event, you missed it and we could do better at that, I think. And
that I was asking for was recordings for The workshops with, and it's everything is a brand new muscle. It's Oh, we're not sure if we can record it. If we can, where's it going to be repurposed. We've recorded stuff in the past and it wasn't used. So like, how do we set that up? And so I'm like, there's so many things. That are happening in like the very early seed stages, being like the first dev advocate and in many years here.
And so basically standing up the entire DevRel function while at the same time, yeah, trying to prepare for a big event, trying to get content situated, but also planting the seeds with the right people and the right teams about, Hey, we should set up a YouTube channel and Hey, we should have first party SDKs and Hey, we should like.
Move to this docs platform and Hey, we should do like this X, Y, and Z. And it's just, yeah, lots and lots of zero to one things happening right now that are exciting and I'm pumped about the work. but yeah, definitely a lot to get done in a short amount of time.
It's almost like the how to win friends and influence people type stuff, right? Cause you can't do all of the things yourself. But, you gotta plant the seeds. There's a word.
in community managing called tumbling and tumbling or like having a tumbler is like a person who goes around and like tries to get the people who are you're keeping the conversation going so you want like the quiet people to speak up you want some of the People are too noisy to be like, okay, we hear you, but like you don't get to dominate everything all the time. It's a little bit about trying to keep the community alive and going.
And without it, communities tend to fall apart or you get the one really loud thing that it's like, everyone's assuming that we're going to do the thing that the loud person's doing. And then there's a lot of people who have really good ideas, whether in the community or in the company. And those things may not rise to the top just because they're not the loudest thing. and then when those people don't feel heard, then they leave.
And that might be again, leaving the community or leaving the company. So it is, it's a weird balance. but it's also Oh, I'm going to roll up my sleeves and go start the channel myself. But then it's not sustainable because someone, you need backup, you need, a good flow of content and stuff like that. And, as we know, doing this podcast, sometimes it's good to take some breaks. Sometimes you're like, yeah, we're just not feeling it today.
In a lot of these one on ones is just trying to seek out who are those people who are maybe already like itching to make content or itching to engage with the community and in certain ways, or maybe they have contacts with devs in different kind of like personas or something. One of the, one of the really surprising things. Joining this company, having only really done dev advocacy at Stripe was that the flavor of it here is so different.
The dev is not the decision maker when it comes to buying our software. The dev is often like a third party systems integrator, or they are like ISV partners. Or they are line of business devs or they're like business analysts who are using no code tools. but they're not like, hardcore tech CEO, CTO that is at, Bay area startup that's launching some AI thing. Like it is very much the opposite of that. It is like dev at a logistics company who's been there 17 years writing.
net and Yeah. So number one, the needs of the audience and the needs of the developers are just so different because they're not clamoring for the latest and greatest bleeding edge technology. There's definitely some that are in that scope, but many others are at these giant enterprise companies doing, long, long running projects, long running implementations. I'm also just very much in like the. Listening and understanding and trying to get to know the community phase too.
But yeah, it's way different for sure.
Is there such a thing? I think of Stripe and Postman and all these, are there, even Salesforce, right? is pretty enterprise. are there, obvious developer champions of Samsara, like in the community, or is it that, they're just heads down doing the work in their companies and they're using Samsara, but they're not necessarily like out there going to Dreamforce or whatever the equivalent is.
I think there's like obvious champions internally. and we, it's a very different model. Like Stripe would never write code for customers necessarily, or do implementations for customers. We had suggestions for third party experts and contractors and consultants in the community, but we do have a pretty heavy Implementation process where we like want to have a successful onboarding. And so we have teams of people who like work really hard to make sure that's successful.
And so the boundaries and the expectations of the teams are just so different. So
just think like some, I know our devs identify as discord devs, And you have Shopify devs and Salesforce developers. And I guess that's the hope and the dream where it's the Kleenex thing, where your name becomes synonymous with the thing you're doing. interesting.
think we'll get there. I think we'll get there. We have a long ways to go, but I think we can make it happen. There's so many cool products, that you can build on top of the platform and we're releasing more and more that are really making it possible to build some really cool. Companies on top of, there's this thing called the AT 11, which is a, industrial grade air tag. And it basically lets you get like GPS locations off of this air tag through an API. And the physical device is rock solid.
Like you can. Hit this thing with a golf club, and, you can bolt it on equipment and so I'm just super pumped for all the different interesting use cases that people will build with that. As we expand to more. Physical operations and different tools and different devices that support different types of physical operations. I think there's a lot of cool stuff that companies can be born on top of the platform,
yeah, a certain vintage of winery that puts these on their barrels or, whatever.
Yes,
from, from grape all the way to the bottle.
Yeah. Or even cannabis track, you have to go like seed to sale or whatever it's called or whatever. They have some sort of tracking thing. that's an example, use case that comes to mind, but also even just craftwork, right? Like we, One of the things that we had a lot of trouble with was just understanding, like who has the 24 foot ladder or like, where is the vacuum Festool, ceiling sucker machine thing or whatever, or like, where's that 10, 000 sprayer that we use for cabinetry.
And so being able to just bolt one of these on there and know like at all times where your expensive tools are, it's pretty, pretty cool.
Interesting. the flavors of Deverell thing back to that. I feel that a lot because it's interesting looking from the outside in. I think a lot of people think it looks the same, but I've been doing a lot of interviews and stuff too as we've been hiring new dev advocates and it's very interesting to see because we'd known it's different if you're under marketing and it's different if you're under sales, different if you're under engineering. What are the goals of the company?
Are we trying to convert like through solutions engineering, which now you're teaming up with sales and solutions engineers to build something. They're probably using your docs. Are you self serve platform for like developers? And we've seen how some of those have gone from like good to bad. Twitter is a good example of, I don't know, like 2015 is when they shot themselves in the foot or they just deleted everyone's API keys. And we're like, yeah, no more API.
And We all know where Twitter is now, but, but that was such a good little developer community where people were like encouraged to build their own Twitter clients and tweet bots and all these little things, Twitter ific that came out back then. It felt like the golden age of like developer friendly tools. And Stripe was part of that in the early days, SendGrid, Twilio, all those types of companies.
And, I think like companies that are a little bit bigger enterprise y, they look at those and they're like, we want that. They've all been doing it for 15 years. you do have a lot to stand up. but, like we said earlier, you can't do all of it yourself. And, you want to jump ahead, but you got to lay brick by brick and get the foundation going.
Totally. Wanted to ask you about SDKs. We have an open API spec, and it is cobbled together from two different internal API builders that use go. and then we like use some command line thing to upgrade it from like open API, B2 to open API, B3. There's two things that I really want to happen. Like one is to have first party SDKs and two is to have really solid docs. we are on readme and I tried upgrading to the readme refactored, like the new like version of it. Cause I want to use get.
For authoring and it just, it fell apart. A bunch of things fell over and broke and I had to go on support and beg them to revert my upgrade request. So curious to hear your advice and like feedback about docs and, SDK generation.
Yeah. that's a whole episode. Um, yeah. I think that starting with the spec is great. I think, I would not be surprised if, does README have a SDK Gen offering yet? Not yet. I would not be surprised if they do eventually, so if you can figure out what went wrong with the new system, it's probably also tied to, you Like, if you try to use your spec in some of the tools out there, it'll fail for a few reasons if you're like not quite following the spec, or the tool's interpretation of the spec.
So there's a really cool, generator where you can do your own SDKs. And they are like as bare bones as you can In our ecosystem, most of our stuff is, like, all of our SDKs are mostly built by the community. And we want to eventually release one, but, we don't yet. And it's do we do a, do we do a thin one? Do we do, because we don't, want to do the full batteries included, like all these like builders and like super powered, features we want to be able to offer.
right now, the way that we see the spec is like, if it's in the spec, then we should also document it and you should also support it. And that's like more of that's just the law of the API right now. But I've fed it into some of the generating tools. And I've created a CLI, it's not Great. Cause like our spec is missing descriptions and like field descriptions as well as just like end point descriptions.
we played with some tools like read doc Lee and some of these other ones where you can inject stuff and upgrade. Like you said, like we generate our spec from the API and then I have marked down files for all the descriptions and it. Merges those all together, and then now I have a super spec. there's a tool I'll find and share that is like a spec validator from Zooplo.
That's really good, because then it'll point out like, like a Google Lighthouse of this is how good or bad your spec is, and so you can identify those things. The closer you get to being like all green on stuff will help with. There's also a hundred now. It feels like a hundred. There's Fern, there's Speakeasy, there's Stainless, there's all these other tools out there. sometimes it's it's the build versus buy decision all over again.
Yeah, I, went onto those, like the, those last three that you mentioned, Fern, Speakeasy and Stainless, and they all have these sort of spec editor things where you can upload the spec to it and then it'll spit out a bunch of errors. And there's probably like 15 or so validation errors that are happening. So we, we definitely have some cleanup work to do there. all the users that I've met so far, many of them are just rolling their own HTTP clients.
And a lot of times it's in sharp, C sharp and they're just using built in the built in HTTP client to make whatever API call. So yeah, excited to give them a proper tool that has all the like IntelliSense. And one of the nice things that we, in our position, we do actually have like the descriptions for the fields and the descriptions for the API endpoints, which is awesome. And I'm grateful we, we do, but there's things like examples and.
In terms of like input request body examples and output, we do have like responses for 200s and sometimes error responses, but not always. So there's some work to be done there.
I think some people like to generate the spec and then say it's done and throw it over the fence But like the thing that the examples are a great one because it's do you where do you put the code? for the examples the requests examples or response examples, and then do you test them and I think that you mentioned like the standalone like just doing an SDK. It's like a really thin client is it Like, I think you and I are both used to, the syntactical sugar of Ruby.
Is it the Ruby way, or is it just, this ham fisted, sure, it makes an HTTP request, but it's not fun to use. it makes, brings no joy whatsoever to the experience.
And not every engineer or, tools person is going to be optimizing for developer experience or surprise and delight but like honestly even like the original heroku like there's just even the animation when something is happening it's just like that's extra work that makes you feel good about it using it so you know even the when you generate a new app and it has the funny name like those little things are noticeable the thing that i noticed when I use our API keys versus Stripe's is, and this is
probably on purpose. If you double click on an API key from Stripe, it copies the entire thing because it uses underscores. If your API keys have dashes and other symbols in them, double clicking on it will only grab part of it. so it's like such a weird little example, but I know that's probably why it works. Is generated like that. is that a secret
I don't know for sure that was there like way before I got there, so maybe.
I mean I see some of these things and it's like weird This is a sign of getting older or something but like same their co working space we have Ikea coffee cups and we have other coffee cups The ikea ones are superior for the most mundane swedish reason that you would never imagine The bottom I don't this is hard to describe on radio, but the cup, there's like a ring on the bottom when it's in the dishwasher, that ring on every cup is full of water when you take the dishes out.
All the IKEA ones are like an X, with, and there's no water on any of them because all the water drains out. And someone thought about that, and they're like, we have to do this. And that's the stuff that I think we should be bringing that level of detail. To the things that we build, but sometimes you got to fight for, that little bit of extra, experience and delight.
prioritizing those tiny little details is especially important when the developer is like the chief persona that your entire company is. Set out to serve and when they're not, it's and they're an afterthought, it's okay, yeah, we're going to build all the new features for the dashboard. Maybe it'll make it in the API. And if it makes it in the API, it'll probably be like 80%. And then
Yeah. I guess with discord, you aren't evaluating another API, right? If you want to build on discord, you have to use our API. So you have to use whatever experience we give you. I don't love that. That's like a reason to not. Make it great, if you have to use it. Same with, Sims 4, it might be that, someone above you is choosing it and you have to implement it or, some partner is using it so you also have to use it.
I think with some of our game development stuff, I think it's like producers and studios that are picking it and then the game developer has to go read the docs and, would they have picked it? No, but if you want to ship on discord you have to, right? So same if you were to go do instant game on facebook, like there is only one way there isn't like three ways to pick from so yeah, that adds to the different flavors of devrel for sure
One of the other things I was curious about too. So Logan, my son has been playing around with cursor and he spun up a game and pie game and. I like showed him a couple little things about here's how you use GitHub or whatever. And he's like pushing commits to GitHub under my name and using cursor like a boss and just Oh, it didn't work. It broke. fix this error, make it full screen, make it multiplayer, make it do this, make it do that.
Put these sprites using chat GPT to generate different screen backgrounds and stuff. And he's at a point where I think he wants to publish it. And I was like, Oh, for sure. You should try to publish it on discord. Cause I, I know that like the, there's an insanely huge community of users and because it's two player, we try to get it up and running there.
And then I did like a tiny amount of research and it seems like getting pie game into the browser is quite a bit of work just because you have to like, Use, I forget, like web, WebGL or something, or compile,
Like wasm. Yeah.
Wow. Down to WASM. Exactly. Yeah. And so I was like, I don't know if you want to do that. maybe we should just rewrite the thing in JavaScript and HTML, but,
And there's web based game frameworks, like Phaser and some others too, so Phaser might be a thing to look at. especially because Phaser has an actual starter project too for Discord.
Nice. Okay.
So yeah, you ran into the classic thing of I have a game that runs on a computer, right? So our activities are really meant for web based stuff. but that's a good example of we haven't written a lot of guides yet because we haven't had the time, right? Do we work with phaser and phaser writes the guide and then we write the unity guide or something like that. So those are the things that we're still figuring out. But, yeah, you were mentioning the AI stuff.
I think one, what age does Logan get his own SSH keys?
Oh, he, that's like for his birthday. He's I want some, I want an open AI API key.
You're like, I don't want to be committing his dad, I need, I don't want to, I don't want a car, I just want, I need my own github login, I need to be doing my own commits, because he's got to start that commit graph early.
He has, no, he has his own get hub. He has his own get commits. but he cursor when he's using cursor, he's using it on my machine I have a paid cursor version and he used cursor on his own machine and like immediately ran out of tokens. So he like hit the rate limit. He's dad, let me use yours. Cause I already ran out of tokens or whatever. I was like, Oh man, this is crazy.
we'll send this episode to Cursor and say we need a family plan. They'll be like, this is the first we're hearing of it.
Yeah. It's yeah.
How much of that, so how many AIs are you paying for right now?
Oh, this is a great question.
Which is a weird question to be asking at the year of 2025.
I pay for cursor. I pay for Descript. I don't know if that counts,
I think it counts.
I just canceled 11 labs because I was paying every month because I had this aspiration that I was going to go and build something with it. And I was like, Oh yeah, this is the month for sure. I saw the, every time I saw it hit my credit card. I was like, this is the month I'm going to build a thing on 11 labs. And since I, Built story fuel, which was like a podcast story kind of generator thing. And that was a long time ago, pre GPT four. And then I hadn't touched it since then.
And so I've just been paying like, okay, so canceled that. What else? we're paying for one chat, GPT membership. and I have chat, GPT, like enterprise through work,
When you pay for chat GPT, are you paying for the 20 a month or like the 200?
Yeah. Yeah.
Gemini is free? Question mark? I don't actually use, I've never really used Gemini.
Yeah. Okay. So those are all the tools that I'm paying for like tool wise. And then I have usage based accounts with both open AI and Anthropic where I have API keys that I'm using like from my website or from like little, I set up like a script that runs. Yeah. That reviews my PRs on GitHub and sends me a Slack message with here's some content that you could tweet about, like something that you did that was interesting this week or something like that.
and then you pay for cursor, but then are you also paying for the model underneath it? Or are you just using whatever comes with cursor?
I think that it's using cloud sonnet
Okay.
and it's not using my API key. it's using theirs. And I think part of that is they have their own, I don't know how it works, but I think they have their own models. That also do like indexing and some other stuff maybe, to help make the rag bits better. But, I'm paying for it and I have an account through work. So I, that's like a double dip, But what about you? What,
I think what's going to be interesting is what happens when everyone decides that they're paying for too many AIs. And there's like this consolidation. Cause, at work, we have copilot. That's paid for in github. I guess I have access to the free copilot. I don't really use it so yeah, I pay for d script I pay for Chat gpt. I pay for cursor and I think that's it right now at work We're testing both claude and chat gpt to pit them against each other.
So like They will be paying for one of those at some point. and then I think we're all getting cursor at work too. So that's going to be like extra, right? this podcast won't go out until all those things are settled, hopefully, but,
yeah.
but we're all paying weight. I don't think everyone is doing this. I think this is engineers that are doing this. We all want to like, see what the difference is. Which one do you reach for first?
I definitely have been training myself more and more when I'm in cursor to try to stay in context, stay inside a cursor. If I'm not like, if I'm doing stuff for work, I use chat GPT. the enterprise version is pretty good. I've started organizing it into projects and in each project, I'll give it a system prompt that's related to that helps keep it pretty tight. And the enterprise one does like fancy stuff where it won't leak your work. Whatever details. So I use that one a ton
I think that's why all the enterprises are looking into it because it's like we know you all are doing this on your own please stop and stop leaking stuff, which is smart. So yeah, like at our work, it's enterprise, too
totally. I feel like the, the chat GPT AP or like the open AI APIs are, I don't know. I don't want to say like the easiest to work with cause they're all like roughly the same. Maybe it's just like the one I've, I learned first. And so I'm like most comfortable with it.
But, I did download, DeepSeek and run, like running it locally with Olama and, that every time I open up Olama, I think part of the deal is that I need to run like a, some sort of local web UI or something, because when I run it in the terminal, it just doesn't feel as readable maybe, or like as consumable as it is in the browser. And Even though the content has been pretty darn good, I just feel like the, what I get in the browser is just easier to parse for me, like mentally or something.
have you run any of those local models
I have it now
Okay. it's two commands. It's like basically like brew install and then do a thing, or I don't even know if it's brew install. It's Oh, llama. You install the Olama app. And then in the terminal you write Olama run and the name of the model. And it just pops up in a terminal. That give you a prompt to start typing.
I think what I like about Cursor is that, you can swap out what model it is, right? I don't know if it works with Allama and stuff, but, it feels like these are all going to be interchangeable, even if you go to Azure or, GitHub has this thing now where you can compare two models. Have you seen this? So you can run the same prompt against two models and it'll show you the difference. we'll put a link to that, but it, like you can swap them all out in GitHub or Azure or AWS, right?
Like it, it doesn't really matter. And so it's like going to become like electricity and then it's the layer on top of that or the custom training for like you said, like certain rag for programming. is it, what does the game development one look like? And I still, I think no matter what I do, I still find myself not being worried about, I don't think this is going to replace us. It just makes us do things either faster, better, stronger, right?
It's been interesting watching Logan build basically this whole thing by himself and saying Oh, I didn't actually code it. I don't know how to code. I'm like, you you prompted your way through 500 lines of Python. And like several classes, like files, like tons of files. It's a full get repo is like a bunch of stuff. I'm like, that's exactly what professional programmers are doing. Like you, the way you just did it is the way that 90 percent of like professional devs are doing it now.
so yeah, I don't know. it's interesting. One of the things I'm curious about too, is whether or not SDKs are even going to be. Thing anymore, right? are people going to do this bespoke handcrafted implementation or are they just going to ask an LLM to spit it out for them? I still think the SDK makes it look better and has lots of benefits in terms of retries and auto pagination and like error handling, things like that, that And
We should do this as a little project together. We should try to prompt an SDK. Because, if you prompt the retries, okay, handle retries. Because if you were normally writing a prompt, we run into this. I'll often say, build me a quick Discord bot. And it wants to default to Discord. js. So it wants to use an SDK because it's the most documented SDK. Our docs are, like, pure HTTP And so I'll tell it intentionally, use Ruby, use JavaScript, whatever. Do not use Discord.
js. Do it, if it's so vented, just do straight WebSockets. Don't use anything fancy. and it'll eventually get there, but then I have to tell it, what, make sure you send the heartbeat. Make sure you retry. Make sure you catch errors. it would almost be interesting to say, What does a prompt look like? And you could give it any API spec. And maybe that is what some of these companies are doing. I don't know. But, some of this is not LLM needed.
It's more just literal function, generation and stuff. But, I wonder how close it would get.
When you're, Documenting WebSockets, you surely you have the format of the message in the docs and then is the LLM picking that up and it's able to know what,
I would assume it depends on what it's been trained on, right? So that's if I just go off of pure chat GPT, like sometimes it knows what to pull from and it's not been intentionally trained on just RDoX. So it might see some example of someone doing something completely different somewhere else and just that's where I don't feel like we're there yet. and I'm okay with that. that's not, I don't want something to build me something without my intervention at all.
yeah,
if I don't fully believe that there's like this whole thing about any app that you could possibly think of, you can now just prompt it or like it just generates it. It's like we could have built all the apps that we could possibly have wanted and we haven't because some of them are not wanted, right? They're not needed. There is no market for them. So sure, maybe. The perfect to do list app for CJ could be prompted, and you're the only user of it, and it's hosted who knows where.
you don't even have to care. have you actually, I am now paying for another one, which is v0. Have you used this at all?
I have. Yeah,
Yeah. that one feels more like a prompting of a product because, a repo is created. server is credits hosted and then it's I was doing something with GitHub and a UI popped up and said, what's your GitHub keys? And I put 'em in there and they get added to the environment variables. I was like, this feels so cool. And then it's pulling in Chad CN and, tailwind and all that stuff. But like, does it matter that it did it or it told me to put this in this folder somewhere? it's the same thing.
yeah. I'm also curious to go back to the WebSocket documentation. Are you, generating and, Artifact that describes the messages that go over web sockets, like the async API spec or
There is no API spec for that. API. Yeah, because it's basically an RPC API. And so we don't have an open API spec for that,
Okay. Yeah. We have a Kafka. We have Kafka streaming that's going to come out very soon. And one of the things that I've been curious about is like, how do we generate How
like a spec.
do we generate, yeah, SDKs or yeah, use the open API spec to generate messages, or like the shapes of the message types or whatever that you can do serialize into so that you have like proper types and stuff. And it's my understanding that a sync API or.
yeah.
or just like putting it in your open API spec as like the different objects, almost like web socket payloads, but they're for messages.
Yeah, I haven't explored that. But I imagine that the problem with open API is I think it's meant to be REST based, but I don't see why you couldn't have here's our REST API spec and here's our Kafka one.
Yeah. And then the other, like when you're talking about web sockets, like there's other stuff that's not just the payload that you need, like the channel or whatever that you're going over and yeah, whether or not you have a heartbeat in,
Yeah, and like the fact that you, when do you send an identify and then a heartbeat to keep it going and there's just so much detail in there. I'm, those have been around for so long that there's gotta be. I just haven't touched that before. I think of even SOAP, right? It's these things exist. gRPC, documentation, all that kind of stuff.
So is web sockets the, that's like the primary communication channel when you're building an activity.
No, so we call it the gateway, and it is, a way for bots to listen to events in a server. When your bot is in a million servers, you're listening to the events, whichever events you're scoped to. So maybe it's, when a person comes online, all the way down to someone typing, which can be way too many events, so you have to be careful of, like, how many events you're listening to. Maybe we don't even let you listen to typing, because typing is a little intense.
But we listen to it, because we need to give you the indicator of someone's typing, right? Yeah, so we have that. But if you go look at our gateway docs, you'll see like it's very hand curated, just payloads. And if it's wrong, someone does a PR to it. We don't have a spec for that. And they don't match our rest endpoint payloads. So they're a little different.
One of the things I'd love to do, it's to build a thing that will go out, you can give it a discord channel, you can give it a Slack channel, you can give it a docs site. You can give it a couple of like social, handles or something. And then it just builds like a giant listener for you that can start to understand sentiment and start to surface here's common themes and common, yeah, common issues that devs are running into. Do whatever happened to orbit? what is it?
Is it, do they take it all down
I think it's gone. Yeah. Postman acquired the team. So they're building like developer communities tools into Postman.
orbit dot love? Oh, it's still there. Uh,
I don't know if you can log in, but
have a login button. Oh no.
pour one out for Orbit.
yeah.
CJ was one of our early users. that even brings back to that idea of the tool, like you were talking, the top of the show we were talking about. Read me. do you I think, or what's the other tool? Speakeasy, Fern, Stainless. They're all getting into this like SDK generation as the first thing, and then they're like, Oh, I guess we could also offer docs.
But do you want your tool to do everything like halfway, or do you want like a really good docs provider, a really good SDK provider, I'm assuming that it's like an expansion thing for them, right? They're like, we're already doing this, so let's also give you this.
I think that it is products that are. Supported by an open API spec. It's what are all the cool things we can build downstream from an open API spec? And so the, I think the most obvious is SDKs. And the second most obvious is an API ref and like guides and docs and all the other stuff around the API ref is just expansion. And then I think. Like command line interface and then developer metrics and, a playground and
hmm.
sandbox and like all this other stuff like comes downstream. So I think it's a lot of the things that you would expect from, like when you're in any dashboard and you click on the developers tab, can these companies build
Do all of it.
products? Yeah. To solve all those problems, like logs, webhook events,
still want to build that as a Ruby gem. I think the challenge that I run into is it's like Shopify is like, Oh, we're going to give you a website, but it's like the worst website, right? And it's we're going to do your e commerce, but then we're also going to be your website builder. Or, some of the website builders got into e commerce and it's not the best e commerce experience, but it's really great.
And so I always get a struggle with it where it's okay, you can make the reference all day long. I believe you can generate that. But when you get into the guides, then it's like the worst editing experience. It's like half of a CMS, maybe it's version controlled, stuff like that. So I hope, I would love for one company to be able to ship that. And then you end up with all of them competing against each other on, stuff like that. So I don't know.
I haven't looked at this anytime I go to stainless or any of their websites, I get a bunch of emails cause I think they're somehow using some sort of tracking,
in order for us to build our own first party SDKs and do a good job at it and build and maintain a solid docs product, it would require several engineers and several tech writers and several people focusing on that full time. At Stripe, there was a whole team that just built the documentation and a whole team that just built SDKs and manage that SDK generation pipeline. And it was, three, four or five full time engineers that worked on it. And so if a company can really master. The SDK bit.
And if the company can really master the docs bit, then I think it makes tons of sense to pay even like a full salary, like a full time dev salary of one or two engineers in order to not have to bring that in house and to be able to meet. External devs where they are. The thing about these companies too, is they'll continue adding languages that you might not have otherwise had the bandwidth to add. So that's right. For a long time, I wanted to add support for rust as an official language.
We never got there, but the other seven were very highly supported, but like even thinking about or considering adding another language was just like out of the question. So
and any new feature that OpenAPI supports in the OpenAPI spec or anything like goes across all seven languages, all seven SDKs, it's not if you did these by hand, you'd have to go, re implement all of them. That feature in all of them, which would be a pain. So yeah. And then, I've seen it too. are you really wanting to reinvent the wheel on how SDKs are generated and create a pipeline and learn all the things the hard way. And then someone leaves the team and you got to find someone else.
And it's a lot.
totally. Yeah. And yeah, as technology evolves in terms of. The core of these SDKs. do you support async with Python and what kind of typing do you support? And can you swap out the HTTP client so that you can do like connection pooling and like telemetry and like all this other stuff, like keeping up with all of those things in so many languages and in different ecosystems is tough, so yeah, just paying someone else to take care of it seems.
seems obvious. seems like a check mark in the buy column for sure.
yeah. Yeah.
I've totally forgot to even share with you, but I guess it's like we can wrap up here. I'm gonna be speaking at Write the Docs in May. Yeah.
No way. Congratulations. That's
I don't think the schedule has been announced yet, but, so yeah, I'm doing a talk on having your docs be open source. so taking PRs and just being in the open, not every company gets to choose whether or not they're in the open. but we'll talk about what we learned, things that we wish we could do better, things we want to do better. but a lot of the benefits of bringing the community with you in your docs and you're not asking for free help. You're part, you're building it together.
So yeah, excited to do that. Yeah. Some more docs things.
So you at the last one, didn't you volunteer? Nice. Okay.
Yeah, I forgot. I think it was, mostly technical. I love how they were talking about this. if you go to conferences, it's always best to be involved somehow. And, you can be in the audience, you can get to see the talks, but, if you're volunteering or speaking, you're gonna just have a better experience, because The conference is putting you on a stage, literally. And it, multiplies whatever, if your company's sending you, cool.
If you're sending yourself, you really want to make it worth your while. It doesn't make sense if these videos are going to be online for you to go and then, not talk to anybody.
I think, yeah, I think having Volunteered probably helped because I was able to meet the organizers and I also when I volunteered I was helping all the speakers get ready and getting it mic'd up So I got to meet all the speakers which was also a win So yeah I think highly recommend if you're trying to get into it to look for a conference you can spot like If you can't sponsor one volunteer for one don't necessarily recommend starting one from scratch if you've not been but I've been there too
Nice. Are you also volunteering again at this one
No. I'll be focused on just making sure the talk is really good.
that after, GDC?
Yes, thank goodness.
nice. Yeah. Yeah. That
Cause, Yeah, you mentioned your event is in four months. Our event is in one month. So I have a month to get ready. GDC is next month, and then, May will be right the ducks.
Got it. Yeah. You are in crunch time right now then for sure.
For sure. But yeah, glad we could shake off some of the dust on the podcast. I hope people had a good, little season, season three, break before season three. This is technically the third year of the podcast, so
We're back.
back. February 5th. I think, three years will be in August.
Wow. Thanks for listening. Head over to build and learn. dev for all the resources and things we talked about in the show notes and we'll catch you next time.
See ya.
