Django Chat

SaaS Pegasus - Cory Zue

Episode Summary

Cory Zue was the longtime CTO of Dimagi, a Django-based digital health platform focused on underserved communities. He is also the creator of PlaceCardMe and SaasPegasus, a Django boilerplate project.

Episode Notes

Support the Show

This podcast does not have any ads or sponsors. To support the show, please consider visiting LearnDjango.com, Button, or Django News.

Episode Transcription

Will Vincent 0:05
Hi, welcome to another episode of Django Chat, a podcast on the Django web framework. I'm Will Vincent joined by Carlton Gibson. Hi, Carlton.

Carlton Gibson 0:12
Hello.

And this week we're joined by Corey Xue, who has a long history with Django does sass. Pegasus works at tamagi has a JavaScript series. So we're gonna dive into all that. Welcome, Cory.

Cory Zue 0:23
Hello. Happy to be here.

Carlton Gibson 0:24
Thank you. Thanks for going on.

Will Vincent 0:26
So maybe we could quickly start. What's your backstory getting into Django? And then we'd love to talk about these projects and a lot of the modern Django that you you've been doing and teaching others?

Cory Zue 0:36
Yeah, sure. So yeah, so I, I studied computer science in, in university, but didn't actually touch Python or Django until I sort of entered the workforce and around maybe, yeah, I don't know when it was maybe like 220 2009 is maybe when I started using Django for the first time. Do you recall? What was the impetus for Python and Django? Was it something work related? Or was it on on your own sort of projects? You you thought it might be a good solution? Yeah, it was, it was work related. So. So my company is moggy. We do like healthcare ish solutions primarily for emerging markets. So we did like a lot of work in in Africa and other places. At the time, we were doing a lot of dotnet development, and building these actual, like, clinical systems, for health record systems for the country of Zambia, this was the thing that I was working on a lot. And when we moved to more web applications, we were kind of evaluating the landscape. And we're really torn about whether to choose Django or rails, which was the other sort of, like, popular thing that people were using. And Django was a little newer, and it was a little bit sort of unproven. But we had a few people on the team who were really bullish on it, and, and we're kind of, you know, preaching the Python gospel, and they were like, this is, you know, this is, this is the right decision. And so it was actually sort of like a relatively snap. You know, we debated it for a few days, or maybe a few weeks, but a relatively quick decision that sort of like, you know, drastically changed the course of my professional development, I suppose, or my career.

Carlton Gibson 2:28
It's nice that Django is there in that story is the new hotness, you know, because Django now is the old state, you know, well, we will you know, are we going to use x y Zed? No, we'll use Django. But

Cory Zue 2:39
you know, yeah, now, it's the boring technology. But I think web frameworks are a little bit boring these days. In just, which is a good thing. I mean, it's a lot of it is data science. And there, there hasn't been I mean, there's there's fast API, there's there's Falcon, like there's still some stuff or not Falcon Phoenix been watching that Marvel show. But there's less excitement on web frameworks, I think, in general, as opposed to like the late Python itself and the ecosystem. Yeah. But in any case, I wonder what, maybe except in the JavaScript world, I feel like things are still I still feel like I have a hard time keeping up with with, you know, everything continues to happen in JavaScript wrote. Yeah, that's that's the overwhelming, it's still kind of Precambrian. Right? Like, there's not, you're saying there's not sort of like a Django of JavaScript yet, or, or rails? I don't think so. I don't think there's a battery. I mean, it's a whole bunch of micro frameworks. And there's Express, but I don't think there's a Rails Django equivalent. It ain't no grid. Not that I've not that I've found or, or there's not one that everybody agrees on.

Carlton Gibson 3:47
Yeah, right.

Will Vincent 3:49
Right. What's I wonder how much Python because you're you went to MIT and you know, being based in Boston as I am. Python seems pretty common here. Whereas when I was out in San Francisco, around 2010, it was all rails all Ruby, all JavaScript. So I don't know, I wonder how much is Python was already kind of embedded in MIT, I think, was one of the first to switch over to it. for undergraduate teaching. It was maybe it was after you left though.

Cory Zue 4:15
It was it was after yourself did the old intro CS class in scheme, and less, which, you know, when they switch to Python, we were like, these these guys, they they have it was, you know, the school both directions and, and matching our brackets all the time? And but um, but yeah, no, I didn't actually. I mean, I learned Python and Django at the same time. And so Django was really my first exposure to Python. And for a long time, I didn't even really know the difference that Well, like I didn't know when I was using a Django thing versus versus using a Python thing because it was all it was all new to me.

Carlton Gibson 4:57
Yeah, I had I had a similar experience that you know, I had the Django book, and I was using that, and then it but what's this Python? You know, I mean, what the deeper bits and then there was a book was it called pro Django development or something like that. And it was awesome because the first chapter was like this kind of, from a Django perspective, this tour through the Python data model and through descriptors, and you know, all these bits and bobs that how Python works. Ah, yeah, that's Python, you know, it's, that was a real eye opener.

Will Vincent 5:29
I should I should add, that I keep I'm working, I'm still working on the updates to my my bit Django books. And that's one of the big things is thinking like, should I should I have a chapter on just the basics that you need for Django? Probably, because I mean, you kind of need to know classes and mixings. And even if it's a little bit of a fly by just sort of saying, instead of saying, like, you should know a little bit saying, like, let me just show you some stuff. And as long as that's good, we can continue, but otherwise, you might want to go brush up on your Python.

Cory Zue 5:55
Yeah, that makes Yeah, that makes sense to me more work, as someone who, who learned a lot on the job, and often kind of followed patterns that I didn't really understand. And then sometimes they got me into trouble. I think having that that small amount of foundation to just sort of orient you is often really useful. And and like under under done sometimes if you're just trying to try to ship something or, you know, get something out the door.

Will Vincent 6:19
Alright, maybe I'll add that chapter after all based on this. But so demonte is really interesting. We were we were talking about this before we went on the air. So I've visited there for Django, Boston talk, and it's been, I mean, as you say, it's doing healthcare, but enabling, you know, digital healthcare in countries that don't that are using paper or whatever before. So it's making huge advancements in public health. But it's been around since 2000. Before 2006, right, because healthcare is kind of hot now. But dimagi has been there the whole time. Right. So I guess I'm curious, what was that? What was it like? And, you know, 2006? Seven? Because that whole landscape feels very different.

