skip to content
Podcast cover art for Developer Experience Engineering with Prince Wilson
Podcast

Developer Experience Engineering with Prince Wilson

Prince Wilson discusses his DX engineering role at Netlify, the evolving Jamstack ecosystem, learning Rust, and building community on Discord and Twitch.

Open .md

Episode Description

Prince Wilson discusses his role as a developer experience engineer at Netlify, the evolving Jamstack ecosystem, learning Rust, and building community through Discord and Twitch streaming.

Episode Summary

Prince Wilson joins the show fresh from his role as a developer experience engineer on Netlify's templates team, just as the company announced its $100 million Series D. The conversation opens with Prince's origin story — a university professor who told him to switch careers, which instead fueled his passion for teaching at a boot camp and ensuring others never faced similar gatekeeping. He explains how developer experience work goes beyond influencer optics, focusing on shepherding communities and creating intuitive product pathways inspired by game design principles. The discussion moves into the Jamstack landscape, comparing frameworks like Astro, Gatsby, and Next.js, and how choice within the ecosystem drives innovation — drawing a parallel to how jQuery's contributions became foundational browser APIs. Prince and the hosts explore Netlify's philosophy of supporting all frameworks rather than locking users in, touching on features like forms, build plugins, and edge handlers. The conversation shifts to Rust, where Prince shares how his negative experience with C in college initially pushed him away from low-level programming before Rust's modern tooling drew him back. He emphasizes that Rust is enhancing JavaScript tooling rather than replacing it, and encourages developers to learn additional languages for broader problem-solving perspectives. The episode wraps with Prince's streaming practice of building a Rust-based Discord bot on Twitch, his enthusiasm for Three.js and 3D animation, and how Discord communities like Party Corgi have shaped his growth.

Chapters

00:00:00 - Meet Prince Wilson and His Path Into Developer Experience

Prince Wilson is introduced as a developer experience engineer on Netlify's templates team, working within the open source ecosystem to support both the platform and the broader developer community. The hosts note Netlify's recent $100 million Series D funding round, marking the company's unicorn status.

Prince shares his origin story, beginning with a university computer science professor who suggested he switch careers during his very first semester. Rather than being discouraged, he channeled that experience into hackathons and eventually teaching at a boot camp, driven by the desire to ensure others never felt excluded from software development. His authenticity and positivity, visible on his Twitch streams, naturally led him toward developer relations work.

00:04:42 - Getting Into Netlify and What Developer Experience Really Means

Prince discusses how he landed his role at Netlify through someone reaching out, and how his existing habits of creating content, writing blog posts, and being active in developer communities aligned naturally with developer experience work. He pushes back on the perception that devrel is just being an influencer, emphasizing that the real work is about shepherding communities and empowering developers.

Christopher and Prince explore what developer experience truly encompasses — not just writing code, but understanding how users discover and learn a product. Drawing on his teaching background, Prince discusses how game design principles influence UI hints and feature discovery, arguing that products should offer multiple pathways rather than a single prescriptive route. The conversation touches on how GitHub struggles with feature discoverability while Netlify has kept its interface clean and approachable.

00:09:59 - Netlify Features, Edge Handlers, and the Evolving Jamstack

Prince explains what drew him to Netlify as a user, particularly serverless functions and the creative possibilities they unlock for developers. The hosts and Prince compare edge computing terminology across platforms — Netlify's edge handlers, Vercel's edge functions, and Cloudflare Workers — noting Netlify's use of Deno under the hood.

The conversation broadens into how the Jamstack ecosystem is evolving with frameworks like Astro and tools like Iles. Prince shares his approach to evaluating new projects, focusing on community dynamics and how people advocate for their tools rather than using a technical checklist. Christopher raises the challenge of choosing the right framework for different use cases — blogs versus e-commerce versus dashboards — and Prince argues that having choice is healthy for the ecosystem, drawing a historical parallel to how jQuery's innovations became native browser features.

00:17:20 - Framework Choice, Build Plugins, and Where Logic Lives

The discussion continues into how Netlify's approach of supporting all frameworks rather than building platform-specific tools benefits the broader JavaScript ecosystem. Christopher highlights Netlify's unique forms feature as one of the few proprietary conveniences, and Prince explains how it exemplifies giving developers power without creating vendor lock-in.

The hosts and Prince discuss build plugins, platform integrations, and recent Netlify acquisitions like OneGraph and FeaturePeek. The conversation shifts to where developers should place their logic — in their codebase, on the platform, or in serverless functions — with Prince noting that edge handlers and similar tools are democratizing capabilities that were previously only available to enterprises, like internationalization routing.

00:28:13 - The Changing Definition of Web Developer

Prince reflects on how the web development education story might need to evolve beyond HTML, CSS, and JavaScript fundamentals as deployment and infrastructure become part of a developer's daily workflow. Christopher proposes that the term "web developer" may need a new classification, since modern Jamstack work spans backend, frontend, and everything in between.

Prince connects this to Chris Coyier's "Great Divide" concept about the front of the front end versus the back of the front end, noting how different tools are emerging for each side. They observe that frameworks like Astro and Eleventy serve the content-focused front end while Gatsby and Next.js push further into application territory, making tool selection increasingly dependent on the specific use case and level of interactivity required.

00:31:21 - Why Rust Matters for Web Developers

Prince shares his Rust journey, explaining how negative experiences with C in university initially drove him away from low-level programming. He was drawn back by Rust's modern ecosystem, including its built-in package manager and community-driven language governance, which reminded him of the JavaScript community's best qualities.

The group discusses what it really means when people say JavaScript tools should be written in Rust — it's about reliability and performance in tooling, not replacing JavaScript itself. Anthony notes that tools like Prisma already use Rust internally. Prince encourages developers to learn additional programming languages not out of obligation but to develop new problem-solving perspectives, whether through functional or object-oriented paradigms, while reassuring Jamstack developers that knowing Rust won't be a requirement anytime soon.

00:35:39 - Rust in the Wild and the Future of Language Diversity

Christopher asks where Prince hosts his Rust applications, leading to a fun story about running a Rust app on a Raspberry Pi to control Nanoleaf lights during streams. The conversation turns to companies like 1Password and Discord rewriting services in Rust and Elixir, signaling a broader trend of polyglot architectures in web development.

Prince reflects on how legacy industries struggle with code rewrites and how the opening of new language avenues benefits everyone. He connects this to WebAssembly as a future catalyst for even more language diversity on the web, suggesting that WASM will enable an entirely new wave of tools and languages beyond what developers currently work with.

00:39:35 - Discord Bots, Twitch Streams, and Building in Public

Prince walks through his current projects: a Rust-based Discord bot for playing Code Names, and a stream scheduling page using Netlify edge handlers for time zone detection. He explains the nuts and bolts of Discord bot development, mentioning tools like Discord.js and the Rust library Serenity, and how API clients abstract away the complexity of Discord's raw API.

The conversation turns to Prince's Twitch streaming philosophy — using streams as a space to learn publicly, normalize making mistakes, and demonstrate that Rust isn't as intimidating as its reputation suggests. He also shares his growing interest in Three.js and 3D animation with WebGL, noting how a foundation in JavaScript opens doors to unexpected creative possibilities.

00:48:41 - Community, Discord Culture, and Closing Thoughts

Prince discusses his involvement in Discord communities, particularly as a moderator in the Party Corgi server, which he credits with helping him grow his online presence and learn about web development. He also highlights the Front End Horse Discord and various API-focused servers as valuable spaces for staying connected with the ecosystem.

The episode wraps with a lighthearted debate about Netlify's dark mode, Prince's appreciation for learning from video game streamers about community engagement, and an open invitation for anyone starting their streaming journey to reach out. Prince encourages listeners to keep exploring, building, and connecting, leaving the conversation on the same positive note that defines his approach to developer relations and community building.

Transcript

