Everybody ready to go?
Chris:Yeah. Yep.
Anthony:James Perkins, welcome to the show.
James:Thanks for having me. I really appreciate you guys having me on. I know we've kinda had this planned in the previous time, and now we've finally managed to get here. And I'm super excited to be on the show. Thank you for having me.
Anthony:Yeah. You have such an awesome story where you were I I mean, it's it's awesome and bad at the same time. You got you got laid off, not fired, because of Tina's CMS. They were downsizing recession. We're seeing layoffs kind of across the board here.
Anthony:And you being a very professional commensurate DevRel person, you had so many connections that you had a job within 12 hours, I believe.
James:Yeah. I had, worked with Clark previously and, on some stuff and some freelance stuff for for Colin and and a bunch of other stuff. And I, sent him a message and said, hey. Like, lost my job and wanna know if you guys are looking for DevRel. And and then 12 hours later, the piece of paper was signed, and we were all set and ready to go.
James:It was certainly not what I expected to happen, and I think I'm probably the luckiest person that's been hit by the recession. Because even my wife got hit with the recession too, so my wife currently doesn't have a job. So it's all all bit wacky in my house at the moment.
Anthony:Yeah. Well, it's true that you were lucky. There's, you know, that saying that, luck favors the prepared, I think, is is what it is. And being a DevRel person really sets you up well because your job is to go out and to make connections. So I think that the success you had is it speaks to both your skill and your ability to make connections and to have, like, kind of opportunities lined up and also the benefit of having a position that allows you to kind of do that and make that a priority.
James:Definitely. Defro definitely does sort of lean towards making connections at dozens of companies with dozens of people every day. And, yeah, I'm really lucky, especially with my own YouTube channel and my own Twitch streams and everything else like that. That just compounds that kind of luck that, you know, I get to meet people that I probably never met before or never spoken to or just because they happen to find a YouTube video or blog post or whatever I've done in the past. So
Anthony:Yeah. Why don't we take it back to the beginning? How'd you get involved in all this or even how you learned to code if you you wanna share that story?
James:So I've been in the industry. If you don't know, I've been in the industry. My 15th year will be next year. So I've been in the industry for a long time. I learned to code from a book, a very dry book on Java, which was the worst.
James:And I had the worst experience ever learning to code. And I got my first job just pure out of luck. I worked for a company, which is where I met my wife when we worked in technical support for this company, and I fixed a bug randomly. I was like, oh, this is a weird bug. And just to put it in perspective, everybody who's really kind of younger or wasn't in the industry a long time ago, the software that I worked on was sent via CD.
James:So you would FedEx a CD to the company, they would install the CD, and then they would be able to use the software. And there was this weird bug where, like, if you try to print something, it would crash the application. And it was just happened to be like memory allocation was not enough. And it was this whole thing. And, I fixed it for 1 person just like by changing like a INF file or something like that at the time, a config file.
James:And the manager came up to him and was like, how did you fix this? Like, the engineering manager. And I was like, oh, I just figured out that, like, this is a memory allocation problem. And he said you should apply for a job. Like, you know, we do mentor juniors here.
James:You might be interested. And I applied and got rejected and then applied again and then got hired in that space. And that's kind of how my journey began. I was there for a few years, left, did some other stuff, and then I worked for Plaid as a manager. And then I got into DevRel, which was kind of around the time of COVID, really.
James:I was kind of a COVID YouTuber, which is kind of like these COVID learners where people decided to try something new. And I decided that maybe I could teach because I originally wanted to be a teacher when I was younger. So I did a bunch of YouTube videos, taught a lot of new topics around the jamstack that kind of got me where I was. Tina had seen a video of me doing a video on Tina. They reached out.
James:They needed a DevRel at the time that got me that job there. And then Clerk reached out when I had used their product. I was, like, one of the first people to ever talk about Clerk outside of Clerk, and that kinda started that relationship. And then a year later, here we are. Now I work for Clerk.
Anthony:Yeah. It's another good example of being into a product or an open source project early and being kind of, like, one of the first evangelists for it will get you noticed by the people who do it. Because if no one else is creating content around it and you do, there's an audience of 1 for them kind of looking at who's who's creating stuff. And you went from a manager to DevRel? Yeah.
Anthony:That's interesting. That's I feel like that's pretty unique. Most people I know who get into DevRel, they're kind of new to the industry or they were an engineer for a really long time, but I haven't heard many people who moved from management to DevRel. Did that feel like a downgrade at the time, or were you just really sure that that was the role you wanted, so you're willing to take that sideways direction?
James:Yeah. It was definitely in the beginning, I was unsure because, like, I've been doing YouTube, and I'd grown a reasonable following. And I really enjoyed making content weekly, and it was fun for me. And then there was a sort of promised land of almost being a full time YouTuber, but actually having a salary and stuff. And the reason I left management was because I just didn't like being a manager.
James:There's this sort of progression that people talk about, at least in old school. It's less now, but like 10, 15 years ago, it was like you become an IC, you work really hard, you become a senior. You take on a lead role, then you become the manager, and then you manage a team, and then you become a director and blah blah blah. Like, that's the old school mentality, and I followed that throughout my career. Like, I didn't have a degree when I started, and then people told me, oh, you'll never be anything but a junior unless you get a degree.
James:So I was like, well, I'll get a degree and did that and absolutely hated going to school, you know, full time and working full time, but I did it. And then I never used my degree, which is amazing. And so I have the same mentality. Right? It was like at some point, you gotta be a manager.
James:Like, that's what you do. You you lead a team, and then you become a manager, and you kinda lead that team. And, sort of, like, 3 or 4 months in, I was like, oh, god. I hate this. This is not what I wanted.
James:Like, I have made a mistake, but let's make the best of it. I was very much a hands on and technical manager, so I spent a lot of time doing, like, a lot more, hey, you're stuck with this problem. Let's talk through it. Let's decide how we get to point b, and then teaching a lot of knowledge along the way. So that was nice for me.
James:But by the time Tina had come to me and started talking, I was like, yeah, this is what I wanna do. I wanna educate people. I wanna make content for people. I wanna kinda do this all the time. It actually felt like an upgrade when I finally took the role on.
James:I was like, oh, this is definitely like an upgrade for me because I get to do something I enjoy every day versus, like, hating getting up in the morning being like, cool. I've gotta do 8 hours of management now. Now. So, yeah, it was definitely an upgrade in the end for me.
Anthony:I am not someone who sees myself on, like, a management track for that exact reason. As you're saying, I I love my job. I could do my job for the rest of my life and be very, very happy. So, it's good to hear that, someone who did that in reverse was happy with the decision.
James:Yeah. It's definitely an odd thing when I tell people that, like, yeah, I was a manager, and now I'm just like another IC who's doing dev rel. But, yeah, it was definitely an upgrade to be able to enjoy my job every day.
Anthony:Let's get into the Clerk stuff. I have only used Clerk once. There's a Redwood integration with Clerk, and I was doing a demo and wanted to check out some of the different auth providers. And so I don't know a ton about it, but I was super impressed having used it just the one time. And I know Chris, I think, kinda scoped it out as well as a potential auth solution.
Anthony:Am I right about that?
Chris:It is a fun sort of solution.
Anthony:Oh, you're using it right now today?
Chris:Yeah. It's been in production for like a a month or so now.
Anthony:Okay. So it's it's fairly new. Yeah. I remember talking to you about back when you were scoping it out. Great.
Anthony:So you can speak to it even more than me. So let's start with, letting James give us the 101, and then we can kind of get into Chris' experience with it.
James:Yeah. So Clerk is an auth provider. As you mentioned, it's touted as like a user identity tool. The idea here is that authentication doesn't have to be complex. It doesn't have to be difficult.
James:If you've been around or you've tried to roll your own auth, it's an absolute disaster and it's painful. And how do you secure these JWTs? And how do you do all these exchanges and how do you secure something like a cookie or something like that? All of that is taken away. It's abstracted away for you.
James:So essentially what you get is a few drop in components that you drop in on the page, 1 for sign in, 1 for sign up, a user button, and then a user profile. And then basically your authentication provider is done. You can set up Clerk with, I want to say, less than 10 lines of code. And then with that 10 lines of code, you can get even more powerful by doing authorization or database integrations using JWTs. And We give you these cool built in components that we just upgraded.
James:Like, it's crazy. Like, you can make clones of other websites. You can make it exactly what your brand wants to be. Before it was pretty locked down. If our small amount of customization didn't fit, you basically had to build your own with our API.
James:But now we're like down to the level of like, yeah, if you don't want this button to look a certain way, just add some CSS and we'll make it look the way that you want. And there's basically the spiel authentication is supposed to be easy as, say, adding CSS to your page. Like we want to make it as easy as possible using built in components. We want the front end devs to be able to do this and not rely on back end devs or worrying about where do I store all this information.
Chris:Yeah. I guess this is now my time to talk. I integrated Clog before this update. I wasn't happy with the default UI of the client, so I built my own user interface.
James:Which is very nice, by the way. It's very, very nice. It looks great.
Chris:Yeah. I added in some Lottie animations and a few other things. And my opinion on Clergh is that authentication is this, like, really big hidden dip when it comes to building applications.
Anthony:Could you give some context on what you've done previously to Clerk in terms of, like, your previous auth solutions? I think that would be useful for the listener.
Chris:Yeah. Yeah. Yeah. Yeah. My previous auth solutions so Everfund users have been migrated swiftly from auth0 to magic.links, and then magic.links to Clerk.
Chris:And hopefully, this will be the last time. I'm pretty positive it will be the last time for sure. And what I figured out along that journey is that authentication is really hard, but it doesn't end where the user is logged in. It goes a lot deeper through permissions to organization management, even things like billing and how do you, like, restrict users depending on billing. There's a lot of, you could say, boilerplate code there that is very similar on almost 90% of projects.
Chris:And I know this is all in Clerk's road map, so I should probably let you explain it more.
James:I mean, you can continue on first. Like, let's first start with how was the authentication experience for you going from Auth0 MagicLinks to Clark. Like, I know that you had a pretty reasonably good experience, but how did that actually feel going from there? And then we could talk about future things.
Chris:Yeah. Well, I am very unbiased, even though I'm probably biased too, Clark now. I still found it pretty annoying. I'm pretty what's the word? Not necessarily annoying, but what's the edge casey.
Chris:It's very edge casey still because, obviously, I've done migrations. So you have to say, oh, has this user logged in to the previous system? Yes. Then now you need to create them account under Clerk because you don't want a previous user to have to sign up. You just want them to log back in like, hey.
Chris:Everything's just moved forward. So there was a lot of these edge cases that I needed to build in, but most of that also was I wanted social logins, and I've never quite achieved that with the previous providers. So now Evofunt has social logins and magic links provided by Clerk. The only thing that I really have left on my my list of things that I really wanna knock out is actually removing the Clerk authentication email and listen to a webhook and just provide an email myself. Why?
Chris:Because I'm very pedantic, and every single other email from Everfund comes out this really nice template that I built, except for the login email. The login email is in Clerg. And it's a nice email, but I just want all my emails to come from the exact same template, Like, to the line, like, they all just look identical. No like just chuck it in there and see what happens.
James:Which is fair. That is a thing that we've had requested a few times, which is like, hey. I'd love to just have a webhook that I can send my own email from or something like that. Even though our emails are pretty, like you said, pretty nice. You want to be able to do something with this email with your template and the styles and all that kind of stuff.
James:Like right now, it's very much just, you know, like, we give you a very basic email editing that you could edit through. You can I think we'll talk offline, Chris, about what we could do to make that happen today, but we can talk about that after the fact for sure?
Chris:But the biggest thing I think is like the biggest side tangent is emails are really hard. Like, actually coding a really good email template is actually really, really hard, especially if you got to involve customization. Obviously, we do it ever when you do it at Clerk, and there's no, like, standard path. We used a tool called Maisel that lets you use Tailwind, and then it compiles it down to, like, just standard CSS for templates. And then we've spread it out across all of our providers, so obviously to Crisp for support, to Postmark for transactional emails.
Chris:I know you can edit the email in Clerk, but I don't know how much you can edit it. It's not something I've looked at. It's something I've gone, I want to do that, but I've got 20 other things to do first.
James:All I'll say on that matter is there is an option now that you can actually switch off the emails being delivered by Clerk, and you can listen for the webhook for emails and then send your own. There you go. So I think we can get what you want done today, luckily.
Anthony:Well, we, take it back for listeners who are kind of totally new to all of this stuff, and let's say like, what's going to be like a hello world experience for Clerk. So say I have a React app or a Next JS app, and I wanna create, like, a guest book that will let someone log in maybe with a social provider, maybe with their email, and just, like, write a message, and then that will be, like, saved to the website? Like, how would I go about doing that with Clerk?
James:Yeah. So with Clerk, the way that we do this is a lot of it's done in in sort of the Clerk dashboard. This is where you can think of how you can set that component to look, feel, what kind of social provider you'd want. So let's say today you wanted to start a new application and let's say it's this guestbook, right? We have this option where you click add application and you tell Clerk what you want to use.
James:Do you want to use email addresses? Do you want to use usernames? Do you want to use a phone number? Do you want passwords or passwordless solutions? Tell us what kind of authentication providers you want to use.
James:So social logins, we offer 13 standard social logins, things like Apple, Dropbox, Discord, Google, blah blah blah.
Anthony:It's very impressive. It's a very impressive number.
James:Yep. Yeah. And then on the flip side of that, we do offer web 3. So Metamask is part of that right now, and others are coming down the line. Then once you, you know, you name it whatever you want it to be, you click finish, and that's essentially now you're ready to go.
James:At that point, you've got your React app. You install the Clerk React package. You wrap your application in Clerk provider, which is essentially a way for us to tap into everything. And then at that point, you decide, do I have public pages? Do I not have public pages?
James:And you can use things like is signed in, which is a component that essentially says, are they signed in? Yes or no? If no, you can redirect them to sign in page or if they are signed in, you can see the application. Then you've got options at that point. You can use our JWT templates to essentially hook into your database of choice.
James:We've got things like Superbase, we've got Hazura, we've got Fauna, we've got Firebase, and we've got N Host coming down the line. So you have these options of databases that you can automatically hook into using RJWT, which is just a hook that says get token. Get token, and then whatever name, Hazura, Superbase, whatever. And we'll essentially do all of that for you. And then you can just insert whatever you want into your database.
James:You can do things like checking for roles. Essentially, all of the hard work is down to a few hooks and then a few components versus having to write a bunch of APIs and blah, blah, blah. And then we offer things like securing your APIs, right? So let's say for your API, they must be logged in to make an insert into your guestbook. Right?
James:You can't just insert and not be logged in. We have this API wrapper that's called Require Auth. If they're not logged in, they'll just get an unauthorized request. If they are logged in, you have access to all of the Clerk session and user information. So you can do things like request user email address, and that will be their email addresses or first name, last name, whatever it might be.
James:You have access to that information that you can then use to insert into a database. So if we were making a guestbook, you'd need the Clerk Provider, the Sign in Components, which can be hosted or can be self mounted. It's up to you. We host a version automatically out of the box. You need some sort of database of choice.
James:You can use one of our JWT integrations or you could use whatever. You can make your own JWT if you really wanted to. Then you just need to hook those together and then secure API using Clerk and then you're off to the races. So probably you could do a whole guess book in a few few lines of code in the front end and a few lines of code in the back end or an API for Next. Js or something like that.
James:So we try and make it as easy as possible for anybody to get started and secure their apps.
Anthony:Yeah. That's pretty awesome. And I will say, if you're using Redwood, you will write 0 lines of code because you will run a command, yarn Redwood setup auth clerk, and then it will write those lines of code for you.
James:Exactly.
Chris:It really depends, though, because the redwood plug in of Clerk has one critical flaw, and that is that it uses the Clerk pop up as the default method. And if you don't want a pop up model, you just wanna, like, display it in a page, you gotta go down the custom room. But I'm pretty sure that's going to be fixed pretty soon.
James:Yeah. I think that's part of our road map for that that stuff.
Anthony:Yeah. But for a hello world experience, that's fine anyway. So that's not really an issue. It is only an issue for someone who's already running a company that needs branding.
Chris:Yeah. Of course. Of course. There's 2 other things I want to really jump deep into. One of them's a wharf on a secondary layer.
Chris:Like, could I provide a auth to my clients through Clerk and, like, authenticate a URL for another app? You know what I mean? Like, you know, like, so many apps do it these days, like, handshakes to give data to a third party company. The second one is how the Clerk SDK is actually built because this is actually a massive problem and a really interesting subject for sure on how do you get around cores? How do you make sure the clients are authenticated?
Chris:Do you inject the React components into the code, do you load iframes? There's so much problems of navigation and security in this area that I think you would make a really good conversation.
James:Yeah. We can talk about, some of that. I probably don't have the answer off the top of my head for the first question.
Chris:And that's fine because it's a pretty complicated battle.
James:Yeah. It's a pretty complicated question. And for the listener at home, basically, the question is, can we
Chris:Be an authentication provider for a third party company.
James:Yeah. Right. Which makes it a bit more complex. And I think with organizations, that kind of stuff is kind of where we're we're leaning towards with our new organization stuff is being able to be like, okay, yeah, I have this organization A that wants to provide some sort of B2BSaas style software, and they need to also authenticate their users with Google auth to then pass down maybe, I don't know, calendars or drives or whatever. That's kind of our idea with organizations.
Chris:It's a really hard subject. For example, you've closed a deal with another company. Oh, I'm gonna give data from Everfund into your company. Great. And then you go, okay.
Chris:So now you got 2 user bases, but we need to give that data from company a to company b. But how does company b authenticate that they're logged in through company a without the old style, the very classic style? The old style would be, oh, just pass an API key around. Just generate an API key and stick it in their dashboard, and it will work. And very much that is true.
Chris:That will always work, but a much better experience is just saying, click this button to log in with company a. They click that button. They go, you're logged in with company a, and then the connection is now complete. This is one of these things that I see constantly in big companies and think, like, how do they achieve that so easily? And they don't achieve it easily.
Chris:Authentication, OAuth style connection.
James:Yeah. It is indeed. And that's the kind of things that we're thinking about how we solve for those sort of like B2B SaaS or organizations that want to provide that kind of stuff. That's the kind of stuff we're leaning into more now than probably 6 or 8 months ago or a year ago where our core functionality was like, hey. How do we get b to c done?
James:Or how do we get simple b to, you know, maybe still b to b, but, like, b to b with no, like, required back channels to each other, which I think that's the kind of stuff we're looking to solve today.
Chris:I was gonna say the second question. I guess I was always gonna move on to it.
James:Yeah. So talk about the second question where, like, essentially, people wanna know how how we kinda handle this. Like, how do we go from Clerk to this, let's say, Next JS package, and then, like, we mount components. And, like, how does that all work? And, like, what are we doing behind the scenes?
James:It's a complicated question. Involves a lot of work on our front. So with Clerk, we essentially have this sort of back end core, and that's where all of our platform specific SDKs kind of feed into. So we have this core functionality that's implemented. We use this Clerk backendcore, and then we have things like framework middleware or platform all stay handling, custom logic, all that kind of stuff that we may need to make an SDK work.
James:But essentially, what we're doing a lot of the time, if you've ever seen Clerk and we're like, oh, yeah, we've made an update. And if you've come to our Discord and said, hey, I found this weird bug and I don't understand what's happening. And then we're like, hey, we've made an update and like, there's nothing for you to do. There's no, like, magic for you to do. Like, don't install the newest package.
James:The reason is is because all of our SDKs essentially use official JavaScript SDK behind the scenes. Like essentially we're just wrapping up this JavaScript SDK, which gives us the ability to essentially offer all of the things that we want to do and how they all kind of work. What's cool about this is the JavaScript SDK is open source and open to the public. So you can go in there and start digging around into that and see what are we doing. In fact, basically half of our packages are open source in some way.
James:So you can go and look and see how we're doing all these special things. To talk about, like, the technical aspects of that is above sort of my pay grade, I suppose, is the right word to say because I got to see it from the other side as a consumer for a long time. And I was like, oh, this is just cool. Like, report a bug and then it's fixed and then magically it all works. And I didn't have to do anything.
James:Like, there was a lot of that during my time. But, yeah, we basically have this JavaScript SDK that shows you kind of what we're doing and how we're doing it. And you can go and, like, essentially look at our back end core, how that kind of works, how the back end code works. So basically, at this point, it's mostly open source software that you can go and sort of poke around in.
Chris:That's actually really interesting. So to my understanding of that, it's basically each library is a wrapper around a script, a JavaScript script. I guess it's in the UMD format hosted on a CDN, so you can easily version that behind the scenes without having push forward the NPM version. This is something that I've obviously dug deep into myself and know that it gets very messy very fast. Like, do you version control the UMD version on a server, or do you just be like, whatever script dot JS is, it's like the latest version?
Anthony:We actually did a whole episode on this. That'll air before this one.
Chris:Yeah. Obviously, it's such a big problem, but it's not really a problem. It's just like, do whatever you want because that's how the world works. Colin, your CEO, put out a tweet saying, should we make something official? I am telling you, you should make the Next.
Chris:Js of plugins.
James:Yes. Oh, yeah. Because it
Chris:would be so, so useful. Every time that I've looked into and built JavaScript SDKs, it's such a black magic, and even I struggle to explain it, and I've built one.
James:Yeah. I wholeheartedly agree. So the tweet that you were quoting was, should we make a Next. Js like components for components? So what should Next.
James:Js doing but for components because that's kind of what we've done. We've like componentized a lot of APIs down to like a level of like, hey, you just dropped this component in and here's a hook and here's a component and here's it just works. And don't worry about what's happening behind the scenes. Like, we're doing all the API stuff for you. Just wrap your application in it and do that.
James:And we did that with, with Stripe. We have a use Stripe subscription that does the same thing. We built one because who wants to spend 4 hours trying to figure out how Stripe's API works when instead you can just install, use Stripe subscription and then go from there? We believe that a component is like worth a 1000 APIs is the saying that we have behind the scenes that you may see Colin tweet occasionally. But, yeah, like, that's what we believe, that we believe that, like, components can simplify a lot of this annoying APIs that we've had to deal with for the last decade or so.
Chris:Yeah. And what's actually really interesting is that it renders the UI to any framework, so Svelte, Vue, React even. What's that actually UI layer built in? Is it React that you then compile down, or is it built in vanilla JS?
James:I want to say that it was React, but don't quote me on that. Colin, if you're listening, don't quote me on that. Please don't.
Chris:Because that is really also a hard part of building an SDK is actually building in the UI to it. Headless SDKs are so much easier because it's all just functions, But when you actually have to build in a UI to it, it gets complicated so fast with, for example, React. Do you make a hook that they call a function and it will just pop up open something, or do you put a JSX block in? Because some people would say you could do EVA. It's really the Wild West of this area, and I should probably get Colin on this podcast to speak about that.
James:Oh, yeah. He'd love to he'd love to nerd out about what goes on behind the scenes. There's a lot of like in our Next. Js package and in it, you know, all those kinds of packages, like, we're very much just a bunch of typescript files and TSX files to build out those packages. But, yeah, like, he would love to get down into the nitty gritty of, like, how that all happens and what we do behind the scenes and and all those kinds of things in the SDK.
James:And I imagine if I send him a message, he'd be like, hell, yeah. I want to come on the podcast. Yeah. Let me on there. I love to talk about this stuff.
James:So, yeah, he gets really excited. We actually just did a technical talk as part of our launch week for components v 4 that talked about how we actually built all of our new components too. So, yeah, that's something to listen to. We actually have Colin and the developer who built out all of those components and the new new layers that we're using.
Chris:Yeah. It's really interesting because when I'm looking at this, source code now, I believe it's React, but you're using really interesting things like React dot clone element and a lot of normalization and all that. It's super interesting what you're doing over there at Clerk in regards to not only the authentication, but also the building of these components. And I guess the biggest thing that we've not covered is why do we have to do it this way? To put it simply, Kors, cause is a massive limiter in authentication.
Chris:And what you tend to find is, say, you could build something 2 ways. 1 would be an iframe. So you just put over an iframe over whatever you need to and communicate inside the iframe, but that also has limitations about sharing data between the parent DOM and the child iframe. So you gotta navigate that. So you go, okay.
Chris:I wanna take the other method and inject actual HTML CSS onto the page. And then you go, okay. That's when you need your view layer. You know, are you gonna use something like a cut down version of React, like Preact, or are you just gonna build it completely in vanilla JS? These are things, obviously, that are very technical, probably for another day.
Chris:Definitely for another day. Yeah. What is the next, would you say, big milestone at Clerk, and what are you really aiming for? You quickly mentioned on organizations, but what does that truly mean?
James:Yeah. So organizations, if you're listening and you've never played with Clerk before, We introduced Organizations as sort of like this option to allow you to create businesses inside of. So if you want to do B2B SaaS, like business to business SaaS, this is what Organizations is built for. Essentially, what it allows you to do is create organizations and members can belong to one or many organizations. They can have roles within those organizations, and then you can do certain things with those organizations.
James:For example, if you use Stripe, you could have payments and things like that on top of that layer and essentially allows you to do that kind of thing. So we have a few things that are coming up. Organizations is a big one. What we have now is an okay offering, and we're starting to see people use it and ask questions like, is there going to be an organization admin component that I can drop in on the screen and start administrating, you know, organizations and being able to do it that way? So that's next on the list.
James:And then truly, it's just getting more people to use Clerk and try Clerk and enjoy Clerk, which is where I come in. A lot of people have either never heard of Clerk before, which is one of those things that like building in a space with dominance like Auth0, who aren't exactly the world's best authentication provider, but because they've been around for so long and they're spread so wide and they have a lot of backing, that's automatically something that someone goes to because they're like, I've heard of them before, and I see ads for them and all that kind of stuff. We just want people to try Clerk, I think, is where we're getting at the moment. And then we're going to be building up more B2B features that allow you to hone down that scale and improve our organizations. And then we got some more smaller stuff coming in, like new integrations with new partners like N Host, for example.
James:We just did another integration, which I completely forgot about, and I'm really sorry with Graphbase, which is another one of the Netlify Jamstack Innovation Fund people. I think I I wanna say they are, but maybe they're not. Chris, you you might be able to
Chris:Graphbase. No. Graphbase is Frederick Braun's startup. Yes. That's right.
Chris:Sorry. Yeah. No. No. He's not in Innovation Fund.
James:I I get confused. There's so many people in the Innovation Fund that I'm working with behind the scenes, But, yeah, like, we we just added them to to our list, and and I'm gonna be working with a few of the Jamstack Innovation Fund people to do some integrations and lower level stuff. So, yeah, that's kind of what we're working on right now, and we'll have more stuff coming up, I'm sure. You'll see a lot more of me appearing in random places like live streams and podcasts and all that kind of fun stuff.
Anthony:Yeah. Do you have your own live stream, or do you stream from Clerks Twitch account? Like, how do you I I'd live stream myself quite a bit, so I'm curious about the the minutiae of livestreaming.
James:Yeah. Both. So I do livestream on Clerk. We at least livestream once a week for office hours for Clerk, which is essentially We call it office hours, but it's not really office hours. It's more of like an hour with somebody.
James:It will either be Colin where you can ask direct questions or hang out or learn about some new thing. And then I livestream on my own Twitch channel where I do a lot of like SaaS building. Right now I'm on my 3rd SaaS, all like micro SaaSs. So that usually involves Clerk, even though before I didn't work at Clerk, but they always get my free advertisement everywhere. So yeah, I do a lot of live streams over there on my own Twitch channel about 2 or 3 times a week for a couple hours, usually at, like, 3 PM Eastern onwards.
James:And usually, I build some sort of microsass, And usually, I end up taking advice from my viewers. And we run polls. And we decide on tech stacks that way. So it makes it a bit more adventurous because usually I end up with stuff I've never used before. And then I start down the learning trail while trying to build something that actually functions, which is always fun.
Anthony:Yeah. It's awesome and super fun streaming. I'm in a similar boat where I stream from my company stream. Are there other places on the Internet that you wanna direct people to learn more about Clerk or about yourself?
James:Yeah. They can jump in to Clerk.dev. That's our homepage. You can learn a lot about what we do and how you can integrate yourself and what we're aiming to do with the industry. You can follow us on Twitter as well.
James:It's Collect Dev. And then for me, you can find me on YouTube. Learn to code with James is the URL. So it's youtube.com/learntocode with James or Twitch, which is twitch. Tv/jamesperkins.
James:Those are the probably the biggest places you'll find me. I put out at least 1 video a week, sometimes 3 videos a week. Just depends on how the the world spins. But, yeah, mostly come find us at clerk.dev, and then join the Discord where you can chat with pretty much everybody and anybody who's using Clerk and all of us in the team as well. We're there every day.
Anthony:Anything else from you, Chris?
Chris:As the developer advocate, when are you going to push out officially the new logo? That's half out, half not.
James:Oh, man. Yeah. So there's a discussion right now. I can tell you, secrets on the inside because Chris already knows about the new logo and everything else. We are building out the new sort of marketing pages and everything like that.
James:Once we've done finished all of that, we're gonna push everything out all at once. Yeah. It's kinda weird because we have, like, the new logo on the Twitch side of things and, like, nowhere else.
Chris:No. No. You have it on the components as well.
James:Oh, yeah. That's right. We have it on the component. Yeah. Yeah.
James:Yeah. But that's it. Nowhere else. And it it's it's funny. Like, we've got this half changed marketing.
James:But, yes, it should be pretty soon. We're building out the the home page right now with the new marketing.
Anthony:So I was just saying, by the time the listeners hear this, it'll almost certainly be the new one.
James:Fingers crossed. I'm not guaranteeing anything. But, yeah, in in theory, it should all be done by then, and I'm super excited. So I didn't know about the new logos until I started at Clerk. And then I was like, hey.
James:What's this logo? Like, I keep seeing it, and then, like, they sent me the new marketing pages, like, in Figma. And I was like, oh god. We need to get this out ASAP. This is awesome.
James:So, yeah, working on that right now.
Chris:Building marketing websites is a fine art in my opinion.
James:Yes, and that's why I don't do any design or any marketing building, because they're probably the hardest part of the whole product. Get it wrong and no one will stick around. That's for sure.
Chris:Exactly. Well, thank you so much for joining us today, and I'm sure this won't be the end of our relationship with Clerks. Most definitely not.
James:Thanks for having me on. I really appreciate it.
Anthony:Sweet. Awesome. Awesome. And cut.