Cory Zue 6:55
Yeah. And what it is today, yeah, no way, we were like, way, way ahead of our time. And, like, our find one of our founders, has basically basic idea was, you know, there were these rural health workers in, you know, in places like India, who, who were, he thought that they could have a job aid that would, you know, help them you know, triage patients, ask questions, do checklists, and sort of, like, make make the quality of those care visits better and, and serve as, like a data data system. But at the time, like, even smartphones didn't really exist. And, and even sort of, like those candy bar, Nokia friends were like, you know, not not that common in places like that. And so we started on this, these PDA is like, like, if you remember, like a Palm Pilot type of thing. And, and, anyway, so that was one of the very early projects that we did. And it didn't really work that well. But just because the hardware and the ecosystem wasn't up to speed, and then we diverged into doing sort of medical record systems and stuff in clinics for a while. And then, sort of once once the technology landscape had had matured enough, and the hardware had caught up and feature feature phones, I guess, is what we call them. But like those those like old Nokia candy bar type phones, and then smartphones came in, then it became possible to really, like equip those, those rural health workers with a device that could handle everything that they wanted to do. And so that's, you know, sort of five to seven years after we started, was when we really started seeing successful projects and starting to scale up, kind of around the world.

Carlton Gibson 8:36
This is really interesting, because a lot of the infrastructure that we had in, you know, that Europe, say Western Europe, it's just not there. And so you read a lot about the jump straight to mobile technology in developing countries.

Cory Zue 8:49
Yeah. Yeah. And, and connectivity also, you know, is as well as is an issue there. And so we built the whole thing, to be able to be fully offline whenever, whenever you didn't have a connection, and then sort of do sort of like a, like a best reference synchronization whenever it whenever it was able to get data. And so in the early days, especially, and even today, in many parts of the world, it was common for someone to sort of like, you know, do their use their phone, use their app for a week, you know, visit a bunch of patients, and then and then go stand on top of a hill, you know, the one place within, you know, 10 miles that actually get service and sync up all their data and everything else. And then and then, you know, come back and do it for another week. But so that would that was certainly a big and continues to be a big design constraint and a challenge with with the applications that we build.

Will Vincent 9:47
So that so I guess so the backend has been Django from the beginning, but then the front ends switch, you know, switching and the different local storage is that's obviously changed a lot more as phones have developed. Is that fair to say?

Cory Zue 9:58
Yeah, that's right. And it's but it's it's actually only really been two big? Well, I guess three there's a there used to be an old like Nokia back end. And then there was an Android back end, which is the most common one and then and now there's a web version, which also serves as like an online only iPhone client.

Carlton Gibson 10:20
Can I ask about that client? I'm interested in this, but the How do you deal if it's web based? If it's in the browser? How do you deal with storage being kind of tracked, you've got local storage, but that kind of gets deleted behind your back without you really knowing about it or being able to do anything about it?

Cory Zue 10:37
Yeah, the browser version is online only. We assume if you've got a laptop, if you've got a browser, then then you've probably got an internet connection. And are you? Is it Postgres, like, just, you know, this is a technical podcast, so we can dive in. folks do mostly Postgres these days, we, so the, we make this product platform called comcare. And it's actually sort of, it's an application builder for these mobile apps. And so you can you can kind of think of it like a like a web flow or like a Squarespace, but for like mobile applications that that end up on a phone. And so because our, our users are defining their own schemas, like they can, you know, they can pick whatever questions they want to ask, they can, you know, choose whatever data models how they want to, like, update the fields and validation. So it's basically all of our data is completely schema lists. And again, going back to 2008, or whenever, when we were first designing and building this thing, no SQL was was all the rage and Postgres Jason support wasn't really there yet. So we actually made probably one of the biggest technology mis decisions. Maybe the biggest one, which, which ultimately is on my shoulders, but but so a lot of our data was in couchdb, and some of it still is in couchdb. But we are doing our best to move away from couchdb and into Postgres.

Carlton Gibson 12:07
But that's kind of sad, because couchdb was cool. I mean, you know, schemaless thing, it had the REST API just sort of just there, you know, it did the same kid, like, you know, yeah, db, which would work in the browser would sync to it, like, which got to suit your use case, one would think I was,

Cory Zue 12:27
it was super cool. And it worked really well, for that sync thing worked really well, for certain types of applications that we built, where it would just kind of magically handle the, the sinking for us, but but at scale it, it has really become a problem. I mean, at the our current app, I don't I don't know the numbers off the top of my head, but like, you know, our, we've got order of magnitude, like, you know, hundreds of servers, including like, you know, like it certainly two digit numbers of database servers. And at that scale, we've had some issues with couchdb. And like, when something goes wrong with couchdb, it's just, it's not as easy to sort of fix it and troubleshoot and everything else just because it's, you know, the adoption, isn't there.

Carlton Gibson 13:15
Okay. And so is this, is this solution, no Postgres? Is that the way you go? Or do favor something

Cory Zue 13:21
Pretty much for any sort of structured data?

Will Vincent 13:25
Got it? So you write tamagi for quite a while and then 2017? Right, you made the leap into self self employment, right. You're, you're sort of at a hybrid situation now, but yeah, I'm curious, what was the motivation for that? And then let's talk about your various projects, because you've been doing the, you know, out in the wilderness thing for not as long as I have, but almost as long.

How long have you been doing it? Well, if I, if I'm honest about it, seven, eight years at this point, I mean, I worked at some startups along the way but nothing that either got traction or I was an integral part of so yeah, the last five years it's been my own show.

Cory Zue 14:06
Nice.

Will Vincent 14:07
So I so I'm sort of like so I said Also, before we got on you have a newsletter writing about kind of your journey and so many of those things resonate with me you know, the the up months the down months you know, trying to find reason to equate why sales are up or down and you know, all that ring so true, right is I find just the highs are higher and the lows are so much toward doing your own thing, because it's just you. Yeah, totally, because I now I don't know, I'm just sort of sanguine about all of it. Like I don't even look at sales on any regular basis. I don't look at my analytics more than every month. So that's a because it just edgy.

Cory Zue 14:48
That's an impressive level of Zen.

Will Vincent 14:50
Yeah, Zen are being overwhelmed by you know, little kid, but it's it doesn't change anything, is what I realized, right as long as there isn't a massive spike. There's very little of my day to day input that changes the output. And but it's irresistible when you go to do your own thing to see, you know, day by day, minute by minute, you know, sales, sales or analytics, right? It feel it feels so good. But the problem is sort of attach yourself to the good and the bad, or at least, for sure. I think that's a I think everyone, everyone struggles with that.