00:00:00 - Christopher Burns

So do you mind just jumping straight into it?

Yeah, let's go for it.

00:00:13 - Anthony Campolo

Prince Wilson, welcome to the show.

00:00:15 - Prince Wilson

Hey. Thank you for having me.

00:00:17 - Anthony Campolo

You are a fairly recent developer experience engineer at Netlify, which is very exciting.

This episode won't be going out for a bit, but as of yesterday, Netlify just raised a huge chunk of change, over $100 million, Series D. I think you're now officially a unicorn company, over $1 billion, which is super exciting. So congrats.

00:00:37 - Prince Wilson

Thank you.

00:00:38 - Anthony Campolo

Why don't you let our listeners know who you are, where you're coming from, and what you do?

00:00:43 - Prince Wilson

I work as a developer experience engineer, so a lot of the people you get to see at the company are helping make sure that the experience of deploying on the web is good.

At Netlify, my specific function is that I work on what is known as the templates team, making sure to spend a lot of time in the open source ecosystem, seeing how the other tools out there are supporting Netlify, as well as figuring out how I can best support the community at large.

How do I use my job to make sure I'm helping the ecosystem, as opposed to just doing my job to benefit only Netlify?

Outside of developer experience engineering, I write Rust code.

00:01:14 - Anthony Campolo

Also a prolific streamer. This is how I think I first kind of became aware of you.

I hang out a lot in this whole Twitch dev world, and you stream yourself. You hang out in the chats of other people's streams. It's just such a really wonderful community of people who are doing this, at least the ones I hang out with.

I've really enjoyed getting to hang out on your stream when you're doing Rust, because I have always been interested in Rust. We've talked about Rust a handful of times on the show, but I think I've written maybe two or three lines of Rust code, just kind of going through the Rust Beginners book and doing the first chapter or two.

We're definitely going to get into that. We'll get into streaming, but I'd like to get a little more of your background, especially because I think it's really cool that you used to teach at a boot camp.

I'd be curious how you got involved in that, if you were a boot camp person yourself, or if you learned to code somewhere else, and how that all came together.

00:02:03 - Prince Wilson

I always love talking about this. My very first experience with coding was actually in university. So I went to study computer science.

But in my very first semester in university, I had my professor tell me that I should consider switching careers. That's a very bold statement to receive in the very first chunk of your journey.

00:02:20 - Anthony Campolo

That just blows my mind as a teacher, that any teacher would ever say that to a student.

00:02:26 - Prince Wilson

I think their intention could have been well-meaning. But how I received it, and how it was said to me, made it seem like an egregious thing.

I took it in stride and I was like, I want to change that course, to change that path. And I very much found my rhythm, my stride, starting with hackathons. That kind of got me into doing developer relations work as well as software engineering work.

From there, I actually switched and went into teaching a boot camp. That monumental initial experience is something I wanted to make sure that other people never had to experience, where people felt like they couldn't be a participant in learning software development because there's no real barrier beyond learning how to do the coding bits and then you have to build up further.

I wanted to show people that you can do these things. There are tools and experiences that you can get from this. It doesn't have to be like you work at a FAANG company, Facebook, Apple, and Amazon, and these types of companies. There are many companies that are working with technology, and it's important for us to have people with rich experiences being participants in those industries.

00:03:21 - Anthony Campolo

Yeah, I've seen so many people from so many different backgrounds, races, genders, everything get into coding.

To me, I always say the only requirement is you got to work hard and you got to want it. It takes time and work to learn to code, but there's no reason that anyone is inherently unable to do it, you know?

That's really great, and I think that's such an awesome kind of thing. And for you, I know on your stream you're so positive. You're just a very, very positive person.

I think that's where a lot of devrel people who are really good at the job, they have to exude that positivity because they're trying to bring people in. They're not trying to push people away, you know? If you're really aggro and you're like, ah, I'm the best coder and everyone else sucks, it's like no one wants to be around that person. You really got to bring people in and help lift them up.

[00:04:02] And I think you do such a good job of that.

00:04:04 - Prince Wilson

I appreciate you saying that, and I think very much showing who I am is something that's important to me, being very authentic.

I am a fairly positive person. I think a lot about showing people that the space is welcoming, because I think when you see that kind of behavior, you emulate that behavior as well. There's some law of attraction, I think, that is, you bring positive energy into the world, positive energy comes back to you.

I think a lot about how, when you do that, that helps other people also recognize what are understood behaviors and what's appropriate in the spaces. And that's one of the reasons why I think developer relations is very critical to a lot of companies, because it shows you what are the understood norms of your communities as well.

00:04:42 - Anthony Campolo

Yeah, I know a lot of people who listen to this show are interested in companies like Netlify and would probably want to work at a company like Netlify. So I would be curious, as much as you're comfortable sharing, how you got the role in terms of did you apply? Did someone reach out to you? Did you already have connections there? How did that happen?

00:04:59 - Prince Wilson

I did have somebody reach out to me. As far as joining onto the developer experience team, I got to meet with the team. I got to understand what are their pursuits, as well as how does it align with Netlify?

The biggest thing that I learned over the course of time is figuring out how to make sure I'm presenting what I want to be seen as. That sounds like I'm putting a performance on, but that's not really what I mean. It's more that part of developer experience work is really thinking about what are the skills I need to be showing to people that I can do that work.

Part of that is creating content. Part of that is creating blog posts, videos, being a community member in the spaces that I want to be. Those are the things that I was already doing as a full-time engineer anyway. That's kind of what led me into developer experience, and I've had many people talk to me about, oh, do you want to do this developer experience role?

[00:05:44] At first I actually thought, maybe I don't want to do that work again. For a lot of people, it very much looks like, are you just becoming like an influencer? That is not actually what it is. That is very much not the work that goes into it.

I don't want to mislead people like, ah, it's all sunshine and rainbows. I very much want to make sure that we're thinking about how do we shepherd communities into doing what they want to be doing.

If our goal is to help the ecosystem, especially at Netlify, like we care about the web, we should be thinking about how do we enable them to do that work, how do we empower them to do that work. We're just there to give them the tools. They can do all the work themselves. That, I think, is exemplary of what a developer experience person is.

00:06:21 - Christopher Burns

When you say developer experience, you're not necessarily just talking about coding actual things for the developers. You're also talking about how the developers understand the product, how they use the product.

It's all the things you don't get caught up on. You just disappear and you're like, surely everybody knows how to do these things. Like one-click deploy to Netlify is very different to clicking on GitHub, finding your repo, clicking the repo, putting in the environment variables. It's a completely different experience.

That first time, you get in and up and running in five minutes and it's great and you've learned how to use the platform, but do you truly know how to use the platform? And do you know how to take full advantage of the platform?

There's so many things. Different personalities do different things. For me, whenever I start using a piece of software, I tend to always look at the settings first and check everything and be like, okay, I've looked at every page. I understand what it can do, what it can't do.

[00:07:19] But some people are much more discovery-driven. They won't look at the areas they don't need to until they need them. So it's that thing of like, how do we teach people?

But then I think the second area that can be really underrated sometimes is upgrading things, adding new features. It's a big picture. It's all about the big picture.

00:07:39 - Prince Wilson

I love that you bring these sorts of things up. It goes back to something I really appreciated about being a teacher, thinking a lot about what are the mechanisms that we put in front of people to show them their path.

You mentioned there's kind of different modes that people go through when they're doing something, whether it's discovery mode or they're kind of going through the happy path. I think a lot about how those kinds of skills from being a teacher really play into doing that research.

Part of it is, how do you create the right pathways for people? Because there shouldn't be one direction that every user goes through as the only way to experience the product. I think that actually can be harmful in a lot of ways, because of the fact that they don't know where they might need to go when something goes wrong.

This happens with any product, because at the end of the day, you need to be able to showcase how to give them control, because maybe one day they want to decide to migrate and they shouldn't have that all be a black box.

