98: Inventing the Wheel ![rw-book-cover](https://wsrv.nl/?url=https%3A%2F%2Fimg.transistor.fm%2F7-tuF7RMSNRIRfD3M2fNWLQLF-ShDgRiBeceKLOFVZc%2Frs%3Afill%3A0%3A0%3A1%2Fw%3A1400%2Fh%3A1400%2Fq%3A60%2Fmb%3A500000%2FaHR0cHM6Ly9pbWct%2FdXBsb2FkLXByb2R1%2FY3Rpb24udHJhbnNp%2Fc3Rvci5mbS9zaG93%2FLzQzNjc3LzE2OTE1%2FODI4NTItYXJ0d29y%2Fay5qcGc.jpg&w=512&h=512) ## Metadata - Author: [[Mostly Technical]] - Full Title: 98: Inventing the Wheel - Category: #podcasts - URL: https://share.snipd.com/episode/5ba688a8-a034-4d53-87da-0ade71b4f7ca ## Document Notes ## Highlights - **Interactive Database Playgrounds** - Aaron plans an in-browser database playground that connects a SQL editor to real data used in videos. - The playground aims to let learners run queries against live databases matching the tutorial examples. Transcript: Aaron Francis Weekend weekends are hard love my kids weekends are very hard this weekend was it was fine um all right database school yeah let's go in with that let's not bury the lead here let's not Bury the lead the playgrounds okay so here's so we got we have to cast a vision because where there's no vision the people perish right that's something i always say so yes i'm i'm i'm having I'm having a proper go at at this database education thing we're gonna we're gonna give it we're gonna give it the old college try um you know there have been some lulls. I won't lie. There have been some like, there have been some like, is my career over kind of lulls, you know? Ian Landsman Geez, wait a minute. Aaron Francis Yeah, you know, some dark days in there in the middle. Okay. We're feeling okay right now. Okay, good. I think, you know, part of that is GPT-5 is average. Part of that is all the news stories about AI is like, not delivering on its promises. So I'm feeling'm feeling like all right education is still a thing meanwhile i'm building towards the new database school experience um so uh back when you know rip steve and i were thinking About database school he's not dead in fact we talk all the time but uh you know rip Steve, we were saying like, the future can't be just video. And I think that, you know, we were both pretty set on that. It can't be just video. It has to be some sort of interactive component. We need to have a little more than just video. And we get that, you know, Kelsey I get that feedback from time to time. Like, hey, are there any, you know, capstone projects or like hands-on exercises? And we're like, there's the data. Like, you could follow along if you want. We've made the data available, but not in like a very useful way. Yeah. So been working on an in-browser database playground as part of that. So you'll have the video, and below that, you'll have like a SQL editor, basically, you know, just an old box where you can type in some queries. And the fun part is it will hit an actual database containing the data that I'm using in the video. So if you want to follow along while I'm doing it, you can. If you want to wait until the video is over and practice, you can. If you don't want to use it at all, that's fine. But I will have a text box that is somehow, and this is the interesting part, somehow connected to a live and running database where you can query the database and get the results back. So that's kind of setting the scenes. ([Time 0:01:16](https://share.snipd.com/snip/25117253-0404-4048-86ae-532c3aa889a5)) - **Protect Playgrounds Behind An App Layer** - Never expose paid databases directly to the public internet; use an authenticated middleman. - Route browser requests to your Laravel server which validates users before querying private databases over VPN. Transcript: Aaron Francis So I don't ever want to leave a database that I'm paying for open to the public internet. So that's step one. And I'm paying for these databases. Right. Ian Landsman And they're open to the public internet. But they're not. Well, you're authenticating them to the user, you're saying. Aaron Francis I am. Ian Landsman No, you're going to love this. You're going to love this. Aaron Francis Oh, boy. Ian Landsman I wish this had something stronger in it than water. Aaron Francis I know. It's early. We got to get afternoon energy going again. All right. So it's actually running on a server, first of all. So a lot of people are like, hey, why don't you do PG light? And I'm like, PG light is cool. You know, wasm build of Postgres, put it in the browser. It's just the limb you run into the limitations immediately. Immediately. It's massive. I got like, how am I going to load any reasonable amount of data in the user's browser? Terrible. What if I want to teach post GIS? And then am I like compiling post GIS to WASM? Like, give me a break. I'm not doing that. That's a terrible idea. Importantly, when I go to MySQL, there's no MySQL WASM. You know, it's like, what am I doing here? So now I have to do this. I have to invent this wheel anyway. Let's just start by inventing the wheel. There are a couple of like code sandbox tools that do it. All of them, I found them to be wanting. It's just like lowest common denominator. And they're, you know, it's just, it's not exactly what I needed. Ian Landsman So you don't want to create a whole technical support problem for yourself with like your customers who pay you $200 once are now coming to you and being like, I'm trying to install the Crazy thing in my browser, whatever, and I need this other thing. Aaron Francis That's all nightmare scenarios. So you don't want any part of that. I just want their browser to be able to issue a post request. That's it. And then, you know, paint some HTML and CSS. That's all that matters. So here's the setup. The databases are running on fly.io machines. So machines is a technical or a term of art for them. A machine is like one instance of a VM, like a micro VM, like Firecracker, I think is the tech that they use. But you can have an individually addressable VM. And these databases are running on like, you know, one virtual CPU and a gig of RAM. So they're very, very small. So the way that it works is my Laravel application that serves like the website and the videos and all of that stuff. My Laravel application is in charge of provisioning these fly.io machines. And the fly.io machines take a Docker file. So I've written some Docker for, you know, maybe the first time ever. Yeah, me and chat wrote some Docker. So the Fly platform takes these Docker files and turns them into machines that can be spun up very quickly. It's not actually using Docker. They do some weird stuff, but it's as if it is. So every user on my side, every user is getting their own virtual machine. So that's step one. That's important. Nobody's mucking around with anybody else. There's no like crossover. Everything's just discreet. And if it goes bad, we throw it away and we build a new one. That feels good to me. So when the user's logged in and they type something into the query box below the video and they hit, you know, run query, it goes through my Laravel application. So that's part of it, is it's never going directly to the database. Like it's not posting to some HTTP endpoint that's on fly, it's posting to my actual Laravel server. And then I am using Laravel to go out to what is in this case, the Postgres database. Now, the way that it gets out to the Postgres database is through a private IPv6 network that is not open to the public. So Fly gives you this thing. I'm learning so many things. Fly gives you this VPN thing, and WireGuard is apparently what it's called. And so I have to run this WireGuard VPN on my Forge server. And then all these private IPs come alive and I can address them. Ian Landsman Makes a tunnel. Aaron Francis Yes, exactly. So the user will post the query. Laravel will receive the query. It will check if a machine is running for this user for this video. And if not, it will provision a machine, happens very quickly. And then it will send the query, get the response and then send the response back down to the browser. So I always have a middleman so I can make sure that it's authenticated. I'm never exposing anything besides the end point, which is like, you know, video slash one, ([Time 0:10:59](https://share.snipd.com/snip/bffe901a-b8bf-4904-ba7e-c4e558d7b07a)) - **Per-User Ephemeral Database VMs** - He provisions per-user ephemeral VMs on Fly.io that run a full DB instance to avoid user crossover. - Machines can be suspended to minimize compute cost while preserving data state for quick resume. Transcript: Aaron Francis The databases are running on fly.io machines. So machines is a technical or a term of art for them. A machine is like one instance of a VM, like a micro VM, like Firecracker, I think is the tech that they use. But you can have an individually addressable VM. And these databases are running on like, you know, one virtual CPU and a gig of RAM. So they're very, very small. So the way that it works is my Laravel application that serves like the website and the videos and all of that stuff. My Laravel application is in charge of provisioning these fly.io machines. And the fly.io machines take a Docker file. So I've written some Docker for, you know, maybe the first time ever. Yeah, me and chat wrote some Docker. So the Fly platform takes these Docker files and turns them into machines that can be spun up very quickly. It's not actually using Docker. They do some weird stuff, but it's as if it is. So every user on my side, every user is getting their own virtual machine. So that's step one. That's important. Nobody's mucking around with anybody else. There's no like crossover. Everything's just discreet. And if it goes bad, we throw it away and we build a new one. That feels good to me. So when the user's logged in and they type something into the query box below the video and they hit, you know, run query, it goes through my Laravel application. So that's part of it, is it's never going directly to the database. Like it's not posting to some HTTP endpoint that's on fly, it's posting to my actual Laravel server. And then I am using Laravel to go out to what is in this case, the Postgres database. Now, the way that it gets out to the Postgres database is through a private IPv6 network that is not open to the public. So Fly gives you this thing. I'm learning so many things. Fly gives you this VPN thing, and WireGuard is apparently what it's called. And so I have to run this WireGuard VPN on my Forge server. And then all these private IPs come alive and I can address them. Ian Landsman Makes a tunnel. Aaron Francis Yes, exactly. So the user will post the query. Laravel will receive the query. It will check if a machine is running for this user for this video. And if not, it will provision a machine, happens very quickly. And then it will send the query, get the response and then send the response back down to the browser. So I always have a middleman so I can make sure that it's authenticated. I'm never exposing anything besides the end point, which is like, you know, video slash one, you know, slash query, whatever it is. And I can then keep track of the queries are being run and I can suspend the machines after, you know, whatever, some like 30 seconds. Nobody sent a query in 30 seconds. I can suspend the machine, which takes away the cost of compute and only leaves the cost of storage, which is minimal. And then after whatever, you know, after they navigate off the page or whatever, I can destroy the machine and it just completely goes away. And so from a suspended state to a running state, it's like less than a second. It's like a couple hundred milliseconds from a completely stopped state to a started state. It could be five to ten seconds. So I'll have a pool of suspended machines that are ready just to be started. And that suspend and stop part is really fast. And it goes to sleep with everything in the same state. So when it's reanimated from suspension, all their data is still there. ([Time 0:12:52](https://share.snipd.com/snip/5f179eab-99c5-4213-a6ac-333c28f6a162)) - **Simpler Alternative: One Server, Many Schemas** - Consider a single long-running DB with schemas per user for simplicity and fewer moving parts. - Create DB users and schema isolation to prevent cross-tenant access and reduce infrastructure complexity. Transcript: Ian Landsman So that's all good. Nothing open on the internet. That's all good. Uh, I feel like you perhaps, uh, over constructed this a little bit. This would be the first time I'm hearing this, okay? So what about the idea of doing it this way, just as a thought? I hate it already, but I'll allow it to continue. Because you've created a bit of like where you are running a mini Laravel cloud here, right? Like you have these servers and they're turning on, they're turning off. It's awesome. You have this dependency on fly.io. Oh, yeah. That's my biggest fear. Okay, right? So you have this dependency of this whole constructed thing and things are spinning up and down. But see, there's no production data, right? Correct. And I mean, even if there was, I think what I'm going to say applies, but even without production data, it's even more applicable. Like, why not just have a single database server and have what Postgres would call schemas for each user, and that's it? And then if you want to enhance the security even, you probably could just do this in code, but if you wanted to go in additional layer of security, every account gets a user in the database Server. In the actual database. Yeah, so you only ever connect as that user from that authenticated account. And they can never get to the other schemas no matter what because you have that just locked down at the user level in database. And then that's it. And then you can even have backups, whatever. It doesn't matter. But you just have this one server. You could have one four gigabyte server. That I'm sure would be more than enough for what people are going to be doing on this thing. Unless you have some huge data, ([Time 0:17:24](https://share.snipd.com/snip/9c1bdf68-e5b5-4275-9f99-002db46a22d3)) - **Why Ephemeral Instances Feel Safer** - Aaron prefers ephemeral machines because they guarantee a fresh, consistent database for each video session. - He wants to avoid in-place migrations and version drift by rebuilding images from Docker seeds each time. Transcript: Aaron Francis First of all, that's 0% fun. Ian Landsman But it's not going to be fun when your little Rube Goldberg server builder thing goes down. Yeah, but that's later. That's not now. Aaron Francis All right, here's a second real answer. I was going to say the real answer, but that was a real answer. Here's the second real answer. Um, one, one reason is, uh, the different data per video, per course, per module, per section, whatever. Right. So I might have, um, I might have the first five videos be based on one set of data. Um, and then the second use similar tables, but all with completely separate and discrete data, right? Okay. Or, and so at that point, it's like, all right, well, then does each user need, you know, 10 schemas for the 10 different videos? Now we've got, you know, hundreds and hundreds of schemas full of data in there. What are you doing now in the current one? Ian Landsman You're blowing them away eventually. And then so when they come back or if they start a new video series that has different data, you're rebuilding. Is that what you're saying? Aaron Francis Yeah. So every user video, every user video pair gets a discrete machine. Ian Landsman Right. But you're saying you're going to have similar data in it. But you're saying you're going to have different videos that might use the same tables, but with different data. And so that's a concern. So how that's the concern is the same either way, whether they're on virtual machine or not, it doesn't matter. That's the same. Aaron Francis Because in my current setup, the user number one goes to video number one and they get a machine called number one and it has user to video. Ian Landsman Well, so if I go through seven videos in a day, you're running seven machines. Aaron Francis Hell yeah. Ian Landsman It's weird, man. It's crazy. No, it's good. It's good. But even so, it's just the same thing as having seven schemas. You just have a schema, video, video user schema, right? Aaron Francis Yeah. Yeah. I mean, yes, possible. What I gain from, this is going to be a hard word to say, the ephemerality, what I gain, that was pretty good. Yeah, that's good. I should have just gone for it. I know, that was great. Ian Landsman You must have slept in a holiday in last night. Aaron Francis I did. What I gain from the ephemerality is I don't have to worry about the data and the video being out of sync, right? So if they did, you know, let's say they did something in the last video and they mucked up their schema or whatever. They mucked up their tables, their data, whatever. Then they go to the next video. If I reuse that schema, it's mucked up. If I give them a schema per video per user, then I've got thousands of schemas in this one database, which I don't know if that's good, bad, or indifferent. I actually have no idea. So what I gained from the ephemerality is everything starts fresh all the time, which feels great. That means that reduces my amount of maintenance that I have to do to be like, hey, is this? No, it really does. Because the platform handles it all for me. The fly IO platform. I'm just like, Hey, give me a new, give me a fresh database. ([Time 0:19:07](https://share.snipd.com/snip/c4118826-96bd-439c-aed8-5c4f53b0d96c)) - **Choose Lightweight Editor For SQL UX** - He evaluated Monaco and CodeMirror for the in-browser SQL editor and chose CodeMirror 6 for balance. - CodeMirror offers a lighter, configurable editor suitable for SQL UX without VS Code heaviness. Transcript: Aaron Francis Like, what are we using to do code editors in the browser? And the two things that came back were Monaco and CodeMirror. Okay. And I looked at both. Monaco is, just too much. It's just like it is VS Code's editor in the browser. And it's like, I don't need all that. That feels heavy. It's so heavy. Very cool, very customizable, but I don't need it. And so I started playing with Monaco. Nope. I started playing with CodeMirror. CodeMirror 6 is the latest. And it too has a pretty steep learning curve. I mean, it's all, it's just so much like configuration and all these different things, but I've got it working in a spot where it's really like, it's really beautiful at this point. So Steve, a while back worked on like a SQL kind of editor. And so I took parts of that out, added a bunch of chat GPT on top of it. And now we have a really like really good, solid SQL, just like text pane, basically. So what's lacking is any sort of like schema explorer. And I don't know if I am going to do that or not. It's a little bit of an open question to me as to whether or not this is beneficial for the user to have a SQL explorer or if it should just be, you got to learn to write queries. Write some queries, figure out your way around this database. Don't just click and shoot. But I don't know. We'll see. It's possible to do that. And it could be, you know, for the proper database courses, it could be a nice thing to be like, oh, here's the structure of the user's table. But part of me thinks, like, let's just explore it using SQL. That's kind of the whole deal. So I don't know. But CodeMirror 6 is where I've landed. ([Time 0:38:40](https://share.snipd.com/snip/67523a4c-1b08-4b00-82e3-2aa2716a3433)) - **Delay Schema Explorers; Encourage SQL Practice** - Resist adding a schema explorer immediately; force learners to practice writing SQL first. - Optionally offer small snippets or challenges instead of clickable schema navigation for v1. Transcript: Aaron Francis And I don't know if I am going to do that or not. It's a little bit of an open question to me as to whether or not this is beneficial for the user to have a SQL explorer or if it should just be, you got to learn to write queries. Write some queries, figure out your way around this database. Don't just click and shoot. But I don't know. We'll see. It's possible to do that. And it could be, you know, for the proper database courses, it could be a nice thing to be like, oh, here's the structure of the user's table. But part of me thinks, like, let's just explore it using SQL. That's kind of the whole deal. So I don't know. ([Time 0:39:49](https://share.snipd.com/snip/f2e06a4b-0d64-48e2-8dee-96ee6fd68663)) - **Keep Videos Uncoupled From Interactive Steps** - Avoid tightly coupling interactive prompts inside videos; offer optional challenges after a lesson. - Let viewers watch uninterrupted and optionally practice with playground tasks at the video's end. Transcript: Aaron Francis So, no. So I've thought about that. I've thought about like, well, maybe. So I've thought about doing something where it's like, all right, now pause this video and type this below. I'm not going to do that. That feels a little too tightly coupled. One is like, am I going to always have this playground down there? Am I going to find that 1% of the people use it and I just pull it out? I'm like, maybe. And, you know, am I like, am I going to build the entire course around the idea that people are actively interacting with it? Because I know that some people like me like to just watch. And I don't want to I don't want to, you know, listen to you be like, now, what did you get down there? Great. Okay, wonderful. And try to like, do this weird thing where I'm talking to you and you're not participating. So I may say like, hey, if you want to practice this, we've got data down below, you know, try these few things. I'll see you in the next video, something like that. But it's not going to be. All right, now pause here and click this button and the query will transfer from the video down into the text editor. Ian Landsman And now you can play with it down there like yeah i don't think i'm gonna do that you could do we i think we maybe brushed on this at some point in the past but um you could have like a little Ai aaron francis that's part of that part of the app that's like here's some problems we can try and like you know or whatever giving little like things to do in there. Since in the video, you're not going to tell them what to do with this. It seems like somewhere you're going to tell them. Yeah. Aaron Francis And it might be that like at the end of the video, I'm like, hey, there's a, you know, there are three challenges down below if you want to complete those before moving on. But it's not going to be in the middle of the video. Like, all right, now what did you get? If you got this, then that means that. ([Time 0:41:41](https://share.snipd.com/snip/cff2ee2e-9bb3-47d9-9629-cad8e437fda4)) - **Start With A Low-Price Subscription** - Launch Database School with a subscription priced low initially to build recurring revenue and momentum. - Use a low introductory price to attract early subscribers and validate the sustainable business model. Transcript: Ian Landsman So are you right from day one with database school? Is it going to be the subscription setup? Aaron Francis Not from day one, no. Ian Landsman Okay. So you're still going to have to buy individual courses? Aaron Francis Yes. Okay. Ian Landsman Now what are you going to do with like the Postgres course that you already have? Are old courses coming on to this new platform or no? Old database ones are, Old database ones are. Okay. Okay. Alright. Yes. And you're able to take stuff out of the old platform into the new platform to some degree. Yeah. Totally. Okay. Alright. Alright. Man. You got a lot to do. I don't know. I got a lot to do. I got a lot going on. Yeah. Oh boy. Okay. Alright. What else on database school? So design's coming in. It's not here yet. It's designed for the website and the platform, I assume. Aaron Francis Yeah, like just holistic branding. So platform, video, graphics, podcasts. Podcasts like youtube thumbnails kind of all of it um so that'll be that'll be in pretty soon i've been working with two different branding companies to try to figure out like you know Which one is gonna win um and so i'll you know i'll pick one soon and uh they're both like they're both actively working on it so i'm paying for two but i will one and maybe parts of the other Um and yeah then we'll just we'll we'll get super busy um and the the idea is to make this like a like a destination so trying to get away from single course launches and move as quickly as Possible into the subscription but I don't think I don't think I'm there quite yet. Right. Yeah. Okay. Not enough material yet. Yeah. Ian Landsman Yeah. Okay. All right, man. Do you have a date in mind? Aaron Francis Um, I have a hard launch of October 15th. Ian Landsman Okay. For the, for the new course. Aaron Francis I'm doing an intro to Postgres course, um, that will be free and it will be launched on october 15th okay boy yep that's pretty close that's pretty soon it's pretty late nights in the aaron Ian Landsman Francis future here ([Time 0:45:53](https://share.snipd.com/snip/a8bf879f-9ed4-48ed-aa1e-acad018dab50)) - **Use Sponsored Free Courses As Funnels** - Sponsored free courses can act as powerful marketing funnels to attract users into a paid subscription. - Database vendors might sponsor beginner courses to drive signups and brand awareness. Transcript: Aaron Francis Nice tie in there. Ian Landsman So yeah, that's going to be, that's going to be interesting because normally if that works, you could find other people to sponsor free. And even if they don't pay you that much money, it's like, it doesn't even matter because you mostly just want them to push them to people in school. Aaron Francis Yes, exactly. So if I could do this for like, I mean, think about all the big money databases that are out there, like single store. I could do an intro to single store, make it free for the end user and have single store pay me. And then I could do like, I could do any of i could do duck db which i really do i want to do that one because that one sounds like a lot of fun db duck db is like i need to go see what it is it's like The sequel light of analytics databases is kind of how i how i think of it um okay so stuff like that um yeah i would love like I would love for timescale to pay me a bunch of money to do a timescale Course that's free. So, yeah, I hope that this works out. I'm, you know, kind of putting a lot. I'm betting a lot on it. And frankly, you know, if it doesn't work out, this might be the end of the road. Like this might be this might be game over. I don't know if I can keep doing this, man. ([Time 0:50:39](https://share.snipd.com/snip/41b2d2b5-1a49-47e1-a6bc-96335e83c6d1)) - **Database School As A Make-Or-Break Bet** - Aaron admits Database School is a big bet and his 'last big swing' on independent education. - He acknowledges emotional and financial pressure if the initiative doesn't show traction by year-end. Transcript: Aaron Francis And frankly, you know, if it doesn't work out, this might be the end of the road. Like this might be this might be game over. I don't know if I can keep doing this, man. Oh francis wait a minute now if this doesn't no seriously if this doesn't work like let's say through the end of this calendar year we don't have signs that this is going to work i don't Know man i don't i don't know if i don't know if i can emotionally handle yeah this this this uphill. There are other options. Like I may, you know, if this doesn't work, I may just pivot fully into something completely different. I don't think getting a job is the only other option. That is, of course, on the table, and I'll do whatever it takes to provide. But there are other things I could do that, you know, I don't know, make more money, be more traditional, whatever. Right. But, yeah, this is like my, this is my last big swing on independent education, I think. ([Time 0:51:45](https://share.snipd.com/snip/3f467d11-9ac1-4196-a19d-0e6fc98fb332)) - **Ship Fast, Sell More, Avoid Cash Burn** - Jesse Hanley's tweet framed startup reality: long timelines and the need to prioritize selling over product perfection. - Ian connects that to subscription focus and the urgency to build recurring revenue rather than rely on cash cushions. Transcript: Aaron Francis It's funny you should mention Jesse Hanley. This episode of the Mostly Technical Podcast is brought to you by Jesse Hanley's software as a service called Bento, which you can find at bentonow.com. Bento is the email marketing and CRM and CRM platform that teams actually love teams, including try hard studios, the Aaron Francis, Kelsey Patrick. Oh, I know her last name. That, uh, that team loves using Bento for all of our email sending needs. So thank you to Jesse Hanley for making Bento. You can find them at bentonow.com. Thank you to Jesse for sponsoring the show. What did Jesse say on Twitter? Ian Landsman I need to talk to Jesse on some outro stuff at some point, too, because I don't think the email outro is going to be sending is like transactional, really. But I think he only does transactional. But I wouldn't mind having it all. Bento does it all. Yeah. I don't think it does like API based marketing email, it it does yeah oh bento now i don't think there's like pricing for that is there am i just making this up i think you are just making Aaron Francis This up um if you click on product in the nav on the top nav email marketing is the first drop down marketing Marketing automation is the third. Transactional is the seventh. Ian Landsman No, but email marketing, I think this is like you go in there and you create your emails and you mail them. That's not what Outcho would need. Outcho just needs an API endpoint, like a transactional email. Aaron Francis That's how I use Bento. Ian Landsman That is how you use Bento? Aaron Francis We use it both ways. Okay. So I'll send emails through the API. They have a Laravel SDK, which is paper thin because it doesn't need to be very complex. Right. So, yeah, I use Bento via API from the platform. Like for the newsletter, every week, Kelsey goes into bentonow.com and builds it out but yeah you don't you don't have to you can send you can send marketing via api how many how many weeks Have we been reading and i've been saying the marketing and transactional i know provider i i totally am aware that you do marketing email, but I was always under the impression it was Ian Landsman In the ConvertKit sense of marketing email, of the MailChimp sense of marketing email, where like you build emails in the UI and you send them newsletters, emails of various sorts. Great. To me, that's a very different kind of thing than an API-based email provider that you can send anything through, a postmark or whatever, right? And I knew they did transactional email, so obviously that part is just API-based because it's transactional. But they did not think the email marketing was the same. So that's intriguing. So now I'm with definitely a podcast. Aaron Francis See, folks, this is why longitudinal sponsorships are important because your audience, who in fact may be hosts reading the copy, your audience needs to hear it over and over and over. Yeah. So sponsor the show and keep it going until we figure out exactly what your product does. That's the play here. Ian Landsman Jesse, reach out to us and confirm that this is actually true, that you could just send an email over the API, full, the whole body, the whole thing. Aaron Francis Jesse's at the gym right now. I know. And he's like, what the hell? You guys. Ian Landsman He's like, I've been doing this ad read for a year and a half and you don't even know what we do. I thought I knew what you did, but I don't apparently. Aaron Francis I knew, Jesse. I knew. All right. Jesse had a tweet. What did he say? Ian Landsman So he had a tweet. I'm not going to read the whole thing, but it was basically about being a founder. And it was provocative, and I enjoyed it because it's like, I'm going to start at the middle of it. It is a slog and extremely hard, right? All caps. Aaron Francis Yeah. Ian Landsman All caps. You're working on timelines of months or launch. If you're working on timelines of months or launching next year because you're letting people try it for a few months to see if we find value, I guarantee you're not going to make it. And this is the part I thought was also interesting. Also having cash from your last company is not an advantage you think it is. It just makes you feel safe until you spend it all LARPing being a founder. I've seen so many people burn through all their cash reserves because they didn't sell product as their priority. If you have the cash to burn, push hard, you know, unselling more product basically is his point. Sell more, sell some more, sell some more. So yeah, this is the mindset. This is the successful mindset. So I, and I feel like people don't, I don't know, out there you have all this fluffery now and I enjoyed the straightforwardness of this tweet. Like A, you're probably not going to make it. Let's just be honest. And B, you're not working hard enough to make it and you're not doing the right things to make it. And I thought it was very nicely encapsulated in this little tweet here. So I'd be cool to talk about, but that's kind of tying what you're talking about, which is, you know, the focus required and what it takes to get people to buy something. Right. And so, yeah, that's interesting. I don't know. I don't know how you would apply this tweet to your own situation. Aaron Francis Let's see if you're working on timelines of months or launching next year because you're letting people try it out for a few months to see if they find value. You're not going to make it. I'm clear on that. That one's good. Yeah, I'm safe. Yeah. Having cash from your last company. I'm safe on that one. We're good. Not a problem. Not a problem. I've seen so many people burn through their cash reserves because they didn't sell product as the priority. Okay, well, hold on. Actually, let's think about this. ([Time 0:53:54](https://share.snipd.com/snip/676c429b-7ff5-44b0-a370-21dee05c1c37)) - **Validate Demand By Selling Subscriptions Early** - Launch subscriptions early, even with limited content, to prove demand and motivate continuous delivery. - Start with a low monthly fee and add content over time while tracking churn and growth. Transcript: Ian Landsman I'm amenable to that. Because I think the thing is, like, that is the core of any future of this product, right? And, like, I think you selling subscriptions, even if it's not a lot at the beginning, because it's not really totally there, it just gives you something to build on. And every month you can build more on it. And I don't know. I just feel like the database school, maybe you still have another course you launch on the old platform. I was like, I'm just going to build a site and launch it and slice it up and put it in database school as part of the subscription also or whatever. I don't know. I don't know about that, how you would organize that. But like, I don't know, I just feel like if this is going to be like, this is the last big push of Aaron Francis, course creator, then I feel like the subscription service, that's where You have to get to. Because that's what lets you not have to work so hard all the time and build a sustainable business that you can then plan for and grow and all those things. Aaron Francis Like subscriptions are such a big part of that generally i agree so how do i how do i square the subscription without enough content circle um so like what do i charge and what do they get In the beginning that's why i'm like subscriptions are the final goal right i don't have to be there before the end of december i just need signs of like, hey, this is going to work. Like this is trending positively. So I'm not like December, I'm either rich or I'm dead. That's not true. Hopefully. But how do I like my thought was I'll do a few in the middle and then once there's a good backlog, we'll transition to subscription. So you're saying just do it straight away. What's the story or the play there? Ian Landsman I feel like to keep you motivated and excited, I feel like if you had 50 subscribers, it's more motivating. Do you know what I'm saying? These are people paying me. It's proving that people want to pay for this as a subscription. I'm going to get out there and sell. I'm going to talk about it all the time. That is that motivation level versus the big spikyiky yeah i made 80 grand on a course right now i come down and the next week i make zero and like that's quite the come down right because If this is gonna be the long-term thing i don't know i feel like you could judge it right it's like it starts cheap i think that's the easiest answer right it's like okay it's nine bucks A month It's five bucks a month. It's 10 bucks a month, whatever. It's cheap, right? It's way cheaper than the course would be. So that's your phase one, right? And I think you can have an asterisk there. Like database schools launching during our first six months, it's going to be super cheap. You know, we might raise in the future or whatever. Maybe you don't want to say that exactly, but it can be even cheap for the initial people, right? And you know, the cost is going to go up in the future, whatever. I don't even think that's that important, that part of it. ([Time 1:00:11](https://share.snipd.com/snip/85635ca9-3c7f-4e6e-b36c-86902c8342ff)) - **Creator Energy Dictates Product Choices** - Aaron recognizes he must align product choices with personal energy and interests to produce engaging content. - He won't chase hot topics (like AI) that he cannot commit to authentically on camera. Transcript: Aaron Francis And products in this uh we'll say crappy vertical of education that's hard it's just a bad it's hard there's a lot of competition there's a lot of alternatives um yeah yeah like how you Ian Landsman Gotta stand out enough to make people pull out their wallet a lot of that is I think on you as a performer, let's call it, right? Like, I think Ken C. Dodd has fans. I think Jeffrey Way has fans, right? Like, people are paying them because they're fans of them, which I think you do fit that mold also. But you gotta, yeah, is it, how do we turn that into money in a reliable way? Aaron Francis Yes, is the evergreen question. Yeah. Is how do I turn that into money? And part of it is like, what do I like, what do I want to do? Who am I? And what do I want to do with my life? Right. This goes back to the, why don't you just teach AI courses thing that was being beaten over my head? Because I don't want to. Right. And it's like, what do I want? Who am I? What do I want to do with my life? And that has like that has to be taken into account i'm not able to just produce what i think are creative artifacts by brute force i just i'm not capable of doing that maybe other people Ian Landsman Are i'm not yeah i mean i do think that is part of it i mean i think i have so even my own case right it's like i think when the ai stuff comes in and is intriguing, but I don't think you're in the Right place for it because I think you're on the too far of the end towards burnout to probably fully take advantage of it potentially. But like, you know, at the end of the day, like help spot as a product basically comes down to like I was in there early as things moved to the browser. And for like those first three or four years it was super awesome and that we just sold tons and like a lot of those customers stayed for the next 20 years um it got us linked in places and Like built up the brand a little bit at least from an SEO perspective not that it was like ever a household brand but I didn't need to make that much money so like literally the first three Or four years kind of like made the whole thing and after that it's been way more competition and definitely way harder and all those things but i can still like be sick for a year and that Sucks and i don't i'm not as productive as i should have been and would like to have been but also we didn't go out of business um because we have established customers and they pay us a subscription Right and so so there is an element of like striking where the iron's hot that is like can be advantageous um and i still wonder if there is like an element not of the pure like ai shiller But there is the like ai database angle sure things and those kind of things that like maybe even just that maybe just the first thing in database school that's built for database school Is some kind of vector course or totally whatever something database related right so that you can like leverage because you know this is not gonna last forever like it's gonna bust In some fashion whether it's like a full-on dot-com style bust whether it's right uh you know just there becomes so much competition that it's just too hard to get in there at a meaningful Scale. But there is an element to where like riding the wave that others have created is useful versus having to make the wave, you know. Oh, yeah. Aaron Francis I feel that. And my argument has never been, I don't think this would make money with like AI courses. I'm not an idiot. I always have believed if I did, if I was super into AI and did a course, I bet it would make money. But I think you're right. I'm just too far gone to be super into AI. Like I just can't do it. I can't do it. I don't have the time. I don't have the energy. I don't have the interest. And all of that is going to come through on camera. And it's going to be like, first of all, it's going to be depressing to produce because I'm going to be like doing, putting all of this energy into something that I don't really believe In. And then it's not going to do well because I'm going to be embarrassed to talk about it because I'm like, this isn't actually very good because I don't believe in it. ([Time 1:09:30](https://share.snipd.com/snip/87f79fab-3ed9-4fff-9170-6d24c90e1969))