Cory Zue 15:23
And yeah, but anyway, so So. Yeah, so basically, going back to your question, like, I so I was, I don't know if I said this, but so I was the CTO of, of demography, during during sort of this period, 22,007 to 2017 or so. And by the time I decided to step down, you know, the technology part of the org was, like, 30 people. At one point, I probably had 15 direct reports. And it was like, so there were, I was both burnt out and doing a bunch of, sort of, like, work that I didn't love. Like, I think of myself as a builder or maker. And I found myself doing lots of, you know, HR, management, t type things. And so, so I was, I was just like, Okay, I need a break. And then it was, so I decided to go on to, like, on a six month sabbatical. And then, in the first couple weeks, I was like, well, like, what am I gonna do, because I'm not the type of person who, who just like, sits on a beach I better, you know, like, I like to stay busy. And, and so I was like, well, and it was right around the same time that the, like, I started reading articles on indie hackers, about these people who were sort of like, running these small businesses, and you know, making you know, 10s of 1000s of dollars, or hundreds of 1000s of dollars, like, you know, work and living on a beach. Yeah, like, and doing crazy stuff to like, you know, like selling candies from Japan, or like, like that. And there's, there's a ton of cool stores. And I was like, well, like, um, you know, I can build apps, like maybe I'll, maybe I'll try to figure this out. And so, but I was very unambitious in my plan. So I was like, well, let's just see if I can make $1 just like selling something online. And so, so I tried to pick something that was, you know, quite easy and, and likely to be able to make $1. And so the first thing I tried was this, it was a product called placecard. Me, which is, it's, I still feel silly to this day talking about it, and then the fact that I still run it, and it's, it's made me like, you know, $50,000 this is crazy, but, but it's basically like, you just upload a spreadsheet of of names and table numbers for like a wedding. And then it creates a PDF file that like, lays them out in the layout of like place cards, which are these things that you can like, put on tables to tell people where they're sitting. And then, you know, people can download them, they can print them out, they can cut them up and and put them on tables for weddings and events. That's, you know,

Carlton Gibson 18:12
that's a real that's a that's a that's $1 to do that.

Cory Zue 18:15
It was free for a very long time. Oh, yeah, it's still free if you if you are willing to tolerate a little bit of branding on the cards. Okay. But, uh, but yeah, now it's $8. Okay, for for sort of like a set of cards, as many as you want.

Carlton Gibson 18:37
That's brilliant.

Will Vincent 18:38
Is that something that? I mean, I think I guess all three of us have been married. So is that something that the other, there's, there's like this wedding industrial complex, and there's all these like Squarespace for wedding sites? Is that something that they didn't have at the time? Or have they built that in? Because I seems like a great good idea, they might come to you and say, we'd like to buy that or else they just copy it?

Cory Zue 19:00
Yeah, it's, it's not something that I had seen in the wedding industrial complex. It's more common in print shops, like, like, like, a company that you know, prints photos and photo books or something like that. They might have the ability to do something like this. But, uh, but yeah, like, I wanted something that was super quick and easy. And, like, we we would have used it for our own wedding, if we had found it. And so that was that was like the seat of the idea was like, as you know, I was like, sitting there. Like, well, actually, my, my wife ended up on the night before our wedding or two nights before our wedding like sitting around with a bunch of friends and reading these things by hand. But, you know, I saw other people just kind of typing typing the names into like a Microsoft Word document or something like that. And I was like, it's, you know, it's crazy that this is not a solved problem?

Will Vincent 20:01
Well, there's Yeah, there's two extremes, right? I've seen some weddings, but they hire a calligrapher to do you know, everyone's name. And then there's more of DUI I, or in my wedding, we just had, like a buffet, because we thought we'd been to enough weddings and seen, you know, it's like, you get married, you're like, I'm gonna keep it simple. I want to keep it small. And it just is so much more complex and so much bigger than you think it is, like, even things like I didn't think about the fact that everyone is a plus one, or just like, cousins and stuff, right? So I was like, well, I only know 20 people, you know, 20 plus 20 is 40. But like, now, it's like pretty hard to keep it under 100 for most people.

Cory Zue 20:38
And the entire industry is designed to make you feel bad about not being extravagant enough, you know? And so like, there's, like, everyone's just trying to one up at each other. And usually, all your friends are getting married at the same time. And so you're going to these weddings, and everybody's kind of like, ooh, did you see the centerpieces and like, it's a it's a vicious thing?

Will Vincent 20:57
Yeah, that's a great idea that I mean, that reminds me and maybe you're inspired by what's his name? Patrick, who's at Stripe now who has the the Jeopardy game for teachers?

Cory Zue 21:07
Bingo card maker. I actually didn't find out about him until later on, after I'd already kind of gone down the route of the placecard thing, but but I do sometimes fashion my myself as like, oddly sort of following his career in in sort of, like, you know, on a much smaller scale. But starting with like the paper, printable thing, and then and then, you know, sort of stair stepping into into products that make more money. And I wonder if I'll eventually end up at stripe, I wouldn't entirely rule it out, although I don't think it's likely.

Will Vincent 21:43
So I worked at this company called Quizlet. And education space and of the initial 10 people 4 are at Stripe. So and they're four of the best people. So yeah, yeah. Partly because we were like our founder was roommates with one of the early stripe engineers and their office was next door. And you know, it's like, if there's this 100 billion dollar juggernaut next door. It's not a bad place to go when you're looking to switch things up.

Cory Zue 22:12
Yeah, that makes sense.

Will Vincent 22:13
But anyway, so those next things because you've you have what you've got, so SaaS Pegasus was the Django boilerplate, you have this modern JavaScript series.

Carlton Gibson 22:24
This is what we want to hit you up about, because I saw you tweeting about your SAS Pegasus, which is just, it's great. And the way you do it, and the way you you blog about how it's going. And, you know, I love that. So can you talk about those products? And

Cory Zue 22:39
yeah, sure. And so yeah, so the placecard thing. Like, after I did that, and, and I kind of started to get bored of it. And I was like, Okay, I should do a new thing. And then I was like, I like, like, all this code that I have to like, redo. And so I can only copy the placecard repository until like, a new thing, and then started editing stuff. And, and I kind of realized, like, oh, there's like, this should be like, there should be a product that gives you a clean starting point to like build sort of like a generic web application or SAS application. That's like, you know, Django is Django is an incredible foundation. I love it. I think we all probably love it on this conversation. But it's Think of it as like a, like, it's not being opinionated about your, your own model, like how you do users. And that's how you structure your project, how you do like UI stuff. And so I want to, I wanted to produce something that would provide a more fully featured version of Django that that has a lot more, even more batteries included, I suppose. And, and then sell that as, as a template for other people to, you know, use to build and launch their own product ideas. super quickly. So that was kind of that that was the genesis of the idea. And I will say like, it wasn't it wasn't a completely like novel idea. Like there were other products in other frameworks. There's something called Laravel, Spark, for Laravel, PHP, and then there's a handful and the rails ecosystem. And so but I, you know, I looked around, I think, and I feel a little weird talking about this, but like, I think something about the Python Django community is they're so sort like pro open source, and in some ways, like, not like, great business people are like, I don't know if that's right. But like, I feel like the type of person who uses Python, and Django is often like, you know, an open source developer who's who's, you know, I like, like the idea of making money like it's sort of even built into like some of the Django code of I forget, William, what you were what you were calling it, but like some of the Django terms is like, you know, we don't. We don't want people to like, yeah, the Django trade. Yeah. But yeah, so So anyway, so like, there, there just wasn't there was absolutely nothing in the space for, for Django as as like a commercial product. And so it seems like a clear gap that that was worth filling.