[00:08:27] There was something also you mentioned, like features, hidden features, or new features that come through. I think a lot about how do you showcase those things.

A lot of experiences that come through apps today are really built around game development. Surprisingly enough, a lot of the hints that you get through a UI are all designed because of game development, where they kind of think about how do you tell a user, without telling a user, how to do something?

I think a lot about how do you create those kinds of experiences within an application where it's not just like, oh, I'm kind of just digging through to find out what the new features are.

There should be ways of telling you, like, ah, this is a thing, but giving you the tools to use it however you would like, because at the end of the day, the prescriptive nature might limit them as opposed to giving them unlimited potential.

00:09:07 - Anthony Campolo

This is great. GitHub is the absolute worst about letting you know what you can actually do with GitHub.

I cannot tell you how many times I've discovered some brand-new feature or thing that's on GitHub that has been there for years, and I had no idea. Like, you can deploy apps. You can deploy entire servers on GitHub. I had no idea that you could do that for the longest time.

That's something that I know Netlify has done a great job with because they've kept it fairly minimal, at least most of the time. They've framed it around, we give you the ability to do a static site and some functions, and then as they added things on, like identity and analytics, it was always a top-level thing on the tab bar.

It was appreciated, just how they keep it clean. They keep it simple. When they do add something, it's just like there and you can see it.

I'd be curious. I'm sure you were a user of Netlify before you started working there. So what did you appreciate about the product itself that made you want to work there?

00:09:59 - Prince Wilson

One of the things that really blew me away, having dealt with making my own backend stuff before, I felt really empowered by just the use of functions, Netlify functions that are serverless functions.

I think a lot about how much potential that leaves for people because there's, I don't know, I am just a human being, right? Like, I am just one person. There are many other human beings that use this technology, and it's just so fascinating to see how people can use it in a variety of different ways. Their use cases are just endless.

I think that's what really inspired me. That's exactly what I want developer tooling to be, allowing people to build out what they need to do without having to get in their way.

Not that full-fledged backend applications are bad or anything. It's more like this is another dimension. This is like a whole vector of implementations that people haven't gotten to experience.

I'm really excited also for tools like edge handlers. I forget, are they also called edge handlers in Vercel?

00:10:53 - Christopher Burns

They're called middleware.

00:10:55 - Anthony Campolo

This was Next middleware, and it's Vercel edge functions, and then Netlify edge handlers. They're essentially the same thing, but Vercel calls them edge functions. Netlify calls them edge handlers.

00:11:05 - Prince Wilson

And I know that they're on top of Cloudflare Workers.

00:11:09 - Anthony Campolo

Correct. Yeah. Whereas Netlify built a crazy custom Deno thing for theirs. I'm pretty sure Matt was on a podcast and talked about it a little bit, that they're using Deno for that, which I thought was so cool and like a really interesting use case for that.

00:11:21 - Prince Wilson

Yeah, I think that just speaks to where the area of web development is going. That is just really interesting.

Once again, it's a vector of exploration that everyone on the web gets to explore. I think, for a lot of companies, they've been so used to having to build everything all out at once and then they deliver.

I'm really excited for people to be able to not get bogged down by having to wait for processes to be set up for their teams so that they can start exploring how to build out their products.

Like, getting the proof of concept out the door for people is something I think that these tools are allowing people to do, which they weren't able to do before.

00:11:56 - Christopher Burns

When we had Jason on, he very much said that Netlify is the tool of all tools, as in it's the jack of all trades. Like, yes, other cloud providers may do some frameworks better. We like to say we are the tool for all tools.

I saw that on your blog. You recently wrote an article about Astro and using Netlify CMS. What's your opinion of Astro? Do you think it's going to go far? Do you think it's one of these future tools that we shouldn't use yet, or should we all go straight into it?

00:12:25 - Prince Wilson

That's a great question. I don't know where Astro will go. I think that's something I'm actually getting to be more familiar with, how the ecosystem at large is evolving.

Coming in where I saw a lot of stuff with Gatsby and Next, it's been really fascinating to see how other people see this type of problem and figure out what they're going to do differently.

I think Astro is just very fascinating in its support of helping all these other frameworks, which I think is not necessarily a new concept, but I like that that's the direction that it's taking.

How do we help all these other languages, or I guess projects is maybe the better word. Vue, Svelte, all these tools. And that's something I think is a very healthy direction.

So that might be the direction that things are heading. Iles is also another project that is coming out in the world as well.

00:13:09 - Anthony Campolo

When you look at these new projects, how do you decide kind of what you want to invest in and write about and start learning? What do you look for in these projects?

00:13:18 - Prince Wilson

Also a great question. Honestly, I like to listen to how people advocate for these projects. I felt the same way when the first big front-end tool that I used was React.

Seeing people talk about Svelte, for instance, is another one of those dimensions where I was like, why do people like it? What are the things that make them gravitate towards it?

I don't really have anything that's kind of in my head that I use as a checklist to say, like, this is the tool that we're all going to go down. But I really like looking at communities of how they use a tool. What are their ways of expressing how they use that tool? And how do the people using the project collaborate with each other?

I think that might be from my background, mostly starting in Ruby, where the ecosystem is really thinking about the community at large. I like to see also, how does JavaScript trend along that same path?

00:14:02 - Christopher Burns

One of the biggest things that really perplexes me about the Jamstack: you pick my favorite three things right now, so that's TypeScript, React, and probably something like Tailwind. And then you think, what's the purpose? What's the outcome?

Then I go, oh, I'm going to make a blog, or I'm going to make an e-commerce website, or I'm going to make an admin dashboard. All three of those use cases are such different uses of the frameworks that are out there.

I think it's such a hard question currently to look at all of them and know which one is the best one for that job, because I think it's really opinionated even today with Gatsby and Next.js.

Both of them have said, we support Shopify. You know, Shopify, yeah, it's one of our big things. And then Shopify has now said, here's our own version of React.

Then you're sitting there going, I need to build a shop front in Shopify. Which version do I use?

[00:15:00] There's no simple answer. It's, is this your go-to solution? While, yes, you could use any, but it's that thing of like, what's the pros and cons? What's the better one to use?

The hardest thing is picking the wrong decision and realizing it too late, and then having to migrate it all over from, say, Gatsby to Next or Astro to whatever.

Tools like Astro are really showing us how easy it is to get as low down as possible. If you're creating a blog, then yeah, Astro is probably going to be really, really helpful going forward because it's so bare bones in the best of ways, if that makes sense, where creating a blog in Gatsby now is a bit overkill with its whole GraphQL layer.

00:15:44 - Prince Wilson

I think it honestly comes down to what do people enjoy building with. That's allowing yourself to take that stride.

Unless you're thinking in terms of a business, I think that you go back to saying like the trade-off, right? It's all about the purpose. That's really what should be deciding what tool you're wanting to go with.

Because at the end of the day, if you're structuring it in a way that allows you to switch things out, that's like the most beneficial kind of pathway, as opposed to locking in and saying, like, I can only do it with this particular tool.

Maybe that's a bad example, given that if you bring up e-commerce, there are only so many choices you can choose from. But I think having choice is actually a really good thing. It's healthy for an ecosystem, as opposed to the opposite, where there's only one particular way, just because it allows us to have the perspective of what are the types of problems that everybody's having, and how do we address those?

[00:16:30] That's something that's really important when we're thinking about the web as well. No one person is solving one problem alone. They're solving multitudes of problems.

Having that variety helps so people can also see innovation. That's the reason why I think the front-end ecosystem is fascinating to watch. There are so many different types of solutions that are out there that are beneficial for everybody involved, because it allows us to all say, here's how we can level up as an ecosystem.

An example of that is like jQuery. jQuery is innovation that came out and ended up being a foundational layer that's been embedded now in all web browsers.

