September 30th, 2022 × #Open Source#Community#GraphQL#Live Streaming
Supper Club × Open Sauced With bdougie
Scott and Wes interview Brian Douglas about his background in engineering and open source and his project Open Sauce to make open source more approachable. They also discuss GitHub's GraphQL API and Brian's experience with live streaming.
- Intro to Syntax supper club episode with guests Scott, Wes, and Brian Douglas aka B Dougie
- Brian talking about meeting Scott and Wes at Jamstack Conf and his background in engineering and open source
- Brian started Open Sauce to help people learn to contribute to open source
- Brian has been live streaming development on Open Sauce to build a community
- Open Sauce aims to provide tools for open source project maintainers
- GitHub GraphQL API is stagnant due to teams moving around
- Brian is trying out tRPC, Tailwind, TypeScript, Next.js stack for new projects
- Goal of Open Sauce is to make open source more approachable and diverse
- Brian live streams Open Sauce development and has built a community
Transcript
Announcer
I sure hope you're hungry.
Announcer
Oh, I'm starving.
Announcer
Wash those hands, pull up a chair, and secure that feed bag, because it's time to listen to Scott Talinsky and Wes Bos attempt to use human language to converse with and pick the brains of other developers. I thought there was gonna be food, so buckle up and grab that old handle because this ride is going to get wild.
Intro to Syntax supper club episode with guests Scott, Wes, and Brian Douglas aka B Dougie
Announcer
This is the Syntax supper club.
Guest 1
Welcome to Syntax.
Guest 1
On this supper club. We're gonna be talking with Brian Douglas of Open Sauced opensauced dot pizza, I should say, Which is maybe one of the the greatest, URLs that anyone has bought recently. So we'll be talking all about that and more.
Guest 1
With me as always is Wes Bos. Wes, how's it going? It's going good. Going good. Excited to have Brian on today. Oh, yeah. Yeah.
Brian talking about meeting Scott and Wes at Jamstack Conf and his background in engineering and open source
Guest 1
Brian we met Brian. I don't know when you met Brian, but I met him at Jamstack Conf when we did our 1st live show a long time ago. Yeah. You have real cool guy, Brian. Oh, yo.
Guest 3
What's up, y'all? Brian Brian Douglas, and, I I go by B. Dougie. It's, like, what I use in professional settings. Like, feel free to call me whatever here.
Guest 3
But, yeah, B. Dougie on Twitter, and happy to chat about some pizza and the sauce.
Guest 1
Yeah.
Guest 1
Sick.
Guest 2
We are sponsored by 3 awesome companies today. First1 is Sura, they give you a real time GraphQL API. And when you point at any of your data sources, a fire hydrant, incident management for every developer, and Story block, component based headless CMS that gives you power to develop projects faster and better than ever. I'll talk about all of them partly through the episode.
Guest 1
Let's Get on into it. Welcome, Brian. Thanks so much for coming on. Yeah. My my pleasure. No. Yeah. So I guess first and foremost, it'd be it'd be great to tell the audience, who you are, what your background is, what you've been up to, and maybe what you're doing right now. Yeah. Yeah. So, yeah, Brian Douglas. Go by b Dougie, as I mentioned. And,
Guest 3
my background is most recently, I spent four and a half years working at GitHub as leading their developer relations team.
Guest 3
Prior to that, you had mentioned we met at Jamstack Conf, Host a podcast called Jamstack Radio. Worked for Netlify, the purveyors of Jamstack, and, was engineer actually, I was employee number 3.
Brian started Open Sauce to help people learn to contribute to open source
Guest 3
I guess engineering number 3 as well, and then eventually left, as a developer advocate. So I spent, like, a year full time doing developer experience.
Guest 3
Left, like a lot lot of folks know Sarah Drasner. I left, like, right as Sarah Drasner signed her offer. I was like, I've got another job at GitHub. And, Yeah. And then during the time at Netlify and at GitHub, I've been working on this little project called, Open Sauce, Open Sauce Hot Pizza, which is like the pathway to your next open source contribution.
Guest 3
And the last 3 months, I've been working on it full time, to build the next open source intelligence platform, which is, like, I don't know. It's, it's it's the tagline that's hopefully gonna make us lots of money.
Guest 3
Yeah, we're we're indexing a lot of Git repos and providing in insights on on those,
Guest 1
Those indexing. Nice. I know I got one of your pizza logo stickers on my laptop.
Guest 1
If you see B. Dougy at any, any event, make sure you try to get one of these Pizza stickers if they're still around. They're pretty sweet. Yeah. It reminds me, I actually gotta print print some more because I'm all out. Yeah. Yeah. So open sauce. So You said you've been working on this for at least a little bit. What was maybe the inspiration for for starting this? Was this something that you've always wanted to do, is it something that you identified in your time working with GitHub as being, you know, something you'd like to pursue? Or, you know, where's the inspiration come from? I learned how to code through this, this online program called Block and, I ended up working at Block,
Guest 3
full time, like, as my 2nd job.
Guest 3
And while doing that, I created this, like, open source curriculum, for encouraging people to contribute to open source. That was, like, where I got started because I'd done open source prior, like, got a couple PRs in in Random places.
Guest 3
But as I was teaching people how to contribute to open source and how to interact properly without being spammy and stuff like that, I created, like, the CRM for managing your open source contribution. So, the challenge I had was I wanted to, like, go stock projects before jumping in. Like, I just wanted to know, like, Is it something I work on? Can I stalk an issue, see how it gets contributed to? Like, learn how the PR gets gets merged in? And I would just take a bunch of notes, Like, on my own time in in random places like Dropbox Paper, but I wanted to centralize that in the 1 platform. And, back in 2016, GitHub Announced this GraphQL API. I was like, oh, cool. I can build, like, a cool React dashboard, create React app, connect it to GraphQL API, And that's what the original product Open Sauced was back in 2016, and it was like that for, like, about 4 years, to be quite honest. And until I joined GitHub, I saw there's more opportunity to, like, build a different product.
Guest 3
So pandemic hit, and I added user log in. Like, I started live streaming really regularly on Open Sauced, and I would just build this in the open, as an open source project to find open source projects And started, like, growing a bit of a following, just for this one product.
Guest 1
And that's that's kinda how answer the question for inspiration and sort of origin story. Nice. Yeah. That's really neat. Yeah. We're gonna we're gonna have to ask you a lot of questions about live streaming, especially after talking to the PrimeGen. I know, I've been doing some of that myself on on Twitch and whatever we've been experimenting with different means of live streaming.
Guest 1
And it's a it's a whole world. Right? So I'm gonna have to get some of your takes on that later on in this episode, but it's really neat that you've chosen to do this open source project in the open about open source.
Brian has been live streaming development on Open Sauce to build a community
Guest 1
It's just it's like a triple triple open source here. Let's let's talk about a little bit more
Guest 2
What open sauce is because, like, I I think I think I got it, but, like, anyone listening, maybe they're like, is it, Is it a it's not a payment platform, you know, like so it's a tool that allows you to get a better view of A GitHub repo, whether it's yours or another one that you're working on, and that sort of surfacing things that are in the
Guest 3
GitHub repo will help you be a better open source community person. Is that a how did I do? You're you're close and, like, honestly, this is how I learned what we're actually building is trying to figure out these answers. So, I did drop a link in our chat here. I don't know. Honestly, I don't know if y'all have show notes. You probably have show notes. Yeah. Oh, yeah. So we have a beta we have a beta tag on this this URL, beta.insights.opensaucedot pizza. That's about full.
Guest 3
But we're building actually a platform to index all of Hacktoberfest, and, the reason for that is, like, what I learned When my open source journey is, like, I wanted to stop projects to make my own contributions, but what I learned also is, like, I wanted to discover projects to go work on, And I think the most of the mantra around open source is, like, oh, go find go look in your package dot JSON, and go contribute to stuff that's in there. And I think that's, like, a good first start, but a lot of times those Projects don't need contribution or there's a lot of hoops to jump through.
Guest 3
So what I was trying to discover is, like, what are good first repos as opposed to good first issues for people to contribute to.
Guest 3
And those are usually, like, when you look at Webpack or or Babble, the like, the extensions, the plug ins, those tend to be better places to make your first Contribution or if, like, building your own becomes a better place for contribution than, like, contributing to, like, the main upstream, what's in your package side JSON.
Guest 3
So from that discovery, I found out once you find the repo, that maintainer or company or whoever is maintaining it, They need the tools to, like, be a better steward in open source if they want contribution.
Guest 3
So what Open Sauced is gonna be is the intelligence platform for anybody who maintains a project to make their project either open for contribution or make it very clear the contribution's not needed. So, like, we're we're gonna provide way more tooling and stuff like that around that Notion?
Guest 1
Hopefully, pretty soon. Very much a tool that I need. I have a a couple open source projects that I am not great at those aspects of, so I have to keep an eye on this here. I I'm wondering about so this GraphQL API, is it still on the the GitHub GraphQL API? I know I don't know too much about the situation, but I I saw some tweets about them maybe not continuing to To support their GraphQL API or something, I could you do you know any insight there? Or I know a lot of insight. Yeah.
Open Sauce aims to provide tools for open source project maintainers
Guest 3
So actually so I I joined GitHub because that Open source project, I spoke at GitHub Universe on the GraphQL API on OpenSauce, OpenSauce on pizza. It's, like, 2017 GitHub Universe.
Guest 3
At that conference, Kyle Daigle approached me in an interview to work at GitHub, ended up getting the job, and now I well, I recently left GitHub.
Guest 3
So I guess I could be more vocal about what's going on as far as the GraphQL API, but, it really just comes down to, like, GitHub was super early, in the GraphQL API. They made a lot of decisions Yeah. When there was just no decisions made. So, like, this pre like, Apollo taking over GraphQL. Like, it was a I assume it was it was alpha or open spec.
Guest 3
GitHub jumped on board. So it was the 1st public GraphQL API.
Guest 3
A lot of folks have left sensed because once your company gets acquired by Microsoft, people They decided what they wanted to be when they grow up, and a lot of times, it's not writing code.
Guest 3
And that's because for to be frank, it's, like, because people are now Rich, and they have 7 figure stock deals and stuff like that. So for that reason, like, there were new shepherds in the GraphQL API we we brought into Mark Andre Jareau, who I think now works at Shopify. He works somewhere else, but he came from Shopify. Like, we had a lot of stewards to, like, build the next level, GraphQL, but it became less of a focus as tools like GitHub Actions, which is not GraphQL adjacent at all, it Became the focus around the company, so the API itself, it just got, like, sort of pushed down on the road map a bit.
Guest 3
So when you use the GitHub GraphQL API, like, there's a lot of stuff that you're just like, oh, this doesn't make sense. This is not modern GraphQL. The answer is true. This hasn't been updated in quite a bit. So, GitHub now has to fig figure out what to do as far as, like, either reviving it or sunsetting it or whatever. I can't say whether they're sunsetting it or or reviving it or providing resources to it, but I would say it's a bit stagnant.
Guest 3
So if you've, like, built any GraphQL anywhere else, use any sort of modern GraphQL API, you're it's missing, like, this mutations is, like, A feature so if you wanna do sort of post request, into the GraphQL API, it's a lot of stuff's missing. There's a lot of things that are endpoints that are missing. There's also features in the GraphQL API that doesn't doesn't exist in the rest API. So, like, one of the tools I use is there's an endpoint where you could find the most popular PR in any repo, so or a popular issue.
Guest 3
Yeah. And that doesn't get exist in the REST API, and it's a fun little Parlor trick for me to pull up when I'm on stage, but, unfortunately, it probably is gonna get deleted.
Guest 2
Somebody wrote that on a Friday afternoon, and now
Guest 3
The outright, yeah. Dependent upon it. Yeah. I mean, so, like, GitHub is it's a it's a entire company of tech debt. And, so if you ever use things like Gist, our GitHub Pages, like, you a lot of times as a developer, you question, like, oh, why is this, like, why is this missing here and not here or whatever? It's It's because teams, they migrate, they move around, and, I GitHub Pages is getting a lot of new updates, so I don't wanna I don't wanna drag them.
Guest 3
But things like GIST, like, you haven't seen any updates in GIST in in quite a bit of some some time, and it's because it was a side project for a team Years ago, it got some focus, and now it sort of sits around. So, if you're looking for a job at GitHub and you wanna work at Gist, I know people. Just hit me up. I'm I was wondering about that. Like, somebody built it and moved on, and there's some poor guy that like, something breaks.
GitHub GraphQL API is stagnant due to teams moving around
Guest 2
Someone has to figure out, oh, how does this even work? Like, does that happen inside of companies? Like, I haven't worked at a large enough company, but, like, is it sometimes, like,
Guest 3
Who's working on this thing, or does somebody always have, like, domain over it? Yeah. You know, and it's, I honestly so I think of, like, companies like Vercel That grew really fast in the last couple of years. Yeah. I'm I'm 100% confident they have stuff like that internally. Like, you can't grow that fast and not have, like, Some teams shake shake up or some refocusing.
Guest 3
So, like, GitHub Pages internal war is, like, so anyway, I will I will call out the actual engineer, but, like, it was a server on under someone's desk. Like, that's what powered GitHub Pages up until, like, probably 7 6 years ago, until it's, like, expanded into, like, actually being hosted on cloud. I might got I might have got the years wrong. It was also predates me, but, like, there's a lot of stuff at GitHub that is, like, A fun side project or, like, to get a profile read me was, like, a side project, that became, like, a a legit feature.
Guest 3
And, yeah, just like You can't get a bunch of engineers at a cool company and building cool things and eventually having some tech debt sort of sit around as things sort of Migrate and not get less cool. What are your thoughts on
Guest 2
if you're building this thing from scratch, would you still go with with GraphQL? Like, what are your thoughts on Now that GraphQL has been around for a couple years,
Guest 3
are you still a fan of it? Would you still use it? Yeah. That's a good question. I honestly have not built anything new graph GraphQL, in, like, probably the last 3 years. So that might be I can tell of what my answer is. I love graph fuel. I love, like, how fluid it feels. And once you get everything set up and the tooling set up, it just works.
Guest 3
Yeah. But also there are some limitations in things like error handling and and caching. Like, obviously, Stellate or GraphCDM is now a tool that you can sort of now it's a it's a Soft problem.
Guest 3
It's a problem that I struggled with for years trying to build the stuff and try to cache things properly.
Guest 3
Totally. Yeah. So I think if I started today, Like, the t three stack is something that I'm I'm I'm actually playing with right now, and I'm actually building a tool with it right now, for Open Sauced. It's like a nice little side project, which It's a little scary to have a side project when, like, my actual project is only just getting shipped.
Guest 3
Yeah. Yeah. Yeah. Or the product that's gonna make us money is just now getting shipped. So, but I'm just, like, a serial like, I come from the DevRel space, so, like, I constantly build new stuff all the time. What's the t three stack for everyone I was gonna say? T three stack is t RPC, Tailwind, and TypeScript.
Brian is trying out tRPC, Tailwind, TypeScript, Next.js stack for new projects
Guest 1
Yes.
Guest 3
Those are the 3 t's. Yeah. Yes. And then Next. Js is is embedded in there too as well, so t three n.
Guest 3
But, yeah, I I find it fascinating, like, the t three stack is kinda how I I wanted the world to be back when people were doing express and and Node. Js, but it was, like, so complicated to, like, do your server side rendering and your client, where now t three provides, like, you just write functions on the back end and front end, and it just works, t m.
Guest 3
So that that's what I'm playing with now, but, like, I I do pick Next. Js for a lot of stuff, just to get started, mainly because I just don't wanna think about tooling anymore. Like, I I've done this long enough, worked and reacted long enough, and I'm just, like, I've I've been here, like, Actually, Open Sauced, app.opensauced.pizza, it's still it's a create React app, that's been ejected And now runs on Veeet.
Guest 3
So, like, we actually started using Veeet pretty like, right before 2 point o. We converted over the the Veeet from Webpack.
Guest 3
Amazing tooling switch. Like, it it is it works really well. We had to learn a lot of stuff Early. So all the stuff that was missing in Veet 2 years ago, we had to basically either wait to get billed or build ourselves in. We we spent mostly time, and I say we because I have open source Contributors, we spent way more time waiting for things to get build,
Guest 1
built rather than building it ourselves. Yeah. I hear you. I we did that. We we used Oh, what was the, the other one? Snowpack. We we converted ours from essentially just a, vanilla React app to snowpack. And then that conversion was tough. But then when we converted from snowpack to Veet, it took, like, a handful of minutes Because they're based. They were so similar. So it was, like Yeah. Effortless to switch over over in that way.
Guest 1
Hey, Wes. Do you wanna take a quick Quick second to talk about one of our sponsors today. Let's talk about Hasura.
Guest 1
Hasura is a really great system if you're looking.
Guest 1
Let's say you have a Postgres family of database, and you're you're looking to just instantly have a GraphQL API up and running in no time. Don't have to deal with any of those things like caching or, like we said, we the caching GraphQL is no fun to do, but Hasura makes it so it's not even something you need to think about too much. Likewise, you can also not have to worry about n plus one issues where You have duplicate fields and multiple database calls, and, your system could suffer performance wise because of it. Well, with Hasura, again, you just point Hasura To your database, your Postgres family of database, and it goes ahead and creates your entire API for you. You also get granular authorization baked And with secure access to all of your data sources, databases, and any other external GraphQL API.
Guest 1
So Hasura takes basically care of all of the hard tedious stuff about working with GraphQL unless you sit back and do it. Just make your API. So Hasura Cloud is a managed GraphQL service providing auto scaling and high availability.
Guest 1
And if you sign up for the free tier, it only takes a moment, And you have an instant GraphQL and a rest server. So head on over to hasura.infoforward/free trial Or use the code try Hasura, and you'll get 3 months of Hasura cloud standard for free.
Guest 1
Only the first 100 people get it, so get in now.
Guest 1
Thanks so much to HESARA for sponsoring.
Guest 2
So with with open sauce, What is your end goal? Are you going are you trying to make money with this? Are you trying to solve you're obviously trying to solve a problem with it. Is Is this going to be a business at some point, or is this a problem that you're trying to solve and maybe get scooped up by a a a company? I definitely try to solve Problem. I've had a, like, a very interesting onboarding path into open source. And, like, a bit of my background is, like, I learned how to code when I had already had a career in sales. I had my 1st kid and decided I wanted to build the app.
Goal of Open Sauce is to make open source more approachable and diverse
Guest 3
So because of open source, I was able to, like, learn the ropes and learn how to Build apps and get a job. I see open source as a way for people to level up, and, like, change their career path. Yeah. Even if you're already an engineer, If you wanna do Svelte, like, you can go contribute to a Svelte example project. Or if you wanna, like, do Vue, like, go contribute to open source or build a plug in That helps out Vue and and Vue in that relationship, like, probably already exists. But what I'm getting at is, with Open Sauced, like, the the numbers I saw internally at GitHub is and this is public. It's on the it's in the, Octoverse. Mhmm. Of the 280,000,000 repos that are open sourced, 230,000 have more than 5 contributors.
Guest 3
They a lot of people are, like, really wanna get, like, GitHub trending or get on some algorithm, and, like, their real answer is, like, get a 100 stars and get 5 contributors, and, like, you're trending. So my goal is, like, to make open source more approachable is by unlocking open source for companies, for projects, for maintainers to attract contribution and make things sustained.
Guest 3
So the end of the goal is, like, I wanna change open source and not be approach it. I wanna make open source more diverse. I wanna make open source more accessible.
Guest 3
So that's a goal.
Guest 3
We are a company. Like, I did take funding, angel funding, earlier this year, and that's what allowed me to work on this full time, for the past 3 months, we are taking on customers. So, like, if you're interested in, like, improving your open source story and your journey for your company, please reach out. I've I've got some Ideas and some pigment designs I can share with you. That's that's awesome.
Guest 1
So okay. Let's let's take a a detour to talk about live streaming.
Guest 1
In your live streaming setup, are you primarily working on open sourced? Is that what you're doing? Are you doing live coding? Are you Teaching look. What what's your live streaming setup? So
Guest 3
so as of the past year and a half, 100% open sauce.
Brian live streams Open Sauce development and has built a community
Guest 3
And it it was mainly because open sauce and, like, I think so I'm gonna cite the the primogen again. He Credit is, like he mentioned these buckets around this teaching, or you have, like, a community and a product that you sort of code, or you're, like, a meme streamer.
Guest 3
And, like, he definitely falls in, like, the meme Thing of the week, thing of the day. Theo's under another one of those meme streamers, thing of the week, thing of the day.
Guest 3
I definitely have a community around Open Sauced, and that's what I work on Every time I hit live, so we have, like, a a core group of people who watch me work on the thing.
Guest 3
We