Carlton Gibson 25:23
And how long have you been working on it now? Like a year, two years, three years? Like, how long has it been going?

Cory Zue 25:29
It's Yeah, it's, um, it's a little hard to measure exactly. But I would say I probably broke ground on the code base. Let's see three years ago, okay, about three years ago. And it's, it's basically been my full time side gig, which so it's, it's getting half my half of my full time for the last two years. Okay. So,

Carlton Gibson 25:51
and you seem to have everything you've got like a bit. You've got a bit of bootstrap. You've got a bit of did you put tailwind or not? I saw you that tailwind is

Cory Zue 26:01
experimental.

Carlton Gibson 26:02
But you've got light stripe in there. You've got I don't know, you know, tell us a bit.

Cory Zue 26:06
Yeah, exactly. So the idea is like, kind of all the pieces that hopefully you need to to build a business that's got stripe for either like one off payments or for subscriptions it it ships with either bootstrap or Boma or experimentally tailwind. So you can kind of pick your CSS framework. I'm working right now. It's I'm working right now on kind of two versions, one, which is sort of like a classic react Django REST API architecture, where you sort of have like the decoupled client server, because a lot of people are interested in using that. versus one that's sort of vanilla Django, models and forums, that type of thing. At the moment, it's got, it's kind of a hybrid version. And we might talk about that more if we talk about the modern JavaScript series. But so at the moment, it's kind of got it's a, it's a Django server side rendered application that also sprinkles in react in in a few different places. So if you want to use react, it's I like that architecture for as a solo developer. And I think it works really well, as a solo developer. Although I think for teams, it's often the case that people want, you know, they want to have their front end devs and their back end devs. And they only talk to each other through API's. And so so now I'm working on, on figuring out how to how to offer that version as well,

Carlton Gibson 27:40
I think, yeah, I think, you know, kind of agency or small startup environment, they very much have this, these silos of those are the back end people over there, and they're locked in that cupboard. And here are the front front end people, and they're sitting on gym balls and socializing with everyone else.

Cory Zue 27:57
Which is interesting, because I've never actually worked at an organization that was structured that way. But but maybe it's just, I mean, I've basically mostly worked for demography, and maybe people didn't have a sense of how to split things up like that back when we were sort of breaking ground on architecture.

Carlton Gibson 28:12
So I guess the follow up then is, you know, how much of your time do you spend on building you know, features for the for the boiler plate versus, you know, promoting it? and marketing and telling people? Yeah, because, you know, you build it, no one buys it? Well, that's because they didn't know about it.

Cory Zue 28:30
Yeah, no, totally. You know, I, I try to spend half and half. That's kind of my target. And I there's a book by Gabe Weinberg, I think the creator of DuckDuckGo, and somebody else whose name I've gotten called traction, where they talk a lot about this. And they, one of the things they say is like, you should probably spend about half your time trying to get traction for your thing and the other half, building it and making it better. I think, probably as, as you could guess, and maybe as you guys could relate to, it probably skews substantially more towards building just because I find the building part to be a lot more fun. And a lot more interesting. But But yeah, it's probably it's probably closer to like, maybe, maybe 1/3. Two thirds. Okay. 130 attraction to you have had some luck, right?

Carlton Gibson 29:23
Because I've seen you I've sure I've seen you at the top of the orange site a couple of times.

Cory Zue 29:31
Yeah, like I do. I have gotten lucky and and managed to get a couple articles on on Hacker News, I think is what what you're referring to.

Carlton Gibson 29:41
It's funny, because that's $1 in the pot, if you say its name, though, so.

Will Vincent 29:47
But I think it's just the JavaScript articles, right? where it's like, oh, yeah, it's always like Django exists. And here's JavaScript. That's my sense of Hacker News. Like I always tease Carl to when he launches the new version of Django. It's like you know, for like, a morning. It's on Hacker News. And it's like all these comments being like, is this still here? You know, and then it's, you know, whatever. Yeah, people are still using Django.

Carlton Gibson 30:06
Yeah, more or less.

Cory Zue 30:07
Nothing I've written about Django has ever made it on Hacker News. It's, it's, it's all my sort of like that. That's my point. Yeah. Yeah. So I am, you know, maybe too transparent about all the stuff that I'm doing and how much money I'm making and sort of like, like, chronicling, I do these monthly retrospectives, where I sort of like, say how much money I made and when I was working on and how the month went and stuff like that. And occasionally, I will take some learnings from this sort of, like solopreneur journey and try and distill them into something more general and every once in a while that makes it on Hacker News. But it's the it's the business stuff, not the not the technical stuff.

Carlton Gibson 30:50
Okay, but Okay, so the more more questions in this, and then I'll let we'll jump in. But if you do get a post on Hacker News, it goes really well. And you know, you get it, does that actually, will translate into an increase in signups or increasing sales? Or is it like they can they see they crushed the server? They go?

Cory Zue 31:07
Yeah, it's, um, it does it? Not a lot.

Carlton Gibson 31:13
Right. I

Cory Zue 31:13
think I think I had one article that I published around shortly after Black Friday, where I talked about, like, kind of how I ran a Black Friday sale. And my lessons learned from that and stuff. And that did really well on Hacker News, and I think led to two or three sales, which is I mean, you know, it's like that. So the current sale price is $300. So like, you know, $900 is not nothing for, for an article, although the article probably took me like, 20 hours to write an edit. Not, you know, I could be, you know, selling my time to, to big corporations and earning women that,

Carlton Gibson 31:57
like, that kind of price range, you are targeting sort of agencies or companies or, you know, people not necessarily check targeting the loan developer.

Cory Zue 32:09
I think I'm targeting the lone developer. Like, if I were targeting companies, I'd probably charge

Carlton Gibson 32:15
Well, that's what I was gonna at least five times that.