When we think of the APIs that came out of it, the same is true when we look at React. We might see a world in which the design choice of JSX might be something that we see foundationally across the web when we think in terms of, like, maybe, for example, web components. Just at the syntactical level of what we're seeing, we might see that all over the place.

00:17:20 - Christopher Burns

JSX is a really good example. We are now seeing other frameworks start to come out, such as SolidJS, that still use JSX. This was one of the main questions to the creator: Why JSX? Why don't you just go use your own thing? Is JSX even a foundational kind of thing, or has everyone just implemented it however they want?

It's good questions, to be fair.

My next question is around your job at Netlify. It's that thing of like, Netlify as a company doesn't seem to build very specific things for the Netlify platform. Do you think that necessarily hinders the platform or really excels it? As in, all logic will run everywhere, no matter if it's on Netlify or not.

00:18:03 - Prince Wilson

I think that is like the million-dollar question. I think a lot of our focus is making sure that we are supporting the ecosystem at large, because so many people have such a variety of choice, and we don't want to say, like, we only want you to choose this particular thing.

At the end of the day, we want to help support you solving your problem. We don't want to be another problem in your way.

I think that's kind of the direction and insight that people have as far as why Netlify goes for supporting all these frameworks.

Going back to what I said, when we're thinking in terms of this innovation, when we have all these frameworks, it also kind of gives us this insight of like, how can we best help JavaScript continue to move forward as opposed to being a blocker along the way.

If Jamstack is an ever-evolving thing that's going to have new solutions out there, staying in only one particular tool might not help us help the JavaScript ecosystem.

00:18:52 - Christopher Burns

The only thing that I can think of that Netlify really does that nothing else really does, I forgot what it is off the top of my head, but it's the forms. You know how you can just put the form syntax and then it'll be like, we'll just capture all the responses.

That's like the one feature where I'm like, that is the only thing that Netlify isn't open on. That's like its custom logic behind the scenes to capture all that. And I think that's really, really cool.

00:19:17 - Prince Wilson

Not a lot of people know about that. The whole form implementation, for people that are listening, you can add something like data-netlify equals true onto your form element. And all of a sudden you have this connection to a form API through Netlify.

On top of that, you can customize it with having functions that get invoked upon certain actions, like submission of a form or deletion.

It goes back. Here's this problem. We're going to give you a tool to solve that problem. You are still able to use the form as you currently have it, just in a regular old HTML form. And on top of that, you get this Netlify power on top of it.

Those are the things that we're trying to figure out. What are the ways that we can help support you doing the work that you're already doing, as opposed to reinventing and creating a new structure where it might end up one day that Netlify may not exist, God forbid, knock on wood, but at the end of the day, we care about you solving your problem and not being a hindrance.

[00:20:07] We want to make sure it's as easy as possible for you to continue to do your work and not be in the way of that work.

00:20:13 - Christopher Burns

That's one of the biggest things about Netlify. Some of the things you can do on the platform are really, really powerful, but trying to tell people that you can do them is a [unclear] problem, such as the lambda functions.

It is an abstraction on AWS Lambda, but they don't have to be like a complex whole API. It could just be keeping your keys out of the main environment and just passing it through an API.

I think this area of, like, where do these lambdas and all these things evolve to. I think Remix is giving a really good direction of like, wait, you can do all of this stuff running on these adapters.

I've not gone into Remix yet, but I know there's a Netlify adapter, a Vercel one, and Express, so does that just mean that you plug it in and now it just works on the Netlify cloud?

00:21:05 - Prince Wilson

That is ideally the solution, right? It's like you put it in, you make sure that it's working. I think that's an interesting pattern.

It's something that I hadn't noticed until I started working at Netlify, that this is something that people do, where frameworks and tools will kind of give you these solutions that make sure that your integration with the platform is as seamless as possible.

This is one of the things that other platforms also do. Vercel is very good at making sure that happens too, where there are these integrations with the frameworks. So that way you don't have to do any kind of configuration as opposed to just plugging it in.

That's something, like I mentioned before, is we're paying attention to the ecosystem to make sure that we're supporting everybody without you all having to write a ton of extra work. So that way it's just out of the box. It's good for you.

00:21:47 - Christopher Burns

What do you think of these pure code implementations? What I mean by pure code, that's an Aldo term he likes to use. That one is like the highest abstraction possible, like integrations.

We've seen this with Vercel starting to do it as well, as in a company can integrate into the platform and now open up all of this new functionality, like Shopify has done. There's a whole, I think they call it Marketplace. I think it's Vercel Marketplace. Does Netlify have such integrations?

00:22:18 - Anthony Campolo

And when we're talking about pure code, another kind of example, do you know the CDK on AWS? I think that's close to what Aldo's kind of talking about, the pure code tool, where it's like you're just writing code that is both your project and your infrastructure and everything kind of together. I think that's kind of what Chris is getting at.

00:22:37 - Christopher Burns

There it is. And Anthony can just pull the words out of my head a lot easier.

00:22:43 - Prince Wilson

I'm trying to think of an example of that. I'm not certain if that exists.

I think one of the examples might be the build plugins, an example of Netlify's kind of thought process around that, where there are some integrations where we can make sure that you're just thinking about, here's this project, here's the data source that you might care about.

We also use this sometimes when we're thinking in terms of build steps, when we can abstract away some of the problems that you're trying to solve, but make it so that it's a general source of data where you can use it and take it in.

Regardless of the framework that we have, we have an example of that. Similarly with Shopify, where we have this data source that we're wanting, but we use it across different frameworks. So you don't have to worry about like, how do I make sure that I'm using the right APIs?

00:23:23 - Anthony Campolo

Yeah, we have a StepZen Netlify build plugin that's like that for GraphQL API.

00:23:28 - Prince Wilson

I love that.

00:23:29 - Christopher Burns

That's what I was trying to get to, the extending of platforms. We're starting to see that as in more DevTools are coming in, more tools that slot onto the end of the Netlify process, or could slot on in front of it as data coming to it.

Then we're seeing companies also get acquired by Netlify that are helping this sort of, like, is this data at the front of the pipe or at the back of the pipe, for example?

We've seen two recently that are at both ends. OneGraph, that's at the beginning, as in, we help you aggregate data for your APIs. And then we've seen one at the complete other end that I forgot the company off the top of my head, that has been the underlying layer of the preview tool.

00:24:12 - Anthony Campolo

The deploy previews.

00:24:13 - Prince Wilson

Yeah, the collaborative deploy previews. That's the word.

00:24:16 - Anthony Campolo

Yeah. That's FeaturePeek.

00:24:17 - Prince Wilson

Yes, exactly. There was a question. I totally forgot it was there.

00:24:22 - Christopher Burns

I don't know the question. What I'm trying to say is there's a fine balance between open-sourcing integrations into the platform and out of the platform. And then there's, we will make X and Y for the platform, for the open source community. There's not really a question. I was just trying to get to topic points to talk about.

00:24:40 - Anthony Campolo

I did have a question. I was curious, now that you're working for Netlify, if there are specific parts of the platform you're interested in digging into and learning more about that you know are areas that you haven't gotten to explore a lot yet.

00:24:52 - Prince Wilson

We kind of talked about one of them, which is the build plugins. I have never used the build plugins prior to working at Netlify.

It's a fascinating concept, kind of thinking more about how do we have this conversation around what's the right level of abstractions that we want to have. And also how do you make it easy for people to do, not necessarily all this backend work per se, but more so, how do you make integrations as easy as possible for everybody?

How do you make them in a way that allows us to say, like, I just want to write code. I don't want to really think about all the other parts of like, how do I integrate with this API? I just want this one place to get information from and move on.

I think it's an interesting concept, because of the fact that we're not having to go about having to worry so much of like, oh, it's going to have to look like this forever. The inside can change along the way without having to change the outside. We can move on from the problem.

