Rebase.tv
So, Adam, tell me about Rebase. Rebase, Dax, if you hadn't heard, is a live game show for developers where you can win real cash prizes. You've obviously heard about it because you made it with me. This is fun because we've been doing this podcast, and now we're making something together. And it's kind of like it's fun to play with new tech and to build stuff always, but then doing it with a friend and doing it about something that you enjoy, like, I don't know, high quality production and software development.
Adam:It's kind of like a mismatch of, like, a lot of interests. So it's gonna be like HQ Trivia, but for developers. That's the idea.
Dax:Yeah. I think I've also been reflecting on how it's like a great intersection of things. We get to we both build with a similar stack, that lines up really well. There are front end components to this, so we get to build front end stuff. All the media stuff, you know, to produce a game show, it's not just a bunch of questions.
Dax:It's like the intro titles and the transitions and animations. You know, there's a lot of really cool stuff we can do to make it feel really legit, which I think, you know, we definitely wanna do. And it's just fun. It's like the goal of it is to make something that people have fun playing and just fun and enjoyable. Something that we can all kinda share together and do at the same time once a week, whatever it is.
Dax:Yeah. I've never really worked on something like that.
Adam:It feels like it could exist in the current dev community, at least, like, in the small circles we exist in in Twitter. I think kind of a live event that happens on some predictable schedule. Yeah. It's exciting to me. We've gotten some good feedback.
Adam:We just launched the website, so we're kinda like getting people to sign up, stay informed. That took like a week. That was harder than we thought. Would you say that was harder than you thought it would be to just make a landing page?
Dax:Yeah. You know, I haven't made a landing page in a long time and then the back of my head, it's always like, oh, Do know just just a just a landing page? But the but the thing with everything we're doing is we wanted we wanted to feel really high quality And that starts with, you know, the landing page. So I think that just made it a lot a lot more challenging than it initially seemed.
Adam:Yeah. But I think, like, we're getting to take advantage of all kinds of this AWS stuff that we enjoy. There's services that make this a lot easier. I it was more than a landing page. So we we did, like, the whole social card thing where you can share your card and it's generated per user.
Dax:Maybe you just describe, like, everything that we set up and how it works.
Adam:Yeah. So we're using SST. Shout out to SST.
Dax:It's very
Adam:good. Capital g. We're using SST. We're using Astro for the landing page. And basically, I mean, the you land on the landing page, you can sign up with one of a couple of it's like Google or GitHub, and we use SST auth for that.
Adam:You click on it and you're taken to a page that has your personalized ticket to the Rebase Premiere. And we generate that just with, like, a Lambda function that uses Puppeteer and takes a screenshot of a page. I think that's a pretty, like, well worn path at this point. We've like, there's plenty of prior art to pull from when you're building something like that. But, like, putting it behind an ASTRO site construct, an SSC to use that CDN and all that, we had some stuff to figure out just how we wanted to do it.
Adam:And that's it, I guess. Is that it? And then you share the URL. There's some referral stuff.
Dax:Yeah. You can share the share your custom link. That needs to render like a proper like OG image so it looks nice on Twitter. Again, that's that's the same puppeteer thing you talked about. And then, yeah, we track referrals.
Dax:So that part was kind of funny because so we're using Dynamo for user storage, and this normally isn't that big of a deal. Like, you just create a user or whatever. But the ticket had incrementing numbers. So the first person signed up is number one, next one's number two, etcetera. And incrementing numbers are one of those things that just you never use normally because they just don't scale well.
Dax:So then they usually don't really have any advantages. So I haven't had to do that in years and years and years. And last time I did that was probably in a SQL database. So implementing that in Dynamo, was like, it's kind of funny. It's just like the easy it sounds so simple, but it's surprisingly, you need to know, you need to really understand how Dynamo works to do it right.
Adam:Well, because, like, in a SQL database, it's literally just like an auto ID thing. Right? Like, there's just, like, a type of column that just auto increments and you never think about it again.
Dax:I think people might not be aware of this, but to make that work, you need to make it so whenever there's an insert, something is locking to make sure you're not incrementing twice by accident, you're not issuing the same number twice by accident. So even in a SQL database, you generally should not use those because, like, why why take that overhead
Adam:if you don't And need
Dax:then Dynamo usually doesn't let you do stuff like that because they don't let you do anything that's not not performant. So, yeah, we have to do like a funny, like, it's called an optimistic lock thing where it's like it's like a funny it's like weirdly complicated to implement it correctly. And I realized a couple days ago, Adam, that I didn't actually implement it correctly. I forgot to do the initial read with, know, how they
Adam:have that that, like, concurrency
Dax:thing you can set. Yes. Or consistency rather. So I gotta go fix that. But there haven't been any actual issues yet because it's not like we have a thousand people signing in a second.
Dax:Right. At least not yet.
Adam:Well, we couldn't have because turns out Lambda invocation limits start out at 10 in new accounts. We've had so many issues with our new AWS account. There's some feedback for AWS. It's been painful.
Dax:Yeah. I know. This is all new. Right? So just just to kinda describe what's happening, we signed up for a new AWS account to set this all up.
Dax:The limits on new AWS accounts are crazy. Like, we couldn't do anything. We couldn't launch a cloud front distribution. Then we and then when we deploy, we're in production, it turns out we could only have 10 Lambdas running concurrently at once and we're hitting limits there. This might be feedback from all the bad PR they get whenever people have, like, surprise bills, but it's just funny that two of us are running into this and we're like the most AWS people out there.
Adam:No. I I think somebody said in, like, the hero Slack that it's actually a fraud detection thing, and it might not be every account. But I think the Lambda concurrency, the function invocation concurrency thing, I think that's actually every new account now. I don't think you just default to the thousand
Dax:Oh, interesting. Like it used to be.
Adam:I I could be wrong. But the yeah. There's still resources that we can't create because we have this sort of, like, fraud thing tripped and they're trying to work through it.
Dax:Yeah.
Adam:Well, there there was also the we had some like weird stuff trying to figure out how to make the share card. So the share card needs to render like in Twitter with the OG image of this dynamic, like, image generation API we stood up. But, also, we wanted, like, everyone to land on the landing page, and we wanted to just, like, serve a cached page from the CDN. I remember there was some, like, weird stuff there where we couldn't figure out the best way. So we ended up just like there's like a dummy page per user that's like an SSR page, and it just has, like, head elements.
Adam:It just got all the tags. So it's got the OG, all the metadata stuff. But then it also uses the, like, HTTP redirect thing as a header tag to just send you back to the landing page. Yeah. I don't know.
Adam:Is any of that stuff interesting? Does anybody care about this? I don't know.
Dax:Yeah. I mean, I think the gist of it is this was all surprisingly complicated. In that case, we needed to find a way to trick the web crawler into just start looking at that page, but have the user's browser go to a different page when they went there. And we figured out that HTTP refresh header, like a bot wouldn't follow that, but your browser would. And this is something I feel like a lot of people building lots of products kinda need.
Dax:So, yeah, we should like write it up or something at some point.
Adam:Do you have a blog? I mean, we all have blogs and we never write to write. Just when you said that, like, we should we should write that up. Like, I don't even know where I would put it if I wrote something up.
Dax:I just put it on Twitter. I turned
Adam:it to Twitter. There you go. Try the Twitter thread.
Dax:Yeah. Twitter's killed my blog.
Adam:So landing pages are hard in 2023. Who knew? I didn't expect that, I guess. Shouldn't AI be just writing our landing pages by now? Like, what's what's going on?
Dax:Well, we said we wanted a good
Adam:landing page. We wanted it to be good. So by making things good, it takes time. You know what? I actually have a take here.
Adam:And this isn't meant to be offensive to anybody in this community, but the whole indie hacking movement and I think that community has maybe dwindled a little bit in the last six months, so maybe I'm not I'm not saying anything super revelatory. But I feel like the whole indie hacking movement, like, idea of, like, throwing something together fast, MVP, like, just get something up there. It doesn't matter what it is. That's always rubbed me wrong because I care so much about quality. And I know, like, if you spend a lot of time, like, polishing a thing and nobody uses it, who cares?
Adam:I get the trade off here, but I also just, like, would rather put good stuff out there. And I feel like at this at this point in 2023, there's really no excuse for building something that's not high quality. Like, with all the tools that are out there, just, like, learning the right things to put together, like, it doesn't take that much effort. It just takes a week to build a landing page instead of six hours or whatever people wanna crank them out in.
Dax:Yeah, exactly. It's kind of like and I've I felt this my whole career. I think there's always added effort to make something better or do something a little bit more right. I never feel like that effort was ever that much. It's never like you get this out in a day or you get out in six months.
Dax:It's like a day versus a week, you know, which which isn't like a terrible difference.
Adam:Yeah. And if you care about quality, I don't know. What is that? What is is that like, do users not care about quality? Is that why Indie hacking is Indie hacking successful?
Adam:Has there been, like, three of them? Like, Peter Levels, Danny Postma. Who else? Like, there's been, like, three successful Indie hackers?
Dax:I think the trick with that is those The people that have been successful in that category are insanely, insanely gifted and talented in the marketing department. So for them, they just need to launch a bunch of ideas as fast as possible because they just shove that into their marketing machine and it spits out success. So if you're gonna not spend a lot of time on what you're building, that means you should be spending a bunch of time like becoming like an expert marketer, like creating crazy reach, all that stuff. Yeah. I think then you can be successful, like then that all makes sense.
Dax:But for us, I think the quality is our marketing. Right? We're hoping people use this because they're gonna try it and they're gonna be like, this is way too much effort for for something like this. Like, we just expect like a shitty little quiz app, but this is like, you know, much more legit.
Adam:It's an experience.
Dax:Yeah. Yeah. And that is our marketing, so that's why we're putting the effort there. At least that's how it makes sense to me.
Adam:No. It makes sense to me. It's just striking me, like, in the middle of this conversation that rebase is a side project. And I am literally, like, just going through this midlife crisis where I'm like, I hate side projects. I never want another side project.
Adam:But it's not because of rebase. It's because, like, I've just built so many things over the years and then they just, like, sit there and nag at me. You said something to me in Discord the other day that helped me. It was, like, just, like, to drop things and to not let them nag at you. But I've got, like, domains expiring and, like, projects that had big ideas and big, I don't know, like, hopeful ambition for.
Adam:And then they just kinda, like, sit there for a year and you just feel real bad. I don't know. Do you have any thoughts on all that?
Dax:I mean, I have the exact same thing with with a few things. It has become these monuments to to your failures and your past excitements that you no longer have anymore, and that's innately sad. So and, yeah, it feels bad. It feels like you're not going anywhere.
Adam:So is there a coping so, like, you laid out the the bad part. Is there a good part?
Dax:We actually talk about this as a CEO a lot. We talk about it as like motivation driven development. I think there's two ways to perceive this. Sometimes people perceive motivation as, oh, you're just distracted and you're like getting excited about that next thing and never finishing something, which can definitely be a thing. And I think that gets about a lot.
Dax:But I also think there's a bunch of intuition in what you're excited about. So I try to focus now more on, okay, what's the next thing I wanna do? Not from like a rational point of view, but what am I excited? Like, what do I feel like doing next? I feel like my brain is computing a bunch of things and spitting that up.
Dax:And the reason I'm excited about it is because it also is a thing that makes the most sense. So the yeah. Like I said, there is a there is like a pathology to like just starting stuff and never finishing. But the the other side of it is also also good and you should listen to that as well. So Yeah.
Dax:Just work on what you're excited about.
Adam:So I feel good about that because there are always those mornings where it's like, could I work on three different things. I really wanna work on this one. I probably should work on this. But you're saying maybe the there's a reason, like, our instincts serve us here.
Dax:Yeah. Like I like, some days you just gotta eat your vegetables but I
Adam:love vegetables. I eat my vegetables every day, Dex. That's true. My wife says I should.
Dax:Eat the vegetables you don't like. Yeah. Yeah.
Adam:There you go.
Dax:I'm sure there's some vegetables you don't like.
Adam:I don't know. This I I've been thinking about this a lot just the last, like, week. Just the idea of, like like, the I don't know what other professions are like. This is all I've ever done. Like, I I dropped out of college, and this is what I've done ever since.
Adam:But I I have to imagine, like, it's a pretty unique career we have where you can have this amazing fulfilling job that you love and you still just constantly have side projects. Maybe it's not every developer. Maybe it's, like, only the most ambitious have this problem and we all just live on Twitter. But it feels like everybody has a side project at all times. And, like, we get paid like doctors and we don't even have to go to school.
Adam:I should just be happy doing the one thing all the time. Just, like, write down sit down, write my code, be a happy, employed developer. But I've literally my entire career for fifteen years, I've always had something else I'm doing on the side, and I can't just do one thing.
Dax:Yeah. I mean, but what else what would you be doing otherwise? Like, there's like like, you spend time with your family, like, you have, like, a pretty balanced life and
Adam:Well, can I be honest? Like, really honest, I would just focus more on my day job. I would spend more time on my day. Am I cheating my day jobs by having side projects?
Dax:Is that literally true though? Because I feel like it's not really a time thing, it's an energy thing. So given a project, even if I have, you know, eighteen hours a day to work on it, I probably only have like four hours of energy to work on that one thing. I guess that that's that's just how I am. I don't know.
Dax:Like, would you actually
Adam:No. That's a great point. I'd probably just be on like, I don't know, on Twitter in the time that I wasn't working on a side project.
Dax:So it's it's it's tricky. I feel like it's never for me, it's never been a time thing. There's, like, more than enough hours in a day. If you're on a consistent schedule, it's just like, sometimes I don't wanna work on something for too long. Okay.
Adam:So I feel better then. I feel better about my life. I hope everyone else feels better to listen to this. Yeah. You're normal.
Adam:You're okay.
Dax:That's what
Adam:you wanna hear. You just wanna hear that you're normal. I I know that, like, this is a problem out there because everybody has the same like, everybody buys all the domains and they all, like, complain about the thing that they haven't been working on that they should or, like, the the side projects that are withering. So I I know it's out there. I I feel better after this conversation.
Adam:I don't know that I'm fully healed, but I can see a path towards just, like, accepting the inevitability. Like, I am going to be interested in things at times and just run with that. Let it play out. I guess the problem is when you invest a lot of time or money or both into a side project, it makes it more guilt laden the more you neglect it.
Dax:Yeah. I know. But, like, it's the alternative is you never really get excited about anything work wise and you just kind of have this flat stable experience, which is which is okay. But, you know, there's nothing better than feeling really excited about something and, like, waking up and jumping jumping onto it right away. So I wouldn't give that up even if it even if it, like, never those things never pan out.
Adam:Yeah. So that's another thing. That's been most of my career, and I I I wanna say this with an asterisk and then circle back. But, like, most of my career, it's like Christmas morning. I can't wait to wake up.
Adam:Sometimes I have a hard time sleeping just because I'm so excited about the thing I'm working on. Can't wait to wake up and work on that thing. Mhmm. And I just saw somebody tweet, and I don't even remember who it was, and I probably wouldn't say if I did. But, like, just that they weren't that excited about programming.
Adam:Was just a job. And, like, they they don't know how they should feel about that because they see all these developers that are really into what they do. Is that unique to software development, or is that just every career has people who really are passionate about that thing and that's why they do it versus people who, like, it's a good job. I get paid well. I do it.
Adam:You know?
Dax:Yeah. Yeah, I mean, I don't really know. I think what's unique is we are in a creative field that where you can like create stuff and usually creative fields like that aren't lucrative unless you're incredibly successful. So I think we have this awkward combination of, yeah, there's people that are effectively kind of like artists that are pursuing their passion, but there's also people doing the exact same thing because it it sets them up well to like do all the other stuff in their life. So, you like you you don't really have like a painter side by side with another painter that that's just doing it for like, you know, their career.
Dax:Right?
Adam:No, that makes
Dax:For the money. So I think yeah. I I saw that tweet as well and it's tough. I think I've I'm really I feel grateful that this is my hobby and I would be doing this even if it was not very lucrative. I'd find a way to put I'm time into just grateful that, you know, it is it is a way to pretty easy way to make make a living.
Adam:And I never want people like, I never wanna say that and people feel, like, shameful that they don't feel that way. But at the same time, I wanna say it all the time because I'm just so excited about this stuff. And I know other people are too, and it it's nice to see that it's it's infectious to, like, share in the excitement of a thing that's your hobby and that's your work and your whatever. So it's this weird balance of, like, I never wanna say stuff like that, like, much I love coding and make people feel bad because they're a programmer, but they don't really love it. But at the same time Yeah.
Adam:I wanna put that out in the world. I don't know. I'm sorry. Just in advance. Yeah.
Adam:I mean Let's put that on record.
Dax:I I think what's helpful for me in terms of perspective is, like, my wife's friends, like like, she had some people over this weekend and they were like asking me about what I do. And I was just imagining them going to my YouTube or like my Twitch and watching it and being like, this is the most boring thing in the world. So Yeah.
Adam:You're excited to wake up It kinda
Dax:gives some perspective around. Yeah, exactly. Yeah. It is really weird that I'm really into this stuff that is really boring. Yeah.
Dax:To most people. So, yeah, if you find it boring or it's not you're not super excited about it, like, it just kinda is boring.
Adam:So Okay. So the this this podcast episode has gone from like, hey, we're making a side project to like side projects to like software development as a job. I had another thought that I just wanna ask you. It's kind of in that theme, and that is, like, outsiders. What where is where does software developer land now in the broader society landscape.
Adam:Like, how do outsiders I don't know anymore because I don't interact with people. How do people outside of tech view software development? Because it was like you go back, like, 02/2005. That's when I graduated high school. And, like, Zuckerberg makes Facebook.
Adam:And it's, like, nerd like, software developers are, like, the obscure super nerds. Then, in fact, there was probably a period over the last fifteen years during my career where it's, like, software developers developers are cool. Like, this is a cool job. And I wonder, like, has that changed? Am I out of touch?
Adam:Do people think we're nerds again?
Dax:Yeah. I I I struggle with this as well because in my head, it's like this weird, not very professional thing to do. Like, we're just kinda like, you know, like doing random stuff and it doesn't really look like a real job. And that's like my bubble once out. Like everyone I know is kind of kind of like that.
Dax:But then I meet people that are also software engineers, but look like lawyers or like doctors or I'm like, oh, this is just a normal profession. That's it's like become very professionalized. And, like, you know, there's like, I meet, like, very, like, clean-cut, well educated, like, couples that both, you know, work at, you know, like, Apple and Google and they have, like, a very, you know, successful life where I think ten years ago, you look at them and be like, oh, yeah, they're like two doctors. Yeah. Know?
Dax:So I I guess people might perceive it in that way. It's just funny because, like, in our circle, we have, like, people like like Theo and and Prime and trash. And, like, these are not, like, up like, are not like, you know, like, the code of doctors.
Adam:Mean, Prime's kind of a doctor. Ourselves as a name. Yeah. I it's funny when you said that. I just think about every time I say something to my wife.
Adam:Like, oh, trash just said this thing, and she's like, trash? You call him trash? I'm like, no. His name is I love this world.
Dax:Yeah. Exactly.
Adam:But you speak to, like, another point, which is just that, like, software developer is such a broad term. And it kinda goes to the problem of, like, telling people on the outside what it is you do. But, like, it's a huge spectrum of things from the indie hacking crowd to the people who look like doctors and then all of us on Twitter and whatever we are. Like, it's a good point. It's not all one thing.
Dax:Yeah. It's a I mean, there's really millions. There's millions of us. There's so many.
Adam:It's like 30,000,000, isn't it? I think
Dax:In in the world or
Adam:30 what was the million in the world software developer. I could be wrong. Maybe those web developer. I don't know. I remember 30,000,000 stands out to me.
Dax:We'll go. So we we gotta get 30,000,000 sign ups for Rebace.
Adam:That's our total addressable market. That's funny. Damn. So you should check out Rebace. I guess we didn't say that.
Adam:We we really gotta get better about like promoting things that we're doing.
Dax:Yes.
Adam:You should use Rebase or you can't use it. You should sign up and come to the first show. It's gonna be amazing.
Dax:I mean, you should use Get Rebase. Get Rebase. That was a whole thing.
Adam:I'm glad we didn't name it Merge. That would have been lame. Like, rebase is so much better.
Dax:Rebase.tv.
Adam:Yeah. Rebase. It's gonna be, I don't know, however long it takes us to build the mobile app and all the back end stuff that we need for it. Then we're gonna do the first and you'll have a chance at real cash prizes. Just like HQ Trivia.
Adam:It's amazing how many people don't remember what HQ Trivia is. I've been trying to explain this to people. I'm like, it's just like HQ HQ Trivia, but for devs. You know, what is HQ Trivia? I thought it was like this huge phenomenon, but
Dax:Yeah. Everyone I knew was on it, but yeah. I guess people forgot her. It didn't hit everywhere. They they had such like a flame out.
Dax:It was so big and it just Yeah. Vanished.
Adam:Hopefully not a bad omen.
Dax:Hey. But like we were saying earlier, like, you know, even if it dies, like, at least It was fun.
Adam:It's already
Dax:been fun.
Adam:Yeah. It's already been worth it for me. I guess we'll see a year end of blood, sweat and tears. I still feel the same. Or if it goes on the Mount Rushmore side projects that I've been okay.
Adam:Cool. This has been fun.
Dax:Yep. See you next. Yep.