Cory Zue 32:19
And I've Yeah, I've often thought about experimenting with with really big price increases, but but I, I also like having lots of people using it and giving me feedback and stuff. So yeah, it's a bit of a trade off. I that's always the it's the the base camp folks, was it 99, I couldn't figure it out their their name, but they always talk about this about sort of like the appeal of enterprise, they talk about how they deliberately keep their price low enough. So they can tell big companies to go away, because they don't want to become custom. But like, the reality is, you know, you have one or two mega users. And it's so much nicer to have one or two users who drive 60% of your sales or whatever. But there's this like Deathstar poll of, then you do what they want versus what your general customers do. But it is where all the money is. So yeah, on any product, I think it's really, really hard to avoid that. I mean, even I remember even slack when it went public, was like 60% of the revenue was 10. Companies, even for slack. And I think that's probably not uncommon, actually, for a lot of things is that a lot of things that seem like they're very customer focused, the reality is, you have a couple big fish who drive, you know, so much. So it's, it's really hard to resist that temptation. And maybe, you know, it's not a bad thing to do. But I felt the same way on some things where I kind of want to do what I think the community wants. But if one or two people are using it and driving a lot of the sales, it's like, well, yeah, it's tough, it's hard to make a judgement on what the right call is. Totally. I remember the one thing, the one the one moments I have had, where I was just like, Oh, I should be charging more. It's like, there's, there's been maybe two times where someone's email address was, like, you know, like, you know, Alice at, like, very big company. And I'm like, they just paid like 300 bucks, and they probably would have paid, you know, many 1000s of dollars for this. And, but, um, but apart from that, it's like.

Will Vincent 34:21
But they, they kind of need the hand holding, though, right? Like, that's the thing is that at the at that price range, they expected normally get a bespoke experience a dedicated person, and when you're, it's just you, it's hard enough to do marketing, let alone to, you know, adequately give the time to someone spending 1000s of dollars on something. Yeah. Just to make you feel better. It's sort of like, even if they have, you know, $50,000 to pay for a startup project. There's all this paperwork and all these things involved that, you know, you're probably not set up to deal with I mean, for, you know, for whatever amount, you probably could figure it out. But, like, I mean, we have the same so the Django Software Foundation has this issue with grants, like especially we just recently, we talked To the head of the Python Software Foundation, there's a lot of grants out there for open source. But most of them require like a detailed financial audit and all this extra stuff, you know, rightly so that the DSF doesn't have the infrastructure to do. So we sort of can't really get a five figure grant, because it comes with all these other things. So I think there's some analogy there. Yeah. I've been watching SAS, Pegasus and really happy that there is a paid product. Finally, because I share your thoughts that there's something about Python Django, and maybe it's I've always thought it's make people are a little more advanced in their career, like a lot of times people who want to build a startup, they go to JavaScript or rails because they kind of want to make money, whereas Django and Python is a little either pure or someone's later in their career, or they're at a bigger company where they're not as focused on the financials from my experience. So it does make the ecosystem around educational content, starter projects, hard. I also think that, you know, because I have some, a good friend who's a Laravel developer, and so he's always telling me about all the things they're doing there, where he's like, yeah, for $100, whatever it is, he's like, he just buys the starter project, because he has a lot of clients. And it just he builds it to the client and saves him time. But my sense is Django is generally maybe with Wagtail it's a little different, but it's used for more complicated things, or it's an agency that already kind of has their internal time. Yeah. So they're not, there isn't that like churn? It's not like kind of WordPress with batteries. It's like you go to Django, because you want a little bit more. So I've always thought if you couldn't sell into the agencies, you'd have a hard time making it work. So that's why I've been pleased to see that your project has worked pretty well, because I always just like I have this project, Django x, which is a much more basics, Django started a project and it has 1000 stars, but I didn't really bother doing more with it, because I didn't think there was a market there. So I'm glad that there's a market like there should be hopefully multiple, you know, successful boilerplates out there.

Cory Zue 37:01
Yeah, well, I'll begrudgingly accept that, although, I won't mind if there's one.

Will Vincent 37:08
Yeah, that's, that's, I mean, that's Seriously though, I think it's good for Django that there is a paid one. And yeah, if there's just one, all the better. You know, Laravel is interesting, because it's just Taylor, the creator, like he owns the ecosystem of stuff, right. So if you, you know, that if you buy the starter project, it contributes to Laravel. Same thing with hosting, he's, it's I sort of look somewhat enviously, that he's a he's a, it's a dictatorship, he can just do stuff.

Cory Zue 37:35
Totally.

Will Vincent 37:36
And it directly benefits Laravel. You know, Django is open source community. So I'd say it's, it's a little more complicated to add features in the same way as he's able to do. Yeah. Right, Carlton, like, you know, there could be an official Django template, but like, Who's gonna support it? Who's gonna do it? Right? I mean, that's the thing is, like, it's one thing to do the code, like, all the rest that you have to deal with, like doing the updates, marketing it, okay.

Carlton Gibson 38:00
Okay, so real quick, discussed, you know, the past, like things like security releases, there is a pre notification list, and you can you can apply to get on that if you you know, we try and discourage it. And, you know, you've got to have a real reason why you need to be on that list. But, you know, there are some big companies on that list. And one thought is, well, you know, perhaps we could charge for that. But no, we wouldn't do that. Because that's charging for access to security. That's important. That affects everybody. And it's just not, you know, but why couldn't that company pay less and the giant mega Corp, they could pay? They wouldn't even that wouldn't be a problem. But that's just not how it goes. That's just not how Django is. And, you know, once you go down that road, does it that does it does not destroy everything that makes Django special, because it's not really the front. I mean, the framework is great. It's awesome is one Yeah, but it's the community and everything that goes with it that makes Django worth hanging around for it's,

Cory Zue 38:58
I was gonna say in this in this conversation, I've both wondered if I'm now the destroyer of Django, and wondered if the Django Software Foundation is going to compete with me. And both of those.

Will Vincent 39:08
No, no, no, no, no. No, I mean, I can't.

Carlton Gibson 39:12
There isn't capacity for that to be done by Django. You know, we wouldn't just the thought that somehow the DSF would set up a hosting company, like, like, you know, when there was that run rails engine thing that was kind of tied in with Ruby on Rails, it was like, go to the Ruby on Rails site, and there was a hosting option sort of taught front and center and back in the day. Interesting.