I feel like a lot of the complexities that we used to have are just like, ah, we need to have a server and do all these things and it must work this way. It's a very fragile glass ball, but now we're seeing a little bit of a difference in that evolution.

The other one I'm really excited about, as far as features on Netlify, is the edge handlers. It's something that I have not gotten to play with as much, but I want to because I think it's a really interesting concept.

When we come down to how do we provide experiences that are very customizable to the way that a person's coming into your platform, it's one of those things when we think about, like, internationalization or being able to have any kind of different experience based off of your user. Edge handlers can provide that by thinking about, like, where are people and how are you accessing the platform.

00:26:20 - Christopher Burns

It's really interesting that we start talking about these things, edge handlers, the build process. Do you find that we're going into a territory where we're having to think, what logic do I need to build myself, and what logic do I need to put in other places?

For example, you've just said about internationalization. You're saying, okay, I need to route a customer to the UK website if I'm from the UK and the US website if I'm from the US, and then you think, okay, how do I do that? Today, enterprises have many solutions because enterprises need to. But for a tiny company, you're like, well, that's pretty much impossible for me without going onto Nginx and everything.

Then Netlify comes along and says, we can now do that. And then you go, okay, that's something that I couldn't do before, but you could. It's just the barriers to entry have been so much higher.

So do you think we'll see this molding of logic of, like, as soon as we need to do something, we think, okay, I'm going to host that bit of logic by myself, that logic on Netlify, and that bit of logic in my Next app?

00:27:21 - Prince Wilson

Honestly, I think that's what we're going to see, is figuring out how do we balance where to put the logic.

I think that is something that will be like the next wave of types of problems that you'll see.

Just like you mentioned, a great example is a business. At what point am I about to try to scale my operations in a way that is sizable and [unclear]? And also how do I make sure to make that information widely disseminated so I'm not the only person who has that knowledge?

When we start thinking in terms of code, it's easier to find something in the code because it's right where you're doing your development, right? Rather than putting it only in the platform, imagining if we only put the logic of edge handling, like, ah, put this internationalization information only on Netlify inside of its UI, as opposed to putting it right next to its code.

I think it's going to be an interesting story of how do we make that documentation clear of, like, this is where the resources end up going.

[00:28:13] I don't know if there is a solution out there that's very clear to people of, like, this is exactly how you should think about a project moving forward.

I think that part of education is going to be a fascinating thing to watch, where we're going to see, will people explain the story of the web development process different now? Because right now, at least in my mind, when I think of web development, it's still very much like fundamental HTML, CSS, JavaScript.

But I wonder if that story will kind of change when we're thinking at a higher level, when we're thinking about, okay, so how do we put things onto the web? What does that actually look like?

00:28:47 - Christopher Burns

I almost think that we need a new classification for like a web developer, as in like a web engineer or a JavaScript engineer.

When I always thought of web developer, I thought, I'm going to be making PHP themes until the day I die. That's my life. I love the web.

Then when I started my own company, I was like, I don't even think I'm a web developer anymore. I write React and JavaScript and TypeScript all day, but I don't class myself as a web developer anymore because I'm doing back end, front end, middle.

When I think of web developer, I think of, like, as I said, I'm creating a website. Everything I feel like I build these days is not a website, it's an application.

So am I a web developer, or am I an application developer that uses the web? That's the really interesting ground that we're kind of going into with the Jamstack. The Jamstack was web developers, as in like the front end of the front end, but now we're seeing like the back of the front end.

[00:29:46] So much more can be done on a static website.

00:29:50 - Prince Wilson

When you bring up this classification, I actually think I agree. That new kind of classification might be something we end up seeing.

I do think that that's something that people might be seeing more of, where people are going to see, like, this is the kind of work that you will be doing. You won't necessarily be worrying so much about how does the UI look, but more how do the interactions happen and how do you perform those interactions? How do you manage all of that?

I think that is going to be an interesting space to kind of watch out for. I want to say there was that conversation, was it from CSS-Tricks is what comes to my mind, where there was kind of this conversation. I think Chris Coyier was talking about it, where there are kind of two dimensions of the front end: the front of the front end and the back of the front end.

00:30:29 - Anthony Campolo

The Great Divide, right, is what it was called.

00:30:31 - Prince Wilson

Yes. I think it's interesting when you put that perspective onto the Jamstack, where there's kind of that layer happening, where you're thinking more of how are these integrations happening as opposed to like how is the actual UI being put together?

00:30:44 - Christopher Burns

Going back to the original conversation of like this great divide, we are starting to see that with tools. You have Astro that are saying we are the front of the front end, and things like Eleventy that has always been there.

Then you have obviously Gatsby and Next that are now going more to the other end of like, yeah, but you know, you can build a dashboard on this. It's pretty overkill for a blog.

Then it's picking the right tool for the right use case, and the use cases get blurry when there's like how much interaction is needed on such a website. Like a shop is not that interactive, but it is.

00:31:21 - Anthony Campolo

Most people who listen to this show will know what Rust is and know it's a programming language. I know supposedly it's awesome and it's fast and it's amazing and it's safe and like I should be writing Rust code. Why am I not writing Rust code? Clearly I'm a failure as a programmer. That's not entirely the perception.

00:31:35 - Prince Wilson

Please don't feel that way.

00:31:36 - Anthony Campolo

Yeah, but I know that it has a lot of hype behind it. I think for good reason, because people are building awesome stuff with it.

So I'd be curious, what made you want to learn Rust in the first place, and then how you got into it, and what advice you would give to people who want to get into it.

00:31:50 - Prince Wilson

Excellent set of questions. I think the first thing to talk about is, like, how do I get into it?

My previous experience, like being in university, we did a lot of low-level code with C. Post-university, I was like, I never want to write low-level code ever again, which was just the bitterness that came back from that experience with my university professor.

But I came back and realized that I needed to give it a chance. One of the things I wanted to do is look through, like, how has the ecosystem really evolved as far as selection? I've spent most of my time in web development. I was really interested in seeing, like, how has embedded tooling and all these other tools kind of changed? What are the languages that are out there?

One of the things that came across was Rust. Rust I was just fascinated by because it kind of came to me at the time as a better alternative to something like C or C++. And I was like, huh, I have never heard of it.

[00:32:38] So I kind of just started looking into it, and I really liked how it looked and felt when I started writing it.

I think maybe it comes from seeing a lot of JavaScript, and a lot of the people who had gotten the opportunity to work with it had experience in the JavaScript ecosystem.

Some of the things, as far as how the ecosystem evolved in terms of having a package management system right out of the box, that was something that I thought was really fascinating. That's kind of what enamored me, seeing how they were thinking forward not only in terms of third-party tools, but also how do they want to shepherd the language moving forward? How do we want to make evolution happen?

So just how the foundational level of Rust is managed was something that really caught me the most.

00:33:14 - Christopher Burns

When somebody says we should write our JavaScript in Rust or have Rust write our JavaScript, what do they truly mean? Because there are two things that are being thrown around a lot right now when it comes to building the tools to build JavaScript.

00:33:30 - Prince Wilson

When I think of this particular comment, I think what they're asking for is they want reliability in their software. They want to be able to know that the software is going to work as they expect it to, as well as what I think they want is something that is quick and efficient.

I think that's what the comment is trying to lead towards. They want something that they can trust.

A lot of the time, if we talk about the history of JavaScript tooling, a lot of the time it's been built in JavaScript because it's something we're familiar with, we all can contribute to, we want that experience.

I think that the ecosystem at large is starting to kind of think about how do we use other tools, how do we use other languages that are more effective at doing that kind of work, whether it's AST parsing, abstract syntax tree parsing, or building software for our applications on our desktops.

I think that's what they're looking toward. And they're seeing these other tools that are already doing that work and figuring out how do we integrate that with JavaScript. I think that's what I hear it as more than it is using Rust to write JavaScript.

00:34:29 - Anthony Campolo

