Software Huddle - Building Generative AI Apps with Hassan El Mghari from Vercel

Episode Date: August 30, 2023

Over the past couple of months, Generative AI has taken the world by storm. OpenAI’s launch of ChatGPT was a turning point. With each iteration, the Transformer has improved its capabilities while t...he underlying compute power needed to do the same task has seen massive efficiency gains. This trend has fueled a rise in the series of apps powered by Generative AI. Hassan is a Senior Developer Advocate at Vercel, the company behind the famous Next.js framework. In this episode, we discuss interesting AI projects that Hassan has worked on. We talk about the future of generative AI, the impact it will have on developers, and Hassan shares his advice for newcomers in this space.

Transcript
Discussion (0)
Starting point is 00:00:00 I was just blown away by the ease of creating very impressive applications with not a lot of code. That just drove 100k signups in a single day and like 3k in revenue, like right away. And I think the simplest answer I give everybody is just start building. Hey folks, this is Sean Faulkner and I'm super excited for this episode of Software Huddle with Hasan El-Emgari from Vercel. He's a senior developer advocate at Vercel, but today we aren't actually talking about Vercel or Next.js. We're talking about Hassan's side projects. Over the past year, in his own time, he's created several viral side projects that leverage the era of AI. These include projects like AI Commit to automatically write a Git commit message for you and RoomGBT, which now has over 2 million users.
Starting point is 00:00:46 We cover a bunch of different things through our conversation, but the topic I'm particularly excited about is our conversation around the democratization of AI. Hassan is an AI expert. He's a front-end engineer, but he's building apps that do amazing things, leveraging existing APIs that unlock general AI capabilities. I think this is a fundamental shift in how many products will start to be built. You don't need to be a scientist or ML expert to take advantage of generative AI. Very few companies are going to build foundational models, but many are going to use AI to create new and amazing experiences for customers. And a big part of our job as engineers to understand the landscape of the capabilities of generative AI so that we can take advantage of that and build incredible applications. So if this topic is
Starting point is 00:01:29 interesting to you, or you have suggestions for guests or topics for the show, reach out to me or Alex on Twitter or email, and let us know. And please subscribe to the podcast so you don't miss an episode. With that said, let's get to the show. Hathad, welcome to the show. Hey, thanks so much, Sean's get to the show. Hassan, welcome to the show. Hey, thanks so much, Sean. Glad to be here. Yeah, thanks so much for doing this. So we got a lot to talk about, you know, and I think before we get too into the weeds,
Starting point is 00:01:54 why don't we start with who are you, what do you do, and how did you get to where you are today? Yeah, for sure. So my name is Hassan. I'm a senior developer advocate based here in New Jersey as of right now. I've been working at Vercel for about two years and did a brief DevRel stint before that. And before that, I was in college. So I kind of started DevRel right out of college, besides a couple of engineering internships.
Starting point is 00:02:19 So I've been coding for a few years, been loving it lately. The AI stuff has been really, really interesting, and I've just been hacking on a bunch of AI side projects. Yeah, you could say AI is at a maybe all-time hype cycle, the all-time peak cycle right now. So that, of course, is a large part of what we'll be talking about today. I was thinking back, you know, kind of leading up to this interview, I feel like you and I have been interacting
Starting point is 00:02:45 in some capacity online for, I don't know, maybe a year, a little bit more. Like, I think we first met each other during some kind of online panel that we did on like a Saturday morning about Devolve Relations. And then I remembered
Starting point is 00:02:58 I'd reached out to you afterwards on Twitter saying that I'd liked what you had to say during that conversation, which was true. And I think part of that is because when it comes to developer relations, I think a lot of people kind of have some crazy, sometimes misguided ideas about what it is or what it should be. But I remember thinking, you know, this guy gets it.
Starting point is 00:03:16 And then I think you did a Twitter space that I had organized. And then I met you in person in the real world a while ago at a Vercel event in San Francisco. But I, you know, I always knew you as a developer advocate for Vercel, which is great. But then suddenly in the last, I don't know, four to six months, you've had a few of these AI projects that are really caught fire. And of course, that was punctuated by all the interest and growth around ChatGPT and generative AI and the hype around LLMs and so forth. But now you've reached like tech, you have some tech fame, I guess you could say. And, you know, I feel privileged to say that,
Starting point is 00:03:55 hey, I knew Hassan before all these people saw that. So I saw, you know, greatness even way back then. So I want to, you know, talk about AI and building AI apps, which, you know, I think you've now sort of established yourself a, you know, a bit of an expert or at least been successful as a capacity in that space. Where did you sort of first get exposure to AI? Was this something that you took as part of your university education? Or was this something that you found later when you were just sort of starting to play around with stuff because it was interesting? Yeah, thank you so much for the kind words, by the way. It was definitely something that I
Starting point is 00:04:34 discovered fairly recently, you know, ever since ChagiBT came out late last year. It was just something that was super intriguing to me. You know, we had the Web3 boom that happened a couple of years ago, and I didn't really buy into that very much. I know a lot of people jumped in at first, and I thought it was a cool technology that had a lot of interesting use cases. But AI is just something, you know, revolutionary. You know, when I looked at ChatGPT, a lot of people thought this, which is like, this is going to change the world, right? Like, this has an infinite amount of use cases, and the stuff that it can enable is crazy. So that's really December is when I started hacking on AI stuff about six, seven months ago now. And I was just blown away by the ease of creating very impressive applications with not a lot of code.
Starting point is 00:05:26 I think that that's the main thing that AI enables that I just genuinely love. Like it's so easy to build applications that if you show them to, especially a non-technical person, they're going to be like, oh my God, this is amazing. How did you build this? Like you must be a genius. When in reality, you're calling like two APIs and getting back a response and formatting formatting and putting it on the page. So that's what I genuinely like the most about it is how easy it is to build impressive applications that are also actually useful in the real world. Yeah, I mean, I think part of that is a lot of this stuff feels so new.
Starting point is 00:05:59 And so essentially, you know, you can do amazing things through some of these, you know, public APIs or even paid APIs that look like magic, essentially. And you can do incredible things in terms of building an application. But for people who aren't in the know at all, they think that you might be responsible for all that magic that's going on. When in reality, it's like, you know, huge teams and probably tens of years of research. And, you know, I talk about this hype cycle around AI right now.
Starting point is 00:06:26 And I think, which there is, of course, there's tons of interest, but like AI research, you know, goes back to, you know, a very long time. You know, it's not really, it's not like went free. It's not like suddenly this like new thing. A lot of this stuff dates back a very long time, you know, decades essentially. But, you know, decades, essentially.
Starting point is 00:06:45 But, you know, we've had some breakthroughs. And of course, with things like GPUs and public cloud, you can now do these things at a scale that was not even to have them before, which is essentially, I think, allowed us to get to this new place where we can essentially leverage AI into building, you know, practical applications, even as a non-expert. A hundred percent. Yeah. I mean, it was, like you said, the AI is not new. We just hit that really, really big inflection point last year. And that's where everybody started to get into it. I had actually played around with it a few years ago, actually, in college,
Starting point is 00:07:18 took some ML classes, built some classifiers. I still remember when COVID hit, I built a classifier that could take a CAT scan of someone's like lungs and it could determine with like an almost 90% accuracy whether that person had COVID or not. Because we were in, it was a time where COVID tests were in a very, very big shortage.
Starting point is 00:07:38 And so doctors were trying to find other ways to identify how patients had COVID. So I've really loved playing around with it, you know, a while back, but I didn't really see, you know, really strong use cases. And there also wasn't really a happy path on how to use that stuff in the real world. You know, I just wrote essentially a Python script using TensorFlow. And there was a lot of steps to go through from having that Python script to having an actual deployed web application that's leveraging that in production. Whereas now you can kind of, you know, rely, like you said, rely on these experts and there's researchers with PhDs and these large teams that have been
Starting point is 00:08:14 doing amazing research and then they just open source it and make it available as an API for us, you know, application developers to use. Yeah, you know, going back to when you sort of started building applications in the space, I think you said it was in December of last year. So it hasn't been that long. And so you're talking about like eight, nine months. What was your first exposure to generative AI? Like, what was that sort of key moment that got you interested in, hey, I, this looks like something interesting or different than I've seen before. And I want to start like playing around with it. Yeah, so it was actually a very specific use case at work. So what happened was I had just built an image gallery for Vercel
Starting point is 00:08:53 because we just had our Next.js conference and we wanted to share photos. And we didn't want to just use something off the shelf. We wanted to build like a really nice, you know, Next.js and Vercel image gallery and also make it an open source template that anybody can use. And since then, it's really cool to see like the tailwind team and the react Miami team and a bunch of these other conferences use it. But but essentially, we had built that, and we were about to release it. And our, our CEO Guillermo came in and was like, Hey, like, none of these images have alt tags. And there was, you know, there must have been like 500 images in there.
Starting point is 00:09:25 And we were just like, you know, it's going to be a pain to go through every single one of these and add alt tags. But obviously, you know, that is the accessible thing to do. That is the right thing to do. So I started thinking about how could I use AI to accomplish this?
Starting point is 00:09:39 Because I knew there was, you know, there was text to image models like stable diffusion. I was like, there has to be something that's image-to-text. So I went, I did some Googling, I ended up finding a model hosted on Replicate, which is a service that I love, that I use a lot, which essentially they take a lot of these machine learning models and they essentially offer them as an API. So I saw that they had one that could take an image and output text. And I essentially just ran all the images we had
Starting point is 00:10:09 through that and saved the alt tags as metadata in the images. And it worked amazingly well. Out of 500 images, I think we had two of them that had got wrong. I think it accidentally classified a man as a woman. And then there was another one where it didn't describe what was happening in that directly. But yeah, I fixed those two. We shipped it. And it was great.
Starting point is 00:10:30 You know, the image gallery worked. And I ended up open sourcing the solution. I called it an old text generator. And that got a good amount of attention on Twitter, even though it was like a 30 line, you know, API route. And people were like, oh my God, I'm going to use this for my website. This is awesome. And so I started to see that people were, were extremely interested in this, this relatively simple thing that I built. And I also saw firsthand, how many, you know, how many hours it saved me. And so that's when I started to really get interesting and really get interested in it and double down on building more AI stuff. Yeah, this seems like seems like part of the thing
Starting point is 00:11:05 that you keyed into there was recognizing that there's got to be some sort of AI solution to this. And do you think maybe that is essentially a new type of toolkit that application developers are going to need to sort of have in their tool set is recognizing when they can leverage tools like AI. So they don't necessarily need to be an AI expert. They don't need to necessarily know
Starting point is 00:11:29 how to build a neural network, but they kind of need to have a sense for, you know, is this a problem that I could solve with AI? It's kind of like knowing that, you know, this is a problem I should be able to solve with a, you know, like a graph algorithm or dynamic programming or something. Like having essentially enough knowledge
Starting point is 00:11:44 to be able to recognize what our problem picks a type of, you know, era AI paradigm, and then going into essentially finding the right tool for the job to do that. 100% I think this is going to be a really, really big skill. I think Sean Wang's goes by swigs on Twitter, he coined this this term of AI engineer, which is essentially just like a web developer who knows how to use AI APIs. And like you said, it's just that baseline of familiarity of like, you know, I know that like these 20 APIs exist and that I could potentially use them for these use cases. And so thinking about that as an extra step in your kind of problem solving toolkit as
Starting point is 00:12:22 a developer, I think is going to be very, very important moving forward. So I want to talk about some of your, you know, well-known sort of AI side projects that you've worked on, starting with AI Commits. So maybe you could start by describing, you know, what AI Commits is, if you can sort of figure it out from the name of it. And, you know, how long did it take you to build it? And what was sort of the original out from the name of it. And how long did it take you to build it? And what was sort of the original inspiration for it?
Starting point is 00:12:47 Yeah, so AI Commits is the CLI tool that I built that essentially writes commit messages for you. So it'll scan the changes that you made to your project and your last kind of git commit and just write a one-sentence git commit message for you. The inspiration behind it, honestly, was one of my good friends, Theo, tweeted out, like, writing commit messages is so annoying. I wish I could have AI write them for me. And I just saw that tweet. And I was like, all right, let's see if we can do something.
Starting point is 00:13:15 And I never actually made a CLI tool before. And so I just Googled literally how to build a CLI tool with Node.js. And I went and hacked something together in the span of like four hours that essentially was a Node.js CLI tool. It made one call to the chat GPT API. All it did was it did like a git diff to grab all of the changes. It sent that to chat GPT and it said, using this git diff,
Starting point is 00:13:38 please return a concise one sentence summary that describes these code changes. And that's it. I saw that and I essentially returned that to the user and they can press like yes in the CLI tool to commit that text. And so I built it in four hours on a Sunday. I replied to Theo's tweet and I was like, hey, is this what you're thinking? And I just replied with a quick video demo. And that reply ended up getting hundreds of likes and so many people DMed me.
Starting point is 00:14:06 And I was like, I want this right now. I want this. And so I was like, all right. So I spent another maybe six hours, seven hours on Monday kind of cleaning it up. I changed the framework because the framework I used before didn't let me publish it as an NPM package.
Starting point is 00:14:22 And I wanted to make it very usable. I think that's a consistent theme in a lot of the things that I do. I try to make the user experience very, very high because that's one of the biggest things that matters. And so, yeah, I spent probably another six, seven hours packaging it up into an NPM
Starting point is 00:14:39 package and I shipped it and it did pretty well. I think it has over 4,000 stars on GitHub now and over 10,000 developers that have downloaded and are shipped it and it did pretty well. You know, I think it has over like 4,000 stars on GitHub now and over 10,000 developers that have downloaded and are using it. Do you know of, you know, anything about who's actually using it besides like the fact that there's 10,000 developers using it? Do you know? Is there like any major companies that have adopted something like this? So not to my knowledge. I haven't really collected any information from my users
Starting point is 00:15:08 besides the fact that they downloaded it. I think with that said, I think some companies are being a little bit cautious because it does send their code to OpenAI. And so an ideal solution, if I were to turn this into a startup, I would probably not use the ChatGPT API. I would train my own LLM and host it on private servers and probably make it so that enterprises can self-host so their information isn't leaving their servers. And then kind of offer some kind of enterprise plan where I give that to companies. Yeah, absolutely.
Starting point is 00:15:39 Unless you're working on like an open source project or, you know, a project where your side project where sharing code with, you know, chat GPT doesn't really matter. So you probably want to do, develop your own like private instance and keep that thing locked in. I, you know, a couple of things that you mentioned there that I think is interesting is you talked about how you feel like, you know, the user experience is really important. And I think that's something that gets a little overlooked, especially, you know, the user experience is really important. And I think that's something that gets a little overlooked, especially, you know, if you look at the history of a lot of things in the world of AI, we've, you know, when in my time, when I was doing research in graduate school, like the tooling around AI was mostly developed by researchers. So it's, you know, developed for a really specific purpose. It's like an expert that's using it
Starting point is 00:16:22 is not set up for, you know, just like a regular person to use or even a regular purpose. It's like an expert that's using it is not set up for, you know, just like a regular person to use or even a regular developer. It's like really complicated. They don't really care about what the UI looks. And I think there has been a shift. And one of the great things I think that OpenAI has been able to do is
Starting point is 00:16:37 essentially abstract a lot of this complexity behind a simple API interface. And it sounds like you've been able to, you know, not some of the success you've probably seen from your projects is wrapping them up in a way where they are, you know, well-documented and then they're also easy to use.
Starting point is 00:16:54 And that is what sort of separates in some respects like, hey, this looks interesting to someone actually being able to use it and leverage it and learn from it. 100%. Yeah, UX is probably the most important thing that I focus on for all the projects that I do, because that's what makes or breaks applications. That's the difference between 100 people using it and 100,000 people using it. And for a lot of my ideas, you can actually,
Starting point is 00:17:19 you know, look them up and see that other people have done it before. If you look up AI, if you look up just like AI commit on Google, you probably find 10 plus repos. Some of them, you know, have done it after I did it, but a few of them existed before I did it. And none of them are really at the level of popularity that mine is. I actually just checked and it hit 5.7K stars and I have over 20 contributors that have been contributing to it. And it's truly amazing to see all of that, but it's really with that UX focus in mind. Yeah, I think that's really interesting. So another one that you worked on is this project called Restore Photos.
Starting point is 00:17:54 And the idea there is that you can essentially use AI to auto-restore and improve the quality of damaged or old photos. I actually did something like this manually for my parents' wedding photo a few years ago, but I did it manually. So it was like all this work that I had to do. I, you know, looked up a bunch of tutorials online to improve the colors, you know, remove the fading, enhance various parts of the photo.
Starting point is 00:18:17 But like, it was a huge page basically to do. But I did, I was able to actually get something that was like quite nice and printed it off for them and stuff. For this project, I'm assuming you used your levers in existing AI project and API. What was that API that you ended up incorporating? Yeah, so it was this API called
Starting point is 00:18:37 GFPGAN. It was done by the Applied Research Center. I think that's what the institution is called. But yeah, they open they open sourced it. It looked awesome. And I actually saw somebody else doing something similar. I don't think they were using GFP game.
Starting point is 00:18:54 They were using another model that wasn't quite doing it very well. And their UX wasn't great. And they prompted people to pay $5 before using it. And I looked at that and I was like, you know what? I think I could do a better one. So I went and I built something with a nice UI and I used GFPGAN. And the biggest thing that I actually did
Starting point is 00:19:15 was also make it free and open source. So that's, I think, another reason why a lot of my projects do have some level of success is because people love free stuff and people love open source stuff. And my audience on Twitter is primarily developers. So what happens when I launch something and make it open source, a lot of those folks will go and share it and retweet it until kind of non-developers see it. And when non-developers see it, their main, the main thing
Starting point is 00:19:39 they care about is that, oh, hey, can I use this for free? And they can. And so they can go and check it out and use it really quickly. And yeah, I kind of just built that. It was just a wrapper over GFPGAN where you upload a picture, it takes like 10 seconds, you get a new image you can download. I added rate limiting so people could only use it a few times a day.
Starting point is 00:20:02 And then one thing I did was I, Replicate is very kindly sponsoring the project as well. So I don't have to worry about, you know, adding a paid tier or do anything like that. As long as I'm doing that rate limiting of like, I think, five uses per day. It, yeah, it ended up also doing pretty well, you know, a couple thousand stars on GitHub
Starting point is 00:20:20 and I think 500,000 people that have used it total. I have about 50K people that use it every month now. Wow, that's awesome. Yeah, I mean, I was curious how you're sort of affording the API calls and the infrastructure that you had behind this, but it makes sense that someone's essentially footing the bill there. And I think another thing you mentioned there was around open source, free and open source.
Starting point is 00:20:44 Now, of course, people love, you know, free stuff. But I also think that especially in this space of like generative AI and LMs and all the interest is going. So many people are just in this like learning cycle right now. They're interested and they want to learn. So being able to, you know, download a project that actually works, that's like a practical application where they can learn from it. That has like a tremendous amount of value. So they, it's not just a matter of like, you know, reading source code in a medium post or something like that.
Starting point is 00:21:10 And, and the writing around it or watching a video to be able to get, like, actually get your hands on it and kind of like run it and see what, you know, tweak it a little bit to suit your needs. That's really like someone reads the learning cycle that probably a lot of people are craving right now. Yeah. I appreciate that. Yeah. And that is a big reason of why replicate is sponsoring it right it's open source hundreds of people have gone and cloned the project and to clone the project you need to create a replicate account because you need a replicate environment variable and so uh and yeah that is definitely part of the appeal where it's like a cycle of like
Starting point is 00:21:40 i launch it and it's open source and i get a couple thousand users and then i can tell people like hey like this is a real application that has thousands of users like check I launch it and it's open source and I get a couple thousand users and then I can tell people like, hey, this is a real application that has thousands of users. Check out the code and then more developers check it out. And it's kind of this cycle that just keeps going on and on.
Starting point is 00:21:52 But yeah, they've been great about kind of paying for it. And that's the other thing. It's very hard to make these AI-driven applications free because they're so damn expensive because they need to run on these GPUs. And so that's another, I guess, bit of a competitive
Starting point is 00:22:05 advantage, I guess, where Replicate is paying, you know, I think it's close to $8,000 a month that it costs on Replicate where they're just kind of eating that cost in exchange for the exposure that they receive through their website, you know, they're kind of linked on the footer and everything like that, and then through the
Starting point is 00:22:21 actual open source repo and readme. Yeah, that makes sense. And know i think one of the big projects that probably you know a lot of people or i feel like put you on the map or you you know put you on people's radar was around room gpt so maybe why don't you just kind of go ahead and explain what that is and you know where that idea started from? Yeah, so RoomGPT is this application where you take a picture of your room and it'll generate it for you in a bunch of different themes. So it essentially gives people new interior design ideas for their room. And so I originally saw Peter Levels. I don't know if you know Peter Levels on Twitter, but he created interiorai.com
Starting point is 00:23:06 which is a very similar idea, but he was using stable diffusion and it wasn't performing very well. Stable diffusion is really good at generating images, but it's not good at doing kind of image to image. And so that's kind of what he was using it for
Starting point is 00:23:22 because the output image just looks way too different than the input one. it just doesn't respect the structure at all and it looks like a completely different room but despite that people were using it and paying for it and so i was like oh like that's that's interesting um i saw that a new image model called control net was released and control net it's built on top of stable diffusion and the the biggest um value prop from control net is that it respects the structure of input images it's very very good at kind of mapping out that structure and keeping it the same and so i saw it and was like oh this would be amazing to use for rooms i spent a couple hours and i spun up a prototype and it performed
Starting point is 00:24:01 really really well um much better than than interior AI did. So I was like, okay, you know what, I'm going to do this. I'm going to ship this project. And so I built it, I found the domain, and I kind of just shipped it, and it took off from there. And I did DM Peter, and I was like, hey, by the way, I just shipped this project, it was inspired by your project. And I told him, hey, you should probably switch to ControlNet because it's a lot better. And he ended up switching the next day, which is which is great. But yeah, launched it and it kind of just went crazy. been other than, you know, obviously, like people, I'm sure people are like download, I'm assuming you releases they could just like, you know, turn around, take a picture of the room and get ideas for the room in like the span of like 10 seconds. Right. So that was like mind blowing to people. I got some pushback around the model, you know, not performing the best sometimes, you know, sometimes it'll take a window and it'll make it like a TV or something like that. It's not perfect by any means, right?
Starting point is 00:25:26 Like this isn't, it's not perfect, but it does the job and it keeps the input structure the same. And it sometimes gives people good ideas. So yeah, I got a lot of good feedback around that. I got a lot of feedback around trying to cater it to specific professional niches. So for example, real estate agents, I started getting a lot of emails from real estate agents that said, hey, I really want to use this for virtual staging. You know, I have this empty house that I want to sell and I want to show people how it would look with furniture.
Starting point is 00:25:54 But ControlNet didn't do very well with empty rooms. So that's actually something I'm working on right now, which is training a custom model that does a good job of kind of empty, like doing this virtual staging. So I'm planning to release that as a feature because I just good job of kind of empty like like doing this virtual staging so i'm planning to release that as a feature because i just got dozens and dozens of emails from interior designer interior from real estate agents telling me that they would uh pay a good amount of money to have that happen uh interior designers reached out and said uh they they were using it for mock-ups
Starting point is 00:26:18 for their clients but they wanted more personalization correct when they generated the room they wanted to be able to change the wall color or add an object or remove an object. And so that's something I'm working on right now, which is customizing kind of the images that you get through some kind of segmentation model that will change things. I think Facebook recently released Segment Anything.
Starting point is 00:26:41 And so I plan to check that out and see how I can do things in that niche. But that's that's one of the big things I realized is that even after going viral, that's not necessarily enough to have a sustainable business, right? Like we had, I had very terrible retention. I so essentially, when I when I launched it, it kind of went viral on Twitter, and then it went viral on TikTok. Somebody made a random video about it. Somebody with 1,000 followers made a random video about it, and it got 6 million views. Oh, wow. And that just drove 100K signups in a single day and 3K in revenue right away.
Starting point is 00:27:19 And so it's really like, yeah, I think that helped as well. Creating a product that is very easy to demo or is visually appealing to demo helped a lot. So that TikTok went viral. Some Instagram reels went viral. And then a couple of mainstream media, Business Insider, Yahoo News were articles about it. And so I just got essentially millions of people that went to the site. I have 5 million website visitors in the last four months and 1.9 million people of the 1.9, 1.9 million people created accounts. Wow. That's a pretty good conversion rate. The, uh, yeah, I mean, I think there's something I've always found that there's something like really compelling to people when you can combine like software with something in the physical world. So there, you know, they're taking a
Starting point is 00:28:03 picture basically in the room and then they're taking it to software and transforming it. There's just something tactile. It's like when you're only existing in a virtual world, it can be compelling but it feels just isolated
Starting point is 00:28:20 to that. And then when you can reach out from that world or reach back from the real world into the virtual world, it feels like it's compelling to people and interesting to people and it makes things feel real. A hundred percent. So you mentioned that you're now working on doing some model customization to handle these kind of like real estate situations or like the empty room problem. So how are you customizing the model? Are you using like some form of fine tuning or building a model, you know, for scratch or using embeddings? Like how is that working? Yeah, so me and my dad are actually
Starting point is 00:28:56 working on it. He's been getting into the whole AI scene. When I started getting into it, he started getting into it more from the machine learning perspective. So really just understanding how these neural networks work under the hood and understanding how to kind of spin up a lot of these Python libraries and stuff that I know nothing about. Honestly, I am a front-end developer through and through. I know how to stitch together a couple of APIs, but beyond that,
Starting point is 00:29:15 I am pretty useless in the AI space. Besides just having the ability to just Google and figure out what APIs there are and sometimes being like, oh, maybe if I feed this API output into that API output, I can get something cool. But yeah, he's been really diving deep into that and he's been fine-tuning ControlNet. So he's basically training a custom stable diffusion model and connecting it to that
Starting point is 00:29:40 base ControlNet model. I think the hardest part for virtual staging is actually identifying the floor. And so that's a major piece of what we're trying to work on. We might actually just come out with a UI that prompts people to actually draw out
Starting point is 00:29:58 where the floor is right now. But yeah, just something we're experimenting with. That's interesting. What's your dad's background? Is he an engineer of some capacity? He is actually a CPA. So his background is accounting and finance. He got into coding when COVID hit a few years ago and has been getting really deep into the ML and AI stuff. He's just a learner at heart, honestly. And he's been doing an incredible job picking this stuff up so quickly and actually having, you know, deployed models out there, knowing nothing about AI like a year ago. So
Starting point is 00:30:32 it's been really nice working with him. Yeah. In terms of, you know, we mentioned a couple of these different projects that you've worked on. Are there other sort of AI side projects that you've, you know, worked on that you think are like interesting? Maybe they didn't take off the way that RoomGPT did, but you would, you're interested in kind of discussing or mentioning? Maybe the only other one that I did this year was probably, so two other ones, I guess. One is a Twitter bio generator where you enter some information about yourself, it'll generate a Twitter bio for you you enter some information about yourself. It'll generate a Twitter bio for you.
Starting point is 00:31:07 It was one of the very simple ones, but still it took off and 250,000 people used it. And that one is most popular among developers, actually, in terms of like how often it gets cloned and how often people use it as like a base template to build AI applications from. So I'm pretty proud about that. We actually recently, you know, pushed a PR to move it to the new app router in Next.js and also use our new Vercel AI SDK, which is something that's been cool lately. And the only other one beyond that
Starting point is 00:31:38 has been a news summarizer. So I built a TechCrunch news summarizer where you enter a URL of a TechCrunch article and it'll give you like a two paragraph summary. That one did fairly well. I think it got 20,000 people that ended up going and using it. And then I received a cease and desist letter from the TechCrunch lawyers to remove it. So that's no longer a thing. That's interesting, because you wouldn't think that you were doing anything different than what Google does to crawl the website. But who knows what's going on there? At the end of the day, they probably have more lawyers than you do. Exactly. I didn't want to get mixed up in anything. So what are your thoughts, kind of like looking bigger picture on how AI is going to impact software development.
Starting point is 00:32:29 So we talked a little bit about sort of Swix's take on the rise of like the AI developer, application developer. But if we can rely on AI to auto-generate some of our code or even generate whole portions of our application, what's that kind of mean for engineers? Does it change what it means to be a developer? Yeah, it's a great question. I think it'll just enable us to move faster as developers. I don't think it's replacing developers anytime soon.
Starting point is 00:32:55 You can hand a non-technical person chat GBT and sure they can ask it like, oh, build me this Python script or try to build me this Next.js website and maybe you get something, but the result is almost never what they actually want and they won't have the skills to actually customize it because they're not developers.
Starting point is 00:33:12 So you always need to, I believe that you personally always need developers at the end of the day, that these tools will just accelerate the development of software. And there's a lot of companies in the space that are building some really cool stuff. I mean, GitHub Copilot is probably the one that most people are familiar with,
Starting point is 00:33:27 where it does help you move faster in certain cases. I mean, I use it all the time. It's, it's pretty cool, but still it gets things wrong. I have to change certain things here and there. I'm really excited about these couple of companies actually that are building tools that actually understand your personal code base and then actually generating code with that in mind or asking it questions. And so I saw a couple of YC companies that are in this batch that are working on that. Sourcegraph is actually working on that through Cody. I think Sourcegraph is uniquely positioned to do really, really well here because they are a code search tool that huge enterprises use.
Starting point is 00:34:06 And so they have a lot of core expertise in that area. And so they're working on being able to index, essentially, your whole repo as embeddings and then be able to smartly ask it questions or treat it as kind of like a junior engineer. And so I like that paradigm as well where they can give you some starter code or they can even potentially push a PR for a feature where you know it's not going to be 100 correct but it might give
Starting point is 00:34:29 you a good a good starting point and save you some time yeah i mean i agree with you in terms of your your sort of take that like developers are going anywhere engineering's are either not going anywhere you still need it uh like you know if you give chat gpt my dad he's not going to build you know a web application tomorrow or something like that. But I think the key is, I think you talked about, is the efficiency gains. And it's the same with content
Starting point is 00:34:53 generation, too, like with writing. It's not like writers and copy editors suddenly go away. It's just, can they leverage tools to be 30, 40, 50% more efficient than they were previously? And if you look at even the history of development tools, like going from using, I don't know, like BIM and Pico and Emacs to using a fully functional IDE
Starting point is 00:35:16 was an efficiency gain for developers. Or being able to do refactoring across a Java application and take care of all the dependencies and deletion of source code and so forth. Those were huge efficiency gains as well, but it's not like anybody's job disappeared because of that. But one thing I kind of think about is that it does, especially if these cogeneration tools get really good, it takes away some of the kind of legwork around just like
Starting point is 00:35:45 plumbing things together to the point where I think the level of abstract thinking probably will start earlier in an engineer's career where they're working a little bit more of that like architect level where it's kind of, they kind of need to know, like, I need to stitch this together and that together. But it's less about, I need to like write the code to push this data or to pull this data and then manipulate it absolutely yeah i i totally agree with that take so you know i feel like as a whole like you know generative ai kind of represents this real like transformational shift in the way people are interacting with technology or at least in the types of applications we can build to help
Starting point is 00:36:24 people do you know their job better, or maybe discover new drugs or analyze massive amounts of information, auto-generate code, as we talked about, whatever that is. And various companies right now, I think they're really scrambling to figure it out. And I think even developers
Starting point is 00:36:39 are trying to scramble to figure it out, which is, I think, why projects like you've worked on have been, in part, really successful because people are, they're learning tools for people. And to me, a lot of it reminds me, and you're probably, you're too young for this, but essentially the dawn of the internet. You know, people, everybody was like,
Starting point is 00:36:58 every company in the world was like, I don't know what this is, but I know I need to get on there and I got to figure it out. And we're sort of in the same old place, I think, with Gen.ai is like, I don't know what this is, but I know I need to get on there and I got to figure it out. And we're sort of in the same place, I think, with Gen AI is like, I don't know what this is, but I know I need to have a plan for it. So what are some of your thoughts on sort of the bigger picture of where all of this is going? Yeah, that's a great question. The bigger picture, I think. So I
Starting point is 00:37:23 think we definitely are in somewhat of a hype cycle right now in AI, right? Everybody, it's on everybody's mind right now. There aren't that many, well, not everybody is well-versed in how to build AI applications. So I think it's going to get, you know, less impressive as time goes on. So that like, oh, like I built this kind of application or that kind of application. But at the same time, you know, new models will keep being released. It will be which will enable more and more impressive stuff as we go. I don't know what the future looks like, honestly.
Starting point is 00:37:52 But I think I think we're we're going into this future where it's kind of easier than ever to build an impressive application and to build a startup and to have something that actually delivers real business value. So I think things are going to get a lot more competitive in general. I think there's going to be a lot more competitors in different industries and different areas, which I think is great for us as consumers of this stuff. Everything's only going to get better and cheaper. And obviously, some people are going to lose their jobs or have to pivot in certain areas. But I think overall, it's going to be a very big step forward. Yeah, absolutely.
Starting point is 00:38:33 I think, you know, one of the things that you mentioned there is the idea that these things are going to get less impressive with time, which is true. Like, it's like any novelty at the beginning is like, oh my God, like everybody's losing their mind. But then I think what's actually going to happen with a lot of applications is as they adopt these technologies, it's just going to be a default experience for people. Like I have a one and three-year-old, like they're going to not grow up in a worldwrite the answer for them or that they always have some way of just like you know throwing an image at something and having them you know spit out like you know 10 different variations of that image or or whatever the application is that's going to be their application and they're not going to be thinking about oh wow like this you know massive neural networks running behind the scenes and doing all this stuff just like we don't think about when you connect to a website about all the complexity that's going on to make that thing happen.
Starting point is 00:39:26 It's just that's the default experience. And it feels weird if you try to look up a company now and they don't have a website because you're like, you know, what happened? Why don't they have a website? How do I interact with these people? How do I find their phone number? I don't understand how this is supposed to work. Yeah, I think that's a great observation. Yeah, that's definitely
Starting point is 00:39:45 just going to be an expectation. So in terms of people who are, you know, listening to this that are interested in kind of like, you know, dipping their toes in the water building AI applications,
Starting point is 00:39:55 what are some of your advice in terms of like, where should they start? Are there certain types of projects that maybe make sense for them? They're like basically the equivalent of the hello world application for AI.
Starting point is 00:40:07 Yeah, so I think that's why one of my templates, the Twitter bio template, so github.com slash nutlope slash Twitter bio, that's one of my most popular templates because it's kind of the Hello World of AI, in my opinion, where it just uses a single API call to chat GPT and it uses, you know, kind of two inputs from my opinion, where it just uses a single API call to chat GPT. And it uses, you know,
Starting point is 00:40:26 kind of two inputs from the user, right? It uses like, in my case, specifically with the Twitter bio generator, it uses information that the users provide, and it uses a vibe that users can specify if they want to generate like a professional or a funny bio. So it uses those two things, it constructs a custom prompt, it says, you know, generate two bios that are, you know, that have these qualities that use this vibe and that use this context from the user. It sends a single API
Starting point is 00:40:48 called a chat GPT and it replies with an answer and it formats it on the page in a nice way. So that's kind of the hello world that I see a lot is just a single API called a chat GPT.
Starting point is 00:41:00 I think you can't go wrong there. I highly recommend picking up some front end skills because if you don't make this stuff look I highly recommend picking up some front-end skills because if you don't make the stuff look good, nobody's going to use it, no matter how impressive it is. Unfortunately, I learned that the hard way. I shipped like 10 side projects last year
Starting point is 00:41:13 and maybe one of them did okay. And looking back, the reason is they didn't look very good. They weren't a joy to use, honestly. So the main thing that changed from last year to this year for me was that I got a little bit better at building more UIs that are visually nice, and then obviously
Starting point is 00:41:33 the AI thing helped a lot as well. But yeah, that's my advice for people. Learn a little bit of front-end. Obviously I'm biased, but I use Next.js for everything. I think it's great. Use whatever front-end framework you want to use or whatever front-end framework you have experience in. Build something, learn how to use an API,
Starting point is 00:41:50 and do that first call to chat GPT. Awesome. Yeah, and in terms of making it look nice, that reminds me of the meetup that I went to that Vercel hosted last week. And I think your VP of product and AI talked about how essentially how important the front end is to AI systems and how that has bridged the gap to making AI accessible.
Starting point is 00:42:18 And that was, I think, really something I hadn't quite thought of before, but it really got me thinking about it afterwards. I really liked that take on it. And essentially it's like, you're, you're democratizing AI by making, building a simple sort of fun end around it and making so that at an engineering level, anybody sort of can take advantage of these things. Just like you would call, you know, Twilio API or call Stripe API to do something. There's all kinds of magic that's going on behind that. And we kind of take, take it for granted. And I think that we're moving into a world where we're just going to take
Starting point is 00:42:49 for granted the fact that we can call some API and it's going to do some, you know, a massive neural network magic to be a hundred percent. Exactly. Um, awesome. So in terms of, uh, you, you mentioned you shipped like 10 side projects last year. What was your favorite of those that, uh, catch fire like some of these other projects you worked on? Oh, that's a really good question. Probably, let me think.
Starting point is 00:43:19 So I shipped a couple Chrome extensions. I shipped a Chrome extension for like different tailwind colors if you're developing on the front end to find the closest. So basically to go on any single website and find the closest tailwind color to something to just prototype really, really quickly. I shipped a couple
Starting point is 00:43:37 projects for one of my dad's finance ideas last year. I shipped a machine learning app that did some correlation stuff. But probably I'd say my favorite one that I shipped last year. I shipped like a machine learning app that did some correlation stuff. But probably, I'd say my favorite one that I shipped last year was probably the image gallery that I did for work. I'm pretty proud of that. I spent like a month and I deep dived into too many like image optimization techniques and testing on a whole different bunch of browsers and testing loading strategies for images and how many should be on the same page and when they should be progressively loaded.
Starting point is 00:44:13 And I wrote an in-depth blog post about that, but that was probably one of my favorites from last year. Awesome. Well, as we start to wrap, is there anything else you wanted to share or would like to mention? A question I get a lot on Twitter is, you know, how do I build cool things?
Starting point is 00:44:29 How do I get sort of AI? How do I get viral side projects? And I think the simplest answer I give everybody is just start building. I think, you know, too many people just keep reading about stuff and, you know, imagining things in their head instead of going and building applications. So I just want to leave off with the advice of if you have an idea, just go build it. Google, figure stuff out, and that's how you'll learn and get better and ship cool things.
Starting point is 00:44:57 Yeah. And I think if you're going into a side project thinking this is going to be my viral side project, you're probably doing the wrong thing anyway. Like you should probably build something that's like interesting to you. Maybe it's interesting to your mom. And, you know, and maybe it'll turn out to be viral. Maybe it won't. But it's about the journey of like learning
Starting point is 00:45:14 and building something. And you can never, I think, predict, you know, programmatically or with a math formula, what's going to take off, you know, like maybe it catches fire, maybe it doesn't. But I think if it brings value to something that you're interested in, that's really what probably matters. Well said. Yep. All right. Well, Hassan, thanks so much for being here. I really enjoyed that. And,
Starting point is 00:45:35 you know, we'll have to have you back down the road. A hundred percent. I appreciate you having me, Sean. This is great. Cheers.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.