Will Vincent 39:34
Yeah, the DSF. Just to assuage any fears. The DSF is so much smaller than maybe if people are even aware of it, then I think that is I mean, the Python Software Foundation has eight full time people and all this stuff, but there's a board of seven we meet once a month. We have regular emails, but it's basically Anna, who's the president does quite a lot for free. I'm the treasurer, I do a bit and the Secretary does some stuff and then Other people help. But you know, there's no capacity there like, you know, even the Django survey. So last year, we and I kind of led this had a survey on Django usage, which we hadn't had for a number of years. And, you know, this year, we're going to collaborate with JetBrains. Because JetBrains does it for the Python Software Foundation. And that's great, because it's like, I don't have the time I did last year to do that again, you know, because it's all volunteer. Sorry. So I agree. I think it's part of the specialness though of Django like it. No one very few people are directly getting paid and even even the fellows that we have Carlton and Mariusz, I mean, they're probably making below market they definitely making below market rate.

Carlton Gibson 40:38
You don't be a Fellow because you so that's, that's the highest paid job I can get. No it's not. It's Yeah, you do it for other reasons.

Will Vincent 40:47
But But speaking of your boilerplate, I want to ask about stripe because I've had actually, Carlton so we all three of us can talk about stripe so Carlton's almost done

Carlton Gibson 40:56
Yes adding and waiting on some things from the board, Will.

Will Vincent 41:01
oh, yeah. Oh, God.

Carlton Gibson 41:05
Yeah, no. So we're not that we're updating. Now. we're updating the stripe integration. So they changed it all for the for the European identity, whatever it is FCA rules. And so we, we updated the front end bit. And there's a bit where you manage your subscription, where we're still using the old API, and we want to use the hosted chokes, stripe Checkout, because that will just been so much easier than maintaining the code ourselves and doing all the API hits, and you know, all that stuff, which it's okay that we've got the code there it works, but to maintain that code has a cost. And it'd be much better if that code just could be deleted. Yep.

Will Vincent 41:43
You reminded me of that thing, Carlton? I mean, let me maybe just for anyone who's listening, who's curious how the DSF actually works. So for example, for this new thing, we need to have a privacy policy. So that was when Terms of Service which we don't have currently on the Django site, because we haven't needed it. So, okay, how do we do that? Right, like, where Django we need to do it properly. So we need to have a proper lawyer and have proper thing, you know, we don't have a regular lawyer, and we don't have the money to pay a top flight firm. So I've been talking to the Python Software Foundation, I've been talking to someone who tide lift, you know, because we want to get someone good, but we want someone who's not gonna charge us a lot, or we'll do it pro bono. So it's this whole process just to get that, right. So if you think about what that takes, and that's all in my free time, you know, me and the other board members, and then the idea that we would have, you know, a job site or a boy, you know, nerd or project, it's just like, the madness of thinking that would ever happen is not gonna happen. But in a way, that's, it's, it's also sort of, like one of the big reasons why I decided to start going out on my own and, and sort of, like, fully owning and controlling everything I do is like I, you know, I it's inevitable, you know, at an organization of, you know, more than a handful of people that, that you'll just you'll run into a consensus building and bureaucracy and these other things, and, and I'm, I'm kind of like an impatient person, I suppose. And so being able to just exactly like, be a dictator, and make whichever decisions I want to do whatever I want is, is very satisfying and freeing. And so that's, that's one of the reasons why I love just having my own businesses. And I haven't even, like considered sort of like trying to hire anybody or anything like that. Yeah, you still have all the scar tissue of the craft of everything else. Well, I mean, and for Django, I mean, so it Quizlet like I did our first terms of service and copyright. And, you know, I basically, I can say this now, you know, I basically, like, looked at YouTube and changed some words around. That's what all the startups did, because it was a startup. So what's the difference? We didn't have money to pay a fancy lawyer, but you know, Django. Django is Django. So we have to, and we'll do it right. But in the context of, you know, we're not Google where you can just have an in house counsel do it. Yeah. It slows things down rightly so. But, you know, I'm sort of like you, I'm used to just being dictator of my own little world. But yeah, there's reason things slow down.

Carlton Gibson 44:08
Let me finish that. And then I'm sorry to say what did you want to ask Cory about stripe about like, with Django, things always feel like they're moving slowly. But they're kind of inexorable in that, you know, you look back a year and it was like, Oh, well, we've done all of that. And we, you know, two years old that all of that happened three years all that have at any given day, it feels like things are taking a while because it's a big ship. So it takes a long time to do that.

Cory Zue 44:31
I will say that the effort that Django puts into its release processes, and the LTS is and the, you know, the, like deprecations and all of that, like, I can't imagine how much work in planning that all takes, but it's it's incredible. It's I feel like that's an incredible thing that many other frameworks Don't, don't get right in the in the way that Django does.

Carlton Gibson 44:57
Oh cool. Thank you, does it Yes. A lot goes in. I mean, we have to the processes have been set in place over time. And that's, you know, that really helps. But, you know, every month Maurice and I are busy, you know, making sure that train stays smooth, you know? So that's Yeah, thank you. Well, what did you want to ask Cory about Stripe about cuz you mentioned it and then we got distracted.

Will Vincent 45:18
Oh, we're just having a gripefes. As we all know, Stripe, you know, Stripe is constantly making changes, I think which generally improve the product, but it's not always the easiest thing to work with. And I know one of the selling points of SaaS Pegasus is you have integration. So you probably feel you need to keep up with those changes.

Cory Zue 45:41
I do

Will Vincent 45:42
Bbecause they still they still the old ones still work is the thing. Right? They have a quite a big deprecation period. Yeah. But they don't work with new cards sometimes.

Cory Zue 45:52
But but like you I think I'm, I suspect that in a future release, Pegasus will just move over to checkout also, just because just like you it's like, I, I don't and I continue to be on this this stripe, financial system, treadmill. And I think more and more companies are using stripe Checkout, I think even consumers and especially like prosumers, like, like business consumers are sort of they know what stripe is, they're not freaked out, if they get redirected to stripe on their checking out on, you know, buying a subscription or something. So, and I've talked to my Pegasus customers, and there's a there's a handful of them that like that they have like the fully bespoke UI that they can customize however they want. But most of them are like, no checkouts fine, that makes sense. And some of them actually, the majority of them actually prefer checkout just because then they can sort of be instantly up to date with everything, as it comes up to continue on stripe.

Will Vincent 46:50
So I had that for a while that I think I guess I still have this top stripe Django tutorial, which I wrote on this site test driven.io that my friend Michael Herman does. And so they the stripe team of like five community people emailed me saying, hey, you need to update to the new thing. And there's all these emails, and I was like, you know, the amount you all have gotten paid to email me to hassle me about this, you could have just done it. So like, I feel like there's sort of a Stripe is great, but it's like, you also just have the Django version of how to do this, you should like you should have the Express version, the rails version, like it's in madness, that you're relying on the community to do these things, because they still they have, I think they've got the Flask kinda sorta version. But it's like, it's like one one day a month, pick one of your engineers just to maintain, you know, the full integration and like the top four or five frameworks, but I guess you know, now that they're doing Checkout, that kind of goes away. And it does, I guess as we said people are used to that flow, because it used to be scary to be redirected somewhere else, even to paypal for a transaction. But it's such a pain in AI, it slows things down, because every developer has to update their stuff. And you know, you don't want to get the security stuff wrong around tokens and stuff for financial things. Yeah, anyways, yeah,