Yeah, the way I see it, it's using Rust to enable devs to write JavaScript in a way where they don't ever have to think about performance, essentially, or think about some of the higher-level stuff that you may not want to have to worry about if you're just writing JavaScript code.

So I think that's great. And so some people are like, oh, Rust is taking over web development. It's like, well, not really. People are going to be writing probably even more JS with just Rust inside of their tools. And we're already seeing this, like Prisma is written in Rust.

00:34:56 - Prince Wilson

I didn't know that.

00:34:57 - Anthony Campolo

Yeah, it's been for a while. It used to be in Scala actually, which is kind of funny. That was a huge boondoggle and they ended up having to migrate away from that.

00:35:04 - Prince Wilson

I also didn't know that. Wow.

00:35:05 - Christopher Burns

Where do you host your Rust application right now?

00:35:08 - Prince Wilson

Where do I host it? On DigitalOcean.

00:35:11 - Christopher Burns

Oh yeah. I guess you just run a standard Ubuntu Droplet, the classic.

00:35:16 - Prince Wilson

Yeah, it's really nothing special.

In one of my streams, I used to have these Nanoleaf lights in the background that I have here. I used to run an application that would communicate with my Nanoleaf lights directly on my Raspberry Pi. Instead of directly communicating through my network, you would be communicating to my Raspberry Pi, and it would do all the internet connections that I needed directly to the lights to turn them on and off, switch the colors around. So you can pretty much write Rust anywhere. It even works for embedded code.

00:35:39 - Christopher Burns

Say you're a Jamstack developer specifically. Will I see Rust in the next five years? Will I need to write Rust in the next five years? Is that something that I really should think about?

00:35:51 - Anthony Campolo

Obviously you can if you want to, but you probably don't have to. That'll be my answer.

00:35:54 - Prince Wilson

That's pretty much what I'm thinking as far as my response.

My biggest thing I want to talk about is there are going to be many languages that come out even in the next five years. I think there's going to be more languages that come to fruition right now.

It's an interesting time to see Rust, partially because a lot of tools are being built for the web with Rust. Not even just the stuff that we're seeing with Next, but things like WASM. WebAssembly is another dimension that we're seeing. Tools like that, I think, are going to sprout up a new wave of languages, I believe. I think that's where it's really going to go, is WebAssembly and what WebAssembly allows us to do. That's where the work is going to happen.

I don't think that if you're a Jamstack developer today, you must know Rust. But if you're a person who is interested in learning more about languages, maybe you've only written JavaScript, I do encourage you to think about learning another programming language so you can experience what other tools are doing.

[00:36:52] I think a lot of people have only experienced JavaScript or HTML or CSS, all these other types of languages that are out there, and they think in terms of those frameworks.

But once you start learning another programming language, your mindset starts to develop new ways of thinking how to solve problems, whether that's a functional type of programming or it's object-oriented type programming. Once you learn another language, I think those things are really fascinating to dive into.

00:37:14 - Anthony Campolo

Yeah, Chris was very against that for a while, but I think he started to turn around because he's been going through the process of learning non-React JavaScript frameworks and being like, oh, this is actually like I'm learning a lot.

Learning another language entirely is like that, but to the nth degree. And obviously Chris did other languages in college and stuff, but I think it's just so useful to think of programming languages in the abstract, like, what are the conventions of programming itself that are abstracted away from a specific language?

00:37:41 - Christopher Burns

When I was in university, I learned C and C++ and C# and it burned me. I don't ever want to look at that again. Like, please, never again.

00:37:50 - Prince Wilson

It happens a lot.

00:37:51 - Christopher Burns

Yeah, I just went with JavaScript and I've lived my life happily in JavaScript land.

One of the biggest things that I saw recently, 1Password rewrote I think most of their logic in Rust. So they still use Electron apps, but they rewrote most of the logic in Rust to be more memory efficient, I think, instead of having it all in JavaScript.

00:38:12 - Prince Wilson

Yeah, and I think Discord, they also had an experience where they were rewriting some of their services using Elixir and Rust.

Elixir is another programming language out there that goes back to saying like, I think we're going to see more tools being built and composed of services that aren't just JavaScript. That isn't to say like the winds are changing, become a Rust developer, become a Ruby developer, become an Elixir developer.

That is to say that more avenues are opening for everybody. I think that a lot of people saw web development as you must only be writing in one type of language. That allows us to have a conversation about how can we start figuring out what tools we need and how do we build them in the languages that we think about.

I'm glad people are rewriting old code, because I did an internship in an insurance company at one point, and one of the things I was really fascinated by is how older industries don't rewrite their code, or it takes much longer for that wave of rewriting code to happen.

[00:39:07] Most critical systems are still having to be maintained in this old code. How are we supposed to bridge the gap at some point if we don't end up trying to rewrite that thing?

I think a lot about how are we making sure we're enabling that conversation of what are new software or services that we could be building, but also when they're mission-critical and they are unreliable, what do we do? Do we just keep them in that language, or are we actually going to think of a strategy of how do we migrate them or do something new to them?

00:39:35 - Anthony Campolo

What are some projects that you're building right now?

00:39:37 - Prince Wilson

Some of the projects that I'm working on, I'm working on a Discord bot.

I love writing Discord bots now, or just getting to interact with Discord, because there's just a lot of fun interactions that you can make.

As far as other things that I'm working on, I've been thinking about this idea of having a web page for my stream that is using edge handlers to kind of give different information about time zones, because that's one thing I learned, that you can get country information, and I learned how to figure out the different time zones of countries.

Finally, I've learned that time is not one of those things you ever want to deal with. Just letting you all know, it's not a fun time, no pun intended.

00:40:12 - Anthony Campolo

So that would be a site for scheduling and people seeing, like, when is an upcoming event and something like that.

00:40:19 - Prince Wilson

Exactly.

00:40:19 - Anthony Campolo

That's cool. Yeah, that's essentially what we started building when we first were doing the Lunch Dev website for the React Podcast Discord, because we wanted to have a way to have events.

So our first event was building this events thing with Eleventy. It's a very cool project and it gives you a good sense, like you say, of some technical nitty-gritty stuff with dates, but it's also very useful and very practical, and we'll run up against things that you're going to hit in lots of different areas.

I'd be curious, though, to get into the Discord bot, because Discord bots is something that if you're in Discord, you'll see them every now and then, and it's not always clear exactly how to interact with them, like knowing what the commands are and what the API is.

I think that's because they're very opaque in the sense that I never really know who made this Discord bot, where did it come from, where do I find Discord bots?

So I'd be curious, what are Discord bots like? What is the code? Where is the code hosted? What language is it in? What are the actual nuts-and-bolts mechanics of what goes into these bots?

00:41:17 - Prince Wilson

So there's a lot of different tools. Specifically, I can think of only two off the top of my head.

I have an API client that I use, so a layer that's basically going to do the API calls for me, as opposed to me directly writing the API calls. One of those is Discord.js, and another tool that I'm currently using in Rust is called Serenity. It gives me a Rust wrapper around the Discord API that allows me to make API calls.

The structure that it enforces for me also makes it more clear of like, this particular function is going to be a command run against Discord's API, as opposed to, for instance, you have the slash commands inside of Discord where you use the slash in front, as opposed to other functions where you can just say whenever a user says this particular string, invoke the function.

So that's the affordance of using an API client as opposed to direct API calls, which I don't want to write, ever.

Like you mentioned, it's kind of opaque, how Discord's API is. It's because there's a lot of little things you have to do to make an API request for Discord by hand.

00:42:18 - Christopher Burns

Where do you find Discord bots? Every time I've seen it, it's like every Discord bot seems to either be done by one of two people, someone just hacking something together for a laugh, and like these people that their full-time job is to make these Slack and Discord bots and that's all they do.

They're super complex with 20 commands that you just need to do slash help to know what they do.

