The transcript of AI & I with Steve Krouse is below. Watch on X or YouTube, or listen on Spotify or Apple Podcasts.
Timestamps
- Introduction: 00:00:55
- How programming changes the way you think: 00:03:24
- Building an app in less than 60 seconds: 00:11:22
- How Val Town’s AI assistant works: 00:17:19
- Steve’s contrarian take on the non-technical AI programmer: 00:23:05
- The nuances of building software that isn’t deterministic: 00:33:38
- How to design systems that can capitalize on the next leap in AI: 00:39:05
- What gives Val Town a competitive edge in a crowded market: 00:40:47
- The power of small, dense engineering teams: 00:47:34
- How Steve is positioning Val Town in a strategic niche: 00:52:26
Transcript
Dan Shipper (00:00:55)
Steve, welcome to the show.
Steve Krouse (00:00:56)
Thanks so much for having me, Dan. This is a dream to be on your podcast.
Dan Shipper (00:01:03)
So, for people who don't know, Steve and I have been friends for many years at this point. We met in college. Steve is the cofounder and CEO of Val Town and Steve will be able to describe Val Town better than I can, but it's sort of a social coding site. Steve, how do you describe Val Town?
Steve Krouse (00:01:23)
Yeah, it’s I think harder than most companies because it can do so many different things. The poem we have on our website, I think, holds up remarkably well, if you're a programmer. It’s “If GitHub Gists could run and AWS Lambda were fun.”
Dan Shipper (00:01:41)
Exactly. So, I mean, basically, it lets you code in your browser and share your code snippets and build and compose code snippets together. And you recently released Townie, which is a very cool AI coding agent, and also full disclosure, I'm a small investor in Val Town. I think it's awesome. You’re doing really, really amazing stuff and I will also say you are actually one of the biggest reasons I started this podcast. Because you were Dan, you write all the time, but I don't have time for that. I want to just listen to what you have to say. And you had sort of a vision for what this could be. And so I really appreciate you pushing me to do it because it's been super fun. And also just an honor to have you on the show.
Steve Krouse (00:02:31)
Thank you. Thanks for doing what I want. I think it's important for your audience to know that I started out as an audience member of yours in the first place—that's how we met. I stumbled upon Dan's blog when I was a freshman in college and he was a junior at Penn and I reached out and— I should have found that email because we probably still have it, the very cute like I'm a little freshman, please take pity on me and mentor me. I want to be like you one day. So, it's wonderful that I've found myself in the content that I was an audience member of.
Dan Shipper (00:03:06)
It is wonderful to have you here. I think one thing that people should know about you is Val Town is sort of the latest iteration of something that you've been obsessed with for a really long time, which is basically programming and programming languages and how programming languages change how you think and all that kind of stuff. Do you want to give people just a little bit of an overview of that part of your brain and where Val Town came from and why it's important to you.
Steve Krouse (00:03:39)
That'd be great. Yeah, it is a longer history, I think, than most startups. And there are a lot of startups, I think, that look like Val Town today, but hopefully we have some deeper historical perspective because of my background. So I think where I'll start the story is: I went to this kind of life-changing afterschool program that taught me how to code when I was in middle school and through that program, I fell in love with mathematics and fell in love with programming and overall, just felt like a smarter human. And I knew it had something to do with this coding program. And in college, I went to a hackathon, which was another whole eye-opening kind of experience. But one of the things that happened at that hackathon was that I was pointed at the work of Bret Victor and Seymour Papert and I read Seymour Papert and it turns out that it was all on purpose.
Dan Shipper (00:04:31)
Who is that? I know Bret Victor, but I don't know Seymour Papert.
Steve Krouse (00:04:36)
Yeah. So Seymour Papert was a mathematician and an educational theorist. He was a mathematician who then decided to study with Jean Piaget, like one of the fathers of the stages of developmental educational theories. And Seymour Papert had his question, which is like, why are some kids bad at math, but no kids are bad at French? If you're bad at French, it's because you didn't grow up in France, but we know that if you grew up in France, you'd speak French just fine. Some kids are just genetically bad at math. That didn't make sense to him. His conviction was that those kids, kids who seem like they're bad at math genetically, just didn't grow up in a math land. And kids who are good at math had some sort of math land experience growing up. And his experience was that. He got obsessed with gears growing up and other mathematical objects that were just in his house.
Dan Shipper (00:05:31)
Got it. Okay, cool. So that makes a lot of sense. So continue with the story.
Steve Krouse (00:05:39)
Yeah. So he wanted to see if we could make kids good at math? Can we make a virtual math land on this new computer thing to make kids good at math? And what he came up with was actually a programming language, but it was never to teach kids to code. There were no jobs for coding back in the sixties and seventies. It was, can we trick kids into being good at math through programming? And it totally worked for me. And so ever since I lived it and then read about how it was all on purpose, it totally blew my mind. And I became obsessed with the power of programming languages, programming environments, developer tools for not only the power that they give human beings to create stuff, but the way that they change the way you think and actually make you a smarter human in other aspects of your life. This has been the thread. So that moment when I was 18 years old has followed me for the last 10 years.
Dan Shipper (00:06:25)
How do they change how you think?
Steve Krouse (00:06:27)
Great question. The book Mindstorms kind of goes through this. One of my favorite examples is in Logo geometry. The programming language Seymour Papert made is called Logo. It’s the predecessor to Scratch. So if you've ever used Scratch, it was made by his student and there are a lot of similarities. And in both programming languages, the model is that you have a character on the screen, and you can give instructions to move forward or turn and move and turn and move. And then, in particular, with the Logo turtle, you would have a pen on your feet. So you could say, put the pen down, and then give instructions on how to move, and pick the pen up, and then there'd be a shape on the screen.
So an example of how I learned mathematical concepts— I grew up in math land through this. How do you draw a square? How do you draw a hexagon? How do you draw a circle? And you build up, as you kind of intuit how to do these things, you build up an intuition for what later in life you'll learn as a derivative in mathematics. So, I don't know, five years after I was drawing circles with my feet mentally you learn to anthropomorphize the problem. It's a technique you can use in a lot of problems, putting yourself into the code, imagine yourself. Programmers do that all the time. So you anthropomorphize the code. In this specific example, it's very geometric. So then a couple of years later, when I was learning derivatives, I was, oh, the derivative is just the way you're pointing. If you like walking along the curve, that's very easy. I've walked on curves for a long time. And I remember in the class, I was tutoring kids after that class and everyone was like, oh my god, Steve's a genius. He got it so fast. I was helping the teacher on the board, but I knew I wasn't born this way. I just had these very powerful experiences that nobody else in the class had.
Dan Shipper (00:08:12)
That's really interesting. So let me make sure I understand the example you just gave. So, basically, if you're programming in this environment, and you're trying to make a circle, the way that you end up having to do that is by breaking the circle into small little segments that are the angle of the segment changes, just a little bit each time. So you end up making a circle because circles aren't actually round; they're made of infinitely small segments and that's what then becomes a derivative. And so the concept of derivative was intuitive to you because of that.
Steve Krouse (00:08:49)
Yes, yes. It was so easy for me to put myself on the paper—like, my feet are on the paper and I'm walking along the curves.
Dan Shipper (00:08:55)
That makes sense. I mean, I think it's so interesting. This is a whole rabbit hole we can go down. But one of the really interesting things about the history of math is, in the 19th century, we started to get formalism in math where you're using all the equations and stuff that get people intimidated. If you read Newton or Galileo, they're interspersing geometry with actual written text. It's where the sort of renaissance man ideas come from. There’s a lot more of an integration between all the different senses and ways of thinking to help you understand math. And it was only later on that we sort of formalized it, which is helpful because formalism is really powerful, but you end up losing a lot of the intuition unless you're a super math genius or you're lucky enough to use a programming environment like this. And I think that's what makes it much harder and less appealing for people, which is interesting. I will also say, as someone who taught myself how to code, I'm still terrible at math. I think there's something that's possible I haven't learned. This shows up in other areas of my life too. There's something for me about just sequential processing. Processing sequences where each step of the sequence depends on the previous step. I'm very likely to a.) it costs me a lot to do that and b.) I'm very likely to skip a step or get them in the wrong order or do all that kind of stuff. So any math that I can do, that's more intuitive where I'm almost sizing things in my head as opposed to following a sequence of steps that I can do, but the sequence thing really messes me up. And that's why I kind of like the AI stuff because I kind of get things intuitively, so I kind of know what I want to do. And the AI stuff just figures out how to write the code, or do things step-by-step so I don't have to. It fills in that part of my brain.
Steve Krouse (00:11:10)
Yeah. Totally. It makes a lot of sense.
Dan Shipper (00:11:11)
So I know you’re thinking a lot about the future programming—that's kind of what you're building at Val Town. And I think a really interesting intro to this episode is, about a year ago when this podcast was first starting, I had this guy, Geoffrey Litt on, who I know is a friend of yours and also someone that you really look up to and respect. And the cool thing about that episode with him is we live-coded an app together and using ChatGPT and Replit. And, at the time that was pretty new and pretty cool and it was, to me, wild that you could make an app on a podcast just while talking, that was previously totally impossible. But it took us about an hour to actually do it. And there were false starts and whatever. So we got it done, but it was not super easy. And I think it would be fun to see how far we've progressed. That was your prompt for me in this episode, to see the difference between, last year with Geoffrey Litt about a year ago and where we are now is a benchmark of AI progress. And I think you're going to use Townie, which is Val Town's chatbot product, to do this. Do you want to introduce it to people?
Steve Krouse (00:12:36)
Yeah, sounds great. So yeah, Val Town is a website to write code and share code and deploy code, very importantly. And one way to think about Townie is like, it's taking what Dan and Geoffrey did a year ago and just automating the steps. We were seeing people doing this with Val Town for the last year. They would go to an LLM and ask for some code and paste it and then get some error and paste it back. And it was a crazy thing. And it seems like over the last year, we've all agreed that that's crazy and that they should be deeply integrated into a single product. And that's what Townie is. We've worked through a number of different iterations of how Townie works. The current iteration I think is most similar to Anthropic Artifacts if your audience is familiar with that. I think maybe let's start with just the Val Town homepage, so people can get a sense for what the product is.
I read everyone the poem, but I think I could start with— The description I give people when I meet them on the street, and they say what do you do? I say that I make a website for programmers to make websites. I think that kind of anchors it really well, that it's a tool really designed for programmers. And it's designed for you to make web things, particularly serve-side, where you can do front-end and full-stack stuff. And I think one of the most important distinctions is that it's in the browser, you write the code, and then it also scales with you to deploy and scale. So you don't have to then redeploy it somewhere else. So it's all integrated and drastically simplifies the programming experience.
So this is a Townie, where we can describe in English what we want to build. I'm going to paste in and start running the app that you and Geoffrey made and, as it's coding, I'll describe what's going on. So, we're making an app for this very podcast we're on. The idea from your episode with Geoffrey was that it's kind of throwaway software, disposable software. It's just so cheap to make software that we can make an app for this podcast and then never use it again. So there are three parts. One's a timer. Another one is for notes. And then the last one is like a ChatGPT integration, where it'll read the notes and enjoy more questions.
Dan Shipper (00:14:48)
And I'm laughing because it's. It took you until you finished the app before you were done describing what the app was to me. That's actually super cool. I love this. Man, I haven't had one of those real AI wow moments in a while. I feel like I'm getting a little jaded, but that was definitely a wow. Because we made this app with Geoffrey a year ago, it took us about an hour. and this and there was a lot of copy-pasting back and forth or whatever. And you just made it by just pasting in a description of what we did in the episode. And it's just here and it works. Wait, can you make sure all the stuff works? Does the generate questions button work?
Steve Krouse (00:15:31)
Yeah. So I'm Dan Shipper talking to Steve Krouse, founder of Val Town fast platform for whatever— Generate questions.
Dan Shipper (00:15:48)
So we have this whole podcast set up. You typed into the interview notes, I'm Dan Shipper talking to Steve Krouse, founder of Val Town. And then you press generate question and then it generates— It used, GPT-4, I assume, some AI model to generate questions. So it says like here are three questions to ask as a founder of Val Town, what was the original vision? So they’re actually reasonable questions. It's not totally off. And what's really interesting about this is, so obviously we just saw the whole thing, just made with a single prompt. But what's interesting is this requires a client and a server to be working together. Because in order to have the generate questions button work, it's sending it from the client to the server, the server sending it to OpenAI and then OpenAI sending it back. And that's hard. There's some complexity here. So I don't know. It’s cool.
Steve Krouse (00:16:52)
Thank you. Thank you. Yeah, I can kind of explain any part of it. Maybe you direct me what you're curious about, or I could just go piece by piece.
Dan Shipper (00:17:03)
Well, I guess tell me at a high level how this works and how it is able to fill in all the gaps there? So there's no copy and pasting, am I right? Does it have a client and a server? How does it all work?
Steve Krouse (00:17:22)
Okay, great. So from a high level, the way it works is, we take your prompt and then a big-ass system prompt that explains how Val Town works and we send that off to chat to Claude 3.5 Sonnet, and I think it's very important to underscore how much of an enabler Claude 3.5 Sonnet is. When you and Geoffrey were doing this with, I don't know, ChatGPT 3.5 or 4 or even the current ChatGPT models, we wouldn't get something this good probably, or it would take a lot longer. Claude 3.5 Sonnet is what's changed since when you and Geoffrey did it. A big part of it is it's all integrated in one tool. We spent a lot of time getting a good system prompt and then the most important thing that happened was Claude 3.5 Sonnet.
Dan Shipper (00:18:07)
Right. Right. That makes sense. Oh, let's look at the system prompt. So what are the core components of the system prompt that made it start to work?
Steve Krouse (00:18:13)
Yeah, there were a lot of iterations and if you want if anyone wants a really deep dive, here's how we built the original prototype and it's changed a lot since then. And then we just published a new article about how we're running it in production. So we have a lot of notes for people who want to build their own. But at a high level, how this system prompt works is it explains where the code that we're asking to write is going to live. We tell it that it's running in Deno in JavaScript, not client side JavaScript. We tell it that it doesn't have to worry about starting the server, deploying the server. We give it all the formatting. We have random bugs in our platform, we tell it about the bugs, about things that shouldn't be done because they're bugs in our platform, and then we give it all goodies, all the included platform features. So, for example, how to do OpenAI, which we just saw, we explained that it's available to it and here's how to use it.
Dan Shipper (00:19:17)
That's really interesting. And it's nice to have that stuff because that's what I would normally have to paste into ChatGPT or Claude or whatever. So it has the most updated up-to-date docs. I guess how the usage has been or, what have people been doing? The underlying thing that gets you excited has been how programming changes the way that people think and what, what they can make, what has been the effect of Townie on that for you?
Steve Krouse (00:19:48)
Yeah, it's been fantastic and also a little bit confusing. I didn't expect to have non-programmers be able to use Val Town so soon. That's been a long-term ambition, but there are people who really don't know the first thing about coding and come on to Val Town and make stuff like this in a minute or two, and their mind is blown and they're so excited and that's amazing. And I love that. Recently, now that bitcoin is doing so well, people are making bitcoin price trackers, wallets, things like that. All sorts of analyzers for crypto, and Val Town’s really good at that. It could just plug and play with the APIs. And on the one hand, I'm really excited about it. On the other hand, I'm getting questions that are so bad because they're not programmers—it’s a tool for programmers. I got last night was this, let's just say we remove this and say, save it—
Dan Shipper (00:20:54)
And by this, basically what you did is you went into the code and you removed a semicolon from the JSON object, or I guess it's just CSS.
Steve Krouse (00:21:07)
The Only Subscription
You Need to
Stay at the
Edge of AI
The essential toolkit for those shaping the future
"This might be the best value you
can get from an AI subscription."
- Jay S.
Join 100,000+ leaders, builders, and innovators
Email address
Already have an account? Sign in
What is included in a subscription?
Daily insights from AI pioneers + early access to powerful AI tools
Comments
Don't have an account? Sign up!