Cory Zue 48:15
I will say like, the number of financial edge cases that I'm sure that they understand the way like the different points in the process where a transaction could fail, or where an additional authentication state step could happen. Like, I think that web of that network of like possible states that things could branch out to is just, like, terrifying to me. And to be like, I think the root source of the complexity of their API is that they're attempting to design something that is, like resilient to failures in any of those different parts of the process. And but it does feel weird and complicated. If you're just like, well, I just want to like, give you a credit card number and like, charge it, you know? Yeah.

Will Vincent 48:58
So my friend from Quizlet, who's a manager at stripe, I don't think this is private, I can say. So there's still a Rails monolith, still to this day, but there, which is kind of, you know, to that question of, like, do monolith scale, it's like, well, Stripes, you know, as well as Shopify, but they're switching over to Java. Because on top of everything else, they're you know, they're basically like Google in terms of size. And they've had a big process around, how do we upgrade and they're switching over things to Java, but they're still fundamentally just a REST API is what the company is, right? So yeah. So finally, at this stage, they're, they're hitting a limit on what the what the rails can do. And also, they've got so many engineers, it's kind of like you need them to do stuff. Right. So if you can shave some transactions off, it's like, I think there is some truth to that, right. We've all worked on teams, like it's really hard to sum you know, you want people to be busy, but it's also like, it's better to be rebuilding the ship all the time than just working on a side thing. Like there is that temptation

Carlton Gibson 50:00
Okay, back. Back when I was learning, there was a thing about scaling and the sort of the tip, the advice was, this was like, first of all be able to scale it right. So be able to go from one server to two to three to four to five. And then when you've got that down, which like Skype clearly have, then start worrying about the cost per server. Right? So if you can trim off 10 cents here, that doesn't matter at the beginning, don't bother trimming off 10 cents at the beginning, because it's totally pointless. But when you're when you've scaled out, then that 10 cents obviously becomes a lot because you've, you've multiplied it so many times. So first of all, you know, duplicate your setup, or whatever cost, and then cut the cost per thing and striper at that stage now, right, they all have been for ages, but they're, they're like, yeah, let's cut the cost here. Because that will make a massive difference to our bottom line. I would say, anyway, Cory, I wanted to I can swing back to JavaScript in Django. And so you've got this rails thing, right? I'm not rails thing, this react thing. And that's one way and then how would you? How do you sort of think you'd write you're writing it yourself? How would you rig up the front end the JavaScript to Django integration? What would you go for? Personally,

Cory Zue 51:15
Oh, and if I'm reading it for myself, I would, I would definitely like, like, I have a whole, you know, Article series of articles, that basically talks about my opinions on this, although I think they're more general than that. But I, like, I would want to use modern JavaScript, I would want to use react, where it made sense, like, where there was going to be either a stateful, or, you know, complex Lee interactive user interface. And I would want to use Django for all the boring stuff that where there isn't so like, you know, like your password reset form, or your, you know, like your account settings page, potentially, or something like that. And so, I, I like having a, you know, sort of like a like a, quote, normal Django project. And then a separate JavaScript, like, build pipeline that is just taking, like, you know, like, it's like a standalone JavaScript project. But then the output of that ends up in a bundle file that's served like a normal Django static file.

Carlton Gibson 52:29
So inside static, inside the static routes, type thing you get you collect static.

Cory Zue 52:34
Yeah. And I don't know, like, I've, I've been doing like that, that was, when I first just sat down to make placecard. Me, I was like, Okay, this is like, I'm gonna do this, like, placecard build their thing, where it's like, there's gonna be like, a lot of complex interaction. And I wanted to, like, be modern. And I was like, I can't use react for this. That sounds good. And then like, just like figuring out how to do react inside Django was like, not at all clear. And so I wrestled with it for a lot. And then and then sort of like, arrived at this solution of like, like, once, once I wrap my head around, like, oh, all this fancy, complicated, react, build stuff. At the end of the day, it's still just produces a JavaScript file. And that JavaScript file can run in a browser. Yeah. And then you're like, Oh, well, I know how to exactly script files in Django. And, and so like, once I had that sort of like, epiphany, then then I realized, like, Oh, this is really straightforward. And I basically use that architecture for every other project I've worked on to date. And it's, it's always worked really well for me. So I can like, move super quick on the Django stuff. That's, that's really easy. And there's, you know, there's forms and there's views and templates, obviously. And all of that works well. And then and then, like, reach for react whenever I need to do something complicated and and then I have that sort of access to all that, that modern JavaScript tooling.

Will Vincent 54:04
Well, I think Aymeric Augustin who's a longtime Django contributor, he also has a series on this. And I've the last couple years, I've anyone who has questions on this, I've referred them to your series into his, his is a little bit shorter.

Carlton Gibson 54:17
He more or less similar thing is the static file. Yeah. He says, He says, tell it where the folder is. He says the same thing. Yes.

Will Vincent 54:25
I think his is maybe a little more of a choose your own adventure. But he, I think advocates for the same approach. Because, yeah, as you say, like and I went through the exact same thing, it's like, all the build complexity is just local. It's what you ended up end up serving as a single file. So it's sort of not really Django's fault that that all is complicated.

Cory Zue 54:43
Yeah, exactly.

Will Vincent 54:45
But it seems like it is.

Carlton Gibson 54:47
I think people want though it's some sort of rants is integration with run server, right? So you just fire up run server and but now you've got to have your JavaScript build watcher in a separate terminal. So you need two tabs. Yeah, one To watch the JavaScript.

