Software Huddle - Building Generative AI Apps with Hassan El Mghari from Vercel
Episode Date: August 30, 2023Over 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)
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.
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
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,
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.
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
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
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.
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,
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
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.
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.
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.
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.
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,
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.
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
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
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.
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?
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
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.
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
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
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
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
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?
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.
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,
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.
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.
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
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
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.
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
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
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.
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,
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.
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.
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
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.
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
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
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.
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
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.
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.
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
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.
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
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
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
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
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
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?
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.
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
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.
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.
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
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
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
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,
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
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
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
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.
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
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.
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.
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.
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,
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.
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
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
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
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
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
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
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,
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
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.
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.
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.
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
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,
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.
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,
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
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.
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
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
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,
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.
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
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.
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
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.
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?
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.
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
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,
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.