00:42:40 - Prince Wilson

As far as finding Discord bots, I think one of the most popular sites is just top.gg. That's the one that comes to my mind when people are looking for Discord bots.

Because I develop and write my own set of commands, sometimes I'm looking on GitHub specifically of like, does a bot exist to do this already? Which is a weird place to go for finding Discord bots if you're not a developer, but I feel like it's very apt when I'm like, how do other people solve this type of problem?

Top.gg is basically a marketplace of Discord bots, where you can find other projects.

Most commonly used, the top one I think of is like MEE6. I actually don't know if that's how you pronounce it or not. MI6, probably.

00:43:18 - Christopher Burns

I thought Meep was like the Rick and Morty character.

00:43:21 - Prince Wilson

Yeah, the...

00:43:22 - Anthony Campolo

I'm Mr. Meeseeks. Look at me.

00:43:24 - Prince Wilson

Yeah, that's the one. I, for some reason, never made the connection till now that that's what it was a play on.

But that's like an example of a Discord bot that's very commonly integrated into Discord for a lot of projects, partially because it does a lot of great work with regards to moderation. And so that's like one of the top ones that comes to my mind.

00:43:42 - Christopher Burns

I'm on my 14-year-old brother's Discord. He has like 20 bots and my Discord has like one.

The one I have is literally just GitHub telling me when something's changed on one of my projects and that's like, good enough. I'm like, yep, that's good for me.

It's kind of funny, though, when you think about that. We all thought like chat apps would take over the world and we'd have a Discord bot for everything.

Our generation is like, we like one or two, but younger generations are like, no, I just want to chat to a chatbot all day and get it to tell me everything. I want to code for a chatbot.

00:44:14 - Prince Wilson

I think it goes back to like how do we see our interactions with them and what do they afford us.

For us, we're here to talk to other people. And sometimes there's a lot of cool interactions that you can have. Some people use chatbots for like Pokemon, for instance. They have like a random Pokemon game basically within Discord.

I think that's a way to build community. I think that's ultimately what the bots' most beneficial aspect is. It's a way to come together, as well as the space itself, like Discord.

00:44:41 - Christopher Burns

Yeah, I remember being really into Pokemon Go and there being bots that would tell you where the latest raid was and people would say, I'm going for that raid.

I used to be very into Pokemon Go, not anymore.

00:44:52 - Prince Wilson

I love that for you. I have just started actually playing Pokemon Go just a few months ago and I got obsessed. It has been great.

00:45:00 - Christopher Burns

I'm pretty sure the official TypeScript Discord has their own bot to handle the question and answer because they have like 30 channels, don't they?

To help people specifically get question-and-answer support, and I think the bot helps move all those people around to get the right answers.

00:45:16 - Prince Wilson

That, I think, is an example of how we can see interactions evolving, right? That we're seeing more about like how do we create structure and form without having to do the manual work of doing that?

I think there is a lot of utility in having something that is a little bit more automated so people can find the right spaces, for instance like creating channels or creating threads specifically for people, so that way they can have that conversation about I need some support, as opposed to creating only exclusively the culture by consistently showing up in this way.

I think there's a balancing act. Sometimes there are cultural things that you need to set in a community to make sure that people do the right actions, whereas some automation helps to kind of reinforce that behavior as well.

00:45:54 - Christopher Burns

So bots are basically webhooks. We've seen bots written in TypeScript or JavaScript. You've written some. They pretty much can be written in anything.

Another event-based API that you've actually written about on your blog was actually connecting Twitch EventSub to Netlify.

Why do that? What's the use case? What's the reason?

00:46:18 - Prince Wilson

One of the things that I had on my stream previously, I had an integration so people could actually interact with my lights that I had in my background.

I had these Nanoleaf lights that were actually activated based off of redemptions on my channel. That was kind of the inspiration for me in figuring out how do I use Netlify functions to kind of interact with a physical object.

It was a lot of fun because I did that also on stream, where people got to actually see, okay, this is how you use the Twitch API, this is how you integrate this with a serverless piece of code. And here's it actually doing something in real life.

The reasoning for why I went with a function is because it was easier than me having to figure out how to make a web server to do it. That was really the biggest draw for me, and also because I needed to have something on the web to interact with. It was just the one I could do the quickest.

[00:47:05] That was English.

00:47:07 - Christopher Burns

You used it not so much necessarily for the UI of your stream, but more for background interactivity.

I'm pretty sure I read that Learn with Jason's, like all of his UI is done in React and HTML, and I'm like, I have no clue how you even put a video in HTML in React. And you put it all together like, that's a bit too far for me for today, but I know you can do it.

00:47:29 - Anthony Campolo

This is a bit of a segue to the streaming stuff because you are building stuff on streams. I'd be curious, what are you building and why did you choose to build those on stream specifically?

00:47:39 - Prince Wilson

So right now I'm working on building a Discord bot using Rust. It's to just play a board game known as Codenames, where there are two teams and their goal is to beat the other team based off of a word-guessing game.

I decided to do that on stream, partially because I want an excuse to be writing Rust. I don't write Rust as my full-time job yet, and one of the things I want to do is make sure I'm constantly using this as a space to, one, show learning.

I don't say I am the Rust expert, come to me for Rust knowledge, but more so I want to show it as it's not the scary tool that you might be hearing. It's actually, once you understand how to speak Rust or write Rust, you're able to do it too.

That's kind of why I decided to write it on stream. I want to show people, one, it's okay to make mistakes, but mostly it's a space for us to all learn together.

00:48:25 - Anthony Campolo

Yeah, I love that. And I think writing a Discord bot on Twitch in Rust is the most 2021 dev thing that you could ever possibly do.

00:48:34 - Prince Wilson

So yes.

00:48:36 - Anthony Campolo

Good job. You hit the zenith.

00:48:40 - Prince Wilson

I love it, it's fun.

00:48:41 - Anthony Campolo

Discord is another thing that you and I, I think along with hanging out on the streams, is we're in a lot of the same Discord servers, and I haven't spent a ton of time in the Party Corgi Discord server. I know that you hang out there all the time.

00:48:52 - Prince Wilson

I act as a moderator there. Full disclosure.

00:48:54 - Anthony Campolo

Oh, cool. Yeah, and you're also in the Front End Horse Discord. I don't know, maybe you're in that Discord. If not, you should be.

00:48:59 - Prince Wilson

I'm not, maybe I will.

00:49:00 - Anthony Campolo

It's a fun one. Yeah.

What do you enjoy so much about Discord servers? And then how has that fed into all this other stuff you're doing?

00:49:08 - Prince Wilson

I think very much about Discord as an application that thinks much more about communities than other tools out there.

I think a lot of the web dev community, particularly the community I spend the most time in, had to spend a lot of that time in other tools. And I think Discord allows us to kind of really not worry too much about other flavors of things that are out there, but more so gives us the enablement to have conversations, to have actual relationships.

I think also it gives us the safety compared to other tools out there, where being able to block people or mute people or all these other kinds of safety controls that you need to have, I think, to make a healthy community. Those are the reasons why I like Discord, and that's why I kind of find myself in these Discord communities, because they're showing they care about the people who are in there. We're not just another number to their server count.

00:49:51 - Anthony Campolo

So that's definitely one of the things I appreciate about it as well. And I've just made so many friends through Discord. It's really been kind of life-changing for me. So it's really cool. And I think it's such a great piece of technology.

Cool. Well, as we're closing it out here, is there anything aside from the myriad topics you've already discussed that you're interested in, or things you want to put out into the world that you're excited about or working on, or anything like that?

00:50:14 - Prince Wilson

You've touched on a bunch of the stuff that I'm doing right now as more of my personal interests.

I've been doing a lot of 3D animation stuff. I've been learning a little bit more about that, which has been fairly fun.