Cory Zue 55:03
And like, I know that people do try to do fancy stuff to make JavaScript build things happen in the Django world. And like, you know, you have like, we sees a projects like called Django Bower or something where you like to find your Bower dependencies and Python and like it, it kind of sounds nice at first, but then you like, hit something that doesn't work. And then you're like, trying to troubleshoot this like crazy. It's like someone else's implementation of a wrapper around like, calling a JavaScript. And like, at the end of the day, I found that a lot of those tools that try to make specifically front end development, I guess, easier in the Django world, like, they often they work until they don't, and then once they don't, you're just kind of like, in a really tricky situation. And, like learning the actual, like, how to use NPM and Webpack. And whatever else is, like, it's not that hard. And then you're using the same tooling that the entire rest of the world is using. And then when you Google something, it's like, you know, like, the answer is relevant to you instead of like, you know, not really being sure where the where in the stack, but the thing is failing. So I generally shy away from the, from the type of thing that would try to, to make react, work and run server. Amen. I think that's, I think that's where everyone gets to, at a certain point where you appreciate what a third party package does, but unless it's unless you really, really need it. It's like, I'm gonna end up rebuilding this anyways. So maybe I'll just pick up a source code and see.

Carlton Gibson 56:39
Good for ideas, right? Yeah.

Cory Zue 56:42
There was a, there was a time where I was like, thinking that that Pegasus should have no third party dependencies. And, like I would I would be opinionated about about everything. But But ultimately, I I selectively picked picked a few that seemed like obvious choices, like all a handful of others.

Carlton Gibson 57:01
You don't want to build that yourself.

Cory Zue 57:04
Yeah, exactly. But it's hard to know where to drop that line. You know, it's like, Is there a certain number of GitHub stars where you're like, Okay, this thing is probably like, acceptable. Maybe you'd like just have to look at the source. I

Carlton Gibson 57:16
don't know. I think in the Django world, it's been going 10 years or more, it's safe. And you know, anything less than that. You've got to be

Will Vincent 57:23
doing it. It's probably okay. That's a good metric like that. Yeah. Well, there's there is, um, maybe I'll put in the show notes there on the Django forum, there was this discussion around kind of the top five or 10 packages that people use, because I feel like there are a couple off would be probably the first one of the first ones I think of that and rest framework. I kinda need to use it. And respirate Yeah, and rest framework. But then it does sort of fall off a little bit. But it is an open question, I guess. So I know. We're going over on time. I did want to ask one last question, which is deployment, if I could just, you know, partly Carlton's been working on button. Oh, yeah. simpler.

Carlton Gibson 58:03
If it wasn't a crazy pandemic, and my kids always being off school, we'd call the turn of the kids, the kids this week had colds, and we're like, no, they've got COVID. And we gotten tested. And they did, it's like, Wow, what a way off. So it's so close to getting vaccines, you know, like, another month, another two months, we'll all have vaccines, and we'll be you know, slightly different world. But it was like, now we've gone this far without it. And then it was a mega stress, but, you know, bar, all of those sorts of things is coming on nicely. But yeah, deployment.

Will Vincent 58:32
Yeah. So, so just you personally, we don't need we don't have time to get into the full deployment, but like, what do you like using for your personal stuff?

Cory Zue 58:38
Oh, I have a, I have a linode that I host like, six projects on. bucks a month, and it works great. And I love it. But, but for Pegasus I also like, like, I I include Docker and and like, you know, Heroku and digitalocean, and Google Cloud and all this stuff. I've I've experienced all of the things. I if I were to pick a number two, I would go with Heroku I have had generally like a very positive experience and with with integrating Pegasus with Heroku. But yeah, I just, I just like, I got good at running servers in my doggy days. So I guess all of us are like old enough that like, you know, pass probably didn't exist when we were first deploying applications and so got comfortable on on, you know, sysadmin and, and I feel like from a cost perspective, it's just like, it's so much nicer. Yeah. Cost actually matters box and it's running

Carlton Gibson 59:49
5678 910 projects, and it's not really a problem and it's the same Yeah, mine is it was

Cory Zue 59:56
gonna do the same thing on you know, like, like Kubernetes These are like, you know, digitalocean app platform or something. It would be like hundreds of dollars a month, I'm sure.

Will Vincent 1:00:05
Yeah, it's interesting that digitalocean has really has a new app platform. Like, that's something I haven't played enough around with. Like, it seems like they're making a play at Heroku. Like, simplicity. But, you know, it's just like, I've got my own deployment system that works. And I'm not a deployment engineer, so and I'm just gonna stick with it. Unless I have a reason to play around. I am gonna use Btn.Dev, though. But aside from that, I'm not playing around with other stuff.

Cory Zue 1:00:33
I'm excited to try button also.

Carlton Gibson 1:00:35
Yeah, well, okay. Well, it's coming. It's coming. It's coming in is huge limit limitations of human power. It's not far off now.

Will Vincent 1:00:42
Well, there is if people go to the website, Carlton, they can sign up

Carlton Gibson 1:00:46
to be notified every time you put your name in there. I'll email you quite soon, with, you know, Hey, come on early access. Let me show you what it's how it works for me. And now I need to make it so that I can wrap up components for other people. It's that you're not going to have I don't want you running on my shell scripts.

Will Vincent 1:01:05
Yeah, I would say one last thing, what you mentioned, Cory, about third party projects. So I'm on version like six of my books, I think, you know, every Django version, I update them. And I've just systematically taken out third party stuff, because, you know, it's just one more dependency and things change and there's problems but all auth and rest framework are I think the only two I still have in it makes sense, because there, but that's been a long process of you know, even when I guess Django I use one for for environment variables. I'm blanking on Django, django.or dot env. One of those. One of those I forget. I have an opinion I've written down. I think those are the three because environment very that those are very, maybe did Django database URL. That's kind of nice with her. Yeah. But I had a lot more the first the first couple versions were more, more more third party things. And over times, like I we have Christie, we have crispy forms, which Carlton works on so I guess maybe maybe there's a half dozen, but there's definitely less than there were anyways. Well, thank you for taking the time. Cory. I know we've gotten slightly over. We will have links to your personal site to SAS Pegasus modern JavaScript series placecard. Me? Is there anything we didn't cover about your story or, you know, marketing that you want to get out there?

Cory Zue 1:02:19
I feel good. Thanks. Thanks for Thanks for having me. This was fun. As I said, to meet you both. I feel like I know your voices. But I, you know, had never

Carlton Gibson 1:02:32
checked to see you see your posts. You could see you on Twitter and like, you know, he's this guy. So it's nice to see you in the face.

Will Vincent 1:02:40
Yeah, well, and I appreciate you writing those posts. I know. I can understand, you know, both sides of thinking about whether you want to do it, but it's definitely helpful for those of us in a similar boat to share your your story. So please, for the ones you've already written. I thank you for writing those.

Cory Zue 1:02:54
Yeah, no, no. Yeah. You're welcome. And thanks for glad glad you're getting value and I have fun with it. So it's, I don't think I'll stop.

Will Vincent 1:03:02
Great. So we are at Djangochat.com. chatDjango on Twitter, and we'll see everyone next time.

Cory Zue 1:03:07
Bye.