Once again, it goes back to things like I thought I would never try to do. Knowing JavaScript has helped me do some 3D animation things. Knowing at least a base level of JavaScript has allowed me to learn more about WebGL and I'm like, wow, there is so much to this that I just didn't know.

But it goes back to there's so many exploration opportunities for people with just a base language. I think if you start learning with JavaScript, it enables you to do a lot.

00:50:44 - Anthony Campolo

And are you using Three.js to do that?

00:50:46 - Prince Wilson

I am using Three.js to do that.

00:50:48 - Anthony Campolo

Cool. You want to talk about that a little bit? Like, what is Three.js for anyone who doesn't know? We haven't really talked about it on the show before.

00:50:53 - Prince Wilson

I am still a youngling, a fledgling, in fact, in terms of what I would say Three.js is.

But I guess I would say it's a JavaScript library to help you write WebGL code, or web graphics library code, and it does a lot of the things for you, but it gives you an abstraction so that you can generate renderings of particular imagery as well as create.

I don't think it handles physics by itself. There might be other tools that you integrate with it that do physics logic, but a lot of the tooling out there is mostly around 3D modeling.

00:51:21 - Anthony Campolo

Yeah, that's cool. That's definitely an area that I've always been interested in, but I've never really gotten into it just because I've still always been at a point where just learning deployment and databases and getting a full-stack application to work, that's been what I've been focusing on so heavily for so long.

Doing animations, it's always been hard to justify making the time to learn it. But we've been bringing out lots of CSS people recently and talking more about this stuff, and it's part of my skill set I'm trying to build up. If you're doing any Three.js streams, I will be there.

00:51:51 - Prince Wilson

I'm considering it. One of the things that is difficult about it is that it uses my graphics card, and I'm also streaming, so I don't know what the implications of using a graphics-intensive tool during a stream will be, but I'm willing to risk it and figure it out.

00:52:05 - Anthony Campolo

Awesome. And do you have any last questions, Chris, before we close it out?

00:52:08 - Christopher Burns

Do you think dark mode on Netlify is the best feature they've ever released? Ooh.

00:52:14 - Prince Wilson

I can't tell you how many people were excited to see that dark mode was a feature.

We have like internal hackathon demo days. Once they saw that, they were very excited to see dark mode be represented. I was like, I mean, I just always assumed it was dark mode to begin with just because of the darker theme.

But now that there is a dark mode, I'm very excited for it. I don't know if it's the best feature we've ever released, but I know that it's the most appreciated thing that people have had.

00:52:39 - Anthony Campolo

I learned about it in one of Learn with Jason's streams. He clicked on dark mode and I immediately screenshotted, tweeted it, and I'm like, oh my God, Netlify dark mode. It's a thing.

00:52:52 - Prince Wilson

I'm glad people love it. Do you love it or no?

00:52:55 - Christopher Burns

I think it's pretty good. The thing is, I migrated most of my sites to Vercel a few moments ago.

00:53:02 - Prince Wilson

That's fine.

00:53:02 - Christopher Burns

That's still pretty good in my eyes.

00:53:04 - Anthony Campolo

But your sites were on Netlify. You've been doing all sorts of crazy stuff forever.

00:53:09 - Christopher Burns

Yeah. My sites all started on Netlify. As I said, Gatsby 2 was when I introduced myself to the industry.

00:53:16 - Anthony Campolo

I mean, like your Redwood apps, though, because you've been running your whole Redwood app on a DigitalOcean server forever. Were you also still running your front end on Netlify?

00:53:24 - Christopher Burns

No, never Redwood, but everything before Redwood, yes.

00:53:28 - Anthony Campolo

Right.

00:53:28 - Christopher Burns

I've had my Netlify account for three years, so does that count me as an OG yet?

00:53:33 - Anthony Campolo

Yeah, I've had mine for probably a little over two years. Like, it was when I was in my boot camp. That was just what I did. I would just use Netlify to deploy a site and look at it and then send the link over to my team lead or whatever and be like, here it is. I don't need to use localhost now, right?

00:53:47 - Prince Wilson

I love that.

00:53:48 - Christopher Burns

Anthony, do you have any final questions?

00:53:51 - Anthony Campolo

Yeah. What are some communities that you enjoy hanging out in?

00:53:54 - Prince Wilson

Full disclosure, I work as a moderator on the Party Corgi Discord.

That's one of the places that I predominantly hang out in, just because I do a lot of moderation there. That space for me was really a space that helped me grow, thinking about how do I want to make myself present on the internet as well as learn what's going on in the web.

I think it was a really good space for me, because at the time I wasn't really involved in web communities. That's what got me moving forward.

On top of that, I'm in the Front End Horse Discord, which is also a fun place. I highly recommend being in there. It's very much a growing community, which is amazing to see because I was part of Party Corgi when it was first growing, and now to see another community growing is really cool.

On top of that, I mostly hang out in like the API Discords. I hang out also in the Discord API Discord, which is a mouthful to say, but predominantly I'm just hanging out, just chilling.

[00:54:46] I feel like there are so many Discords, I can't actively participate in all of them, but I very much spend my time reading up on what's happening.

It's my go-to place when I'm thinking about going to look for a framework. I see, is this something that they offer? Do they have a space where their community is hanging out in?

00:55:02 - Anthony Campolo

And are there any particular Twitch streamers that you're a big fan of as well?

00:55:06 - Prince Wilson

Mm, no.

00:55:09 - Anthony Campolo

Just yourself. You just watch yourself on repeat.

00:55:11 - Prince Wilson

Honestly, that's probably the one thing that's really fascinating for me is I don't spend a lot of time on stream.

People who I know, like for instance, like Front End Horse, I spend a lot of time watching their streams. Alex Cross is one of the people. I watch their stream. I watch Jason's stream. I watch it a little less now because I have work to do now.

As far as people who I watch on Twitch, I actually just enjoy going to different channels and just seeing what is on Twitch as opposed to just being like, I only want to watch programming things. So I spend a lot of time maybe watching video game streamers more than I watch programming streamers.

00:55:45 - Anthony Campolo

That's probably good. You need to unplug every now and then from the code.

00:55:49 - Prince Wilson

It's also, the basis of Twitch is a lot of the video gaming culture.

I think that's been also interesting to see. I tend to learn from them because of the fact that they are doing novel things to me, like how do they engage with their community? What are the things that they have interactions in their spaces? What are the rules that they set?

I like going to their channels and also just learning how did they become who they are. I think it's good because it allows me to be like, what are the things that I want my community of people who watch my stream to end up having? What are the healthy sets of rules that I want to adopt?

00:56:20 - Anthony Campolo

Well, thank you so much for being here. This is such a fun conversation.

Congrats on the still fairly recent new role. Very happy for you. I think it's a great pickup for them, and you're going to learn a lot and have a ton of fun.

Why don't you let our listeners know where they can get a hold of you and where you reside on the internet?

00:56:38 - Prince Wilson

Pretty much everywhere on the internet at [unclear]. So if you go to twitter.com slash [unclear], you'll find me. Maxwell is my first name, so it's easy to remember for people.

That's where I am on Twitter, GitHub, LinkedIn. I stream all the time at Twitch, which is much easier to remember for people.

00:56:58 - Anthony Campolo

Anything else you want to talk about before we close it out here?

00:57:00 - Prince Wilson

Nope. That's it. I'm excited to have been here. I'm very thankful for the two of you all.

I just want to say to all the listeners out there, I hope that you continue to do lovely, amazing things.

If you ever are like, I want to start a Twitch stream, you can at me at Twitter at [unclear]. You can let me know, like, hey, I'm about to do this Twitch stream for the very first time.

Or if you've done it several times and you just want somebody to view, you can still at me and I'd be happy to watch.

00:57:23 - Anthony Campolo

Thank you so much for being here.

00:57:24 - Prince Wilson

Thank you.

00:57:55 - Christopher Burns

Thank you. Bye.

On this pageJump to section