Code with Jason

269 - Cody Norman, Founder of Spot Squid for Tattoo Shops

Jason Swett

In this episode I talk with Cody Norman about his journey from economics to programming, his tattoo shop management software SpotSquid, and lessons from building products for non-technical users. We discuss market challenges, customer development strategies, and Cody's path to conference speaking.

Speaker 1:

Hey, it's Jason, host of the Code with Jason podcast. You're a developer. You like to listen to podcasts. You're listening to one right now. Maybe you like to read blogs and subscribe to email newsletters and stuff like that. Keep in touch.

Speaker 1:

Email newsletters are a really nice way to keep on top of what's going on in the programming world, except they're actually not. I don't know about you, but the last thing that I want to do after a long day of staring at the screen is sit there and stare at the screen some more. That's why I started a different kind of newsletter. It's a snail mail programming newsletter. That's right. I send an actual envelope in the mail containing a paper newsletter that you can hold in your hands. You can read it on your living room couch, at your kitchen table, in your bed or in someone else's bed, and when they say what are you doing in my bed, you can say I'm reading Jason's newsletter. What does it look like? You might wonder what you might find in this snail mail programming newsletter. You can read about all kinds of programming topics, like object-oriented programming, testing, devops, ai. Most of it's pretty technology agnostic. You can also read about other non-programming topics like philosophy, evolutionary theory, business, marketing, economics, psychology, music, cooking, history, geology, language, culture, robotics and farming.

Speaker 1:

The name of the newsletter is Nonsense Monthly. Here's what some of my readers are saying about it. Helmut Kobler, from Los Angeles, says thanks much for sending the newsletter. I got it about a week ago and read it on my sofa. It was a totally different experience than reading it on my computer or iPad. It felt more relaxed, more meaningful, something special and out of the ordinary. I'm sure that's what you were going for, so just wanted to let you know that you succeeded, looking forward to more. Drew Bragg, from Philadelphia, says Nonsense Monthly is the only newsletter I deliberately set aside time to read. I read a lot of great newsletters, but there's just something about receiving a piece of mail, physically opening it and sitting down to read it on paper.

Speaker 1:

That is just so awesome, Feels like a lost luxury. Chris Sonnier from Dickinson, Texas, says just finished reading my first nonsense monthly snail mail newsletter and truly enjoyed it. Something about holding a physical piece of paper that just feels good. Thank you for this. Can't wait for the next one. Dear listener, if you would like to get letters in the mail from yours truly every month, you can go sign up at NonsenseMonthlycom. That's NonsenseMonthlycom. I'll say it one more time NonsenseMonthlycom. And now, without further ado, here is today's episode. Hey, today I'm here with Cody Norman. Cody, welcome. Thanks for having me. Jason.

Speaker 2:

Would you like to tell us a bit about yourself? Sure, so my name is Cody Norman, independent Ruby consultant, and live in a small mountain town called Bailey, colorado. That's about an hour southwest of Denver.

Speaker 1:

Yeah, and I find your history kind of interesting. For some reason you are from North Carolina, is that right?

Speaker 2:

Yep born and raised in North Carolina. Born and raised in North Carolina Originally I went to college for economics and graduated at the worst possible time in history for someone to have, you know, an econ or finance related degree. North Carolina had a bunch of banking centers at the time so there was, you know, a ton of people laid off. There was a ton of people laid off. So I kind of started trying to find pretty much anywhere that would hire me and ended up moving up to the Philadelphia area and getting my mortgage license and kind of restarting my adult life there.

Speaker 1:

Interesting. I didn't know about that. So you said you graduated at the worst possible time for that kind of stuff. I'm assuming it was sometime not long after the 2008 recession started.

Speaker 2:

Yep Right in 09. So plenty of time to get anxious to last semester or two.

Speaker 1:

Okay, and then how?

Speaker 2:

did you get into programming from there? So that was something that I was always really interested in but never really found it accessible for for like finding information on it. You know, even growing up I remember I was telling someone and I sound like you know a grandma basically but I remember when, like the free AOL disks, we couldn't use them because they had a long distance phone number. So it was like, oh yeah, internet came kind of late to our area. My school didn't really have any computer science stuff. I took a few classes in college but they were all like the non CS majors one, so it was usually like a TA, just kind of killing time and you know, didn't really get much past basic HTML. But I remember one day I was checking the markets seeing what I think there was like a recent fed announcement, so I was seeing what was going on. Uh was on cnn money and saw an article about uh codecademy and uh went home tried it out and it was great. Uh, it was low friction. I was able to like see stuff immediately in their ripple um and you know had a nice uh kind of course laid out and started going through there and that really kind of got me interested, started looking into a few different things.

Speaker 2:

I think originally I had started a certificate program at one of the local community colleges for web development and got about six weeks into that before I quit. It was just too slow. Everything felt really outdated compared to the other stuff that I was doing. And that was right around the time when boot camps started kind of becoming more prevalent, so eventually ended up. And more prevalent, so eventually ended up. I left my mortgage job, was trying to, you know, kind of learn on my own for a while and eventually ended up heading out to a boot camp in the Silicon Valley area called Coding Dojo and then somehow fell completely backwards into a Ruby on Rails intern position for a company back in Philly that had just got accepted into a tech accelerator.

Speaker 1:

Okay, yeah, I'm curious more about that. How did that come about, that job?

Speaker 2:

Yeah, I think maybe like six weeks into the bootcamp I was looking, I really started looking at jobs a lot. I started looking at their requirements and pooling and technologies that they were using so I could try to spend my remaining time focusing on things that places were looking for. It just so happened I found there's actually a Craigslist posting. I think some company reached out to the tech company that I worked for and were like hey, can we post your job everywhere? We have a new service and I just happened to come across.

Speaker 2:

It, reached out to them, across it reached out to them and I remember I did my initial interview during one of the boot camp classes. I remember asking my instructor hey, can I pop into the office really quick? I think I have an interview. And he gave me this look like I was getting ready to join a pyramid scheme, just because it was kind, know, kind of odd, like why are you, why are you having an interview? Like you're still still have like a month and a half left of this program, like it obviously sounds fishy, but uh, it wasn't and you know it all worked out.

Speaker 1:

So that reaction is interesting to me because that doesn't sound fishy at all to me.

Speaker 2:

And you know, I think it's both ways Like a lot of people have difficulty finding stuff, you know, right out of boot camp and finding something like that where it just seemed to be a very perfect fit and posted on Craigslist like it was definitely, you know, raising some eyebrows, but I didn't have anything to lose besides 20, 30 minutes of my time. So I thought it was worthwhile and yeah it, everything worked out.

Speaker 1:

Yeah, and, by the way, I've always had a policy of like applying to jobs that I'm not qualified for, because sometimes it works. It has worked for me more than zero times. Um, okay, interesting, and I can't help but think about the fact that, like, okay, so, so what year was? Was this that that happened, that you got that gig? Uh, let's see, it was, uh, fall 2014.

Speaker 1:

Okay, okay, yeah, I can't help but think that that sort of thing is probably not happening as much now, sadly, because the way the market is, sometimes I wonder, like, are new people even entering the industry at all right now? Because, like it's man, I've been on linkedin the last uh, couple weeks and it's nuts. I don't know if you've been keeping your eye on it at all, but like it's just post after post of, like I got laid off, blah, blah, blah. Um, very like senior people often, and I've been texting with people who are looking for jobs because I'm actually looking for a job right now too and people are having a really tough time like going months, sometimes even more than a year, without being able to find a job.

Speaker 2:

It's really crazy, one of the reasons why I may have been a little more hesitant about helping newer developers with their job search the past few years, just because I didn't. I just happened to be in the right place at the right time and took a swing at the right time and things worked out. Things worked out. But you know, it's not very helpful when people are like, oh, how did you get your first job? It's like, oh, I applied to one on Craigslist and I actually left my boot camp two weeks early to start in a tech accelerator, so yeah it's a different world back then.

Speaker 1:

Right, yeah, I got my start 20 years ago. I like applied to this, so I am a second generation programmer, so we always had computers around and I started coding when I was like 12 or something like that, and I did a little bit of work for my dad because he had his own business for a while, but I don't really count that because I don't know, it was my dad. So I got my first real job in 2005. I saw a job ad somewhere and I went in and interviewed and they turned me down. Then I saw the same job ad sometime later and I contacted them again and I said like, hey, you still need somebody, you should just hire me because I think I could do it. And so they interviewed me again and they gave me the job the second time around and that was great. But that was a whole different situation. Like that was a local thing. I was able to go and like meet with them in person and kind of make my case and stuff like that.

Speaker 2:

Right.

Speaker 1:

They could get to know my personality, like there's something different about meeting in person and kind of make my case and stuff like that right, they could get to know my personality, like there's there's something different about meeting in person, um, and plus, when you're like geographically constrained, there's uh, you have to like settle more, more than if you're not geographically constrained, and so that was. That was a totally different situation. Um, today, like there's certain advice that I can give people that I know is good advice. Like, um, it's better to like have a website with a picture of your face on it and stuff like that, and an about like something to, and. And it's better to have, like um, a blog and like some evidence that you're like good, like something to make you stand out somehow from other people.

Speaker 1:

Like all that stuff is definitely good. There's no way that that stuff is ever going to be a bad idea. Um, but as far as like how to get a job, um, like that's that's not something that I'm especially good at, and especially for people just trying to get their first programming job, it's like good luck. I don't know if I would even I hate to say it, but I don't know if I would even try.

Speaker 2:

Yeah, and the market's really difficult. The thing that I always suggest to people is um, you know, try to find some way to kind of express your own voice. Like a lot of people have the same boot camp projects, or you know, here's a twitter clone, here's an airbnb clone, whatever, um, but I think, like a small weird focus tool that solves like one of your problems stands out so much more than you know another copy of an app and I think it gives you more ways to kind of talk about it and make noise. And, you know, show people that, um, you're really solving problems and code is just the kind of side effect of that. Instead of you know, you just want to write code.

Speaker 1:

Mm-hmm, yeah, code, yeah, yeah, again something to distinguish yourself somehow. Um and like, obviously I do a lot of stuff to market myself, like I have this podcast. Um, I have a blog, I've written books, all that kind of stuff, and that stuff has helped. It's definitely helped on my current job search. It's helped me get consulting clients.

Speaker 1:

It has helped in a lot of ways, so that kind of stuff is definitely a good idea too, if somebody has the appetite to do that kind of stuff. Speaking of those kinds of projects, you and I both have such projects. I only learned about yours just before we started recording today, but tell me about your tattoo app.

Speaker 2:

Yeah, so right now I've been calling it SpotSquid. That was just kind of a placeholder but has seemed to kind of stick around for a while, but but has seemed to kind of stick around for a while. But I'm currently on like the second or the third iteration. I've been trying to kind of focus on smaller areas that tattoo artists and shops have problems with. That I've kind of seen on the client side of things.

Speaker 1:

So first of all, it's a product for tattoo shops.

Speaker 2:

Yes.

Speaker 1:

Okay, and what is what's kind of the scope of it? Is it like scheduling, accounting, like what kind of stuff?

Speaker 2:

So right now it's focused more along the lines of the scheduling, client management, check-in and then follow-up process.

Speaker 1:

Okay, and do you have tattoo shops already using it?

Speaker 2:

yet, um. Yes, so I've, uh, um, after the recent pivot, uh, redid a few things and tried to kind of narrow the scope, uh, to get really good at um a couple of smaller problems, instead of trying to kind of do everything um what was that scope change.

Speaker 2:

Um, the original idea was focused more on, uh, helping artists fill uh short-term cancellations, um, and these are, you know, a pretty big impact to them, because someone could say, oh hey, I don't, I'm not going to be able to make it today, and that's four to $500 total. You know that's part of that is split between the shop and the artist. But the original idea was figuring out a way where you can easily alert people who were currently in your pipeline, so people who've already put a deposit, maybe drawn everything, or you've worked with them before send them a text or an email and then give them the chance to kind of claim the spot to come in later that day. So that really helps with especially the in demand. Artists typically book four to six months out and if someone has a cancellation you know you can get in.

Speaker 1:

And four to six weeks, uh yeah, I experienced this kind of thing recently. I had a dentist dentist appointment and I couldn't make it cause I got sick. And they're like okay, this, this was recently, in January. Um, like okay, if you can't make it this week, um, we'll reschedule. Uh, as soon as we can get you in is November. I'm like fuck, like that's a long time from now.

Speaker 1:

Um but they put me on a cancellation list and I was able to actually get in a week or two later, which is great, so I can understand the value of having that cancellation list.

Speaker 2:

Yeah, and I also think that they don't really know who their best customers are, and this is just me kind of formulating. But people who you know show up, have flexible schedules, um, and you know, moderate uh, hygiene uh, are probably, you know, in the top 20 of good clients.

Speaker 1:

So I love how low the bar is, just for fucking everything um. It's amazing. Okay, continue.

Speaker 2:

But and that was, you know, kind of started post COVID where cancellations were super prevalent. But that is when I, you know I actually started talking to artists about it, like talking to shops and things like that. So you know every tattoo appointment I've had in the past. So you know every tattoo appointment I've had in the past, however many years, I picked that artist's brain and everyone in the shop that would talk to me about you know different things that they run into and friction, pain points, ideas, and you know getting feedback that way.

Speaker 1:

Okay, I was going to say you must have some kind of connection to the tattoo industry. Maybe you have tattoos yourself, or something like that.

Speaker 2:

Yes, I've been a big fan of tattoos for a long time. I've been getting more recently and, whatever you're there, you know, technically I'm paying for their time, so I have three to four hours. Uh, this person who has really, you know, basically I can get really long customer interviews um, as long as I can stand it, the tough part, the tough part is asking the questions and talking, uh, while you're actually getting tattooed because it hurts yeah, it hurts, and you know you're actually getting tattooed Because it hurts, yeah, it hurts, and you're in awkward positions.

Speaker 2:

Sometimes there's a 44-year-old grown man pressing in on my chest trying to get something done and I'm like hey, man, what do you think about this?

Speaker 1:

Right, yeah, interesting, okay. And so how many places are using? Are using the product now um?

Speaker 2:

so let me see, I think uh getting close to like seven or eight uh, a few of them are still uh on the trial basis um, mostly because uh, there's a lot of different types of shops that have different needs and figuring out easy ways to kind of accommodate them is really important. So the information and the feedback and the trust that I've gained with them now and being able to just kind of try stuff is worth, you know, way more than whatever the monthly subscription fee.

Speaker 1:

yeah yeah, this is pretty interesting to me because I had a product many years ago that was a scheduling software for hair salons. I've talked about on the show before and in some ways, a hair salon is very similar to a tattoo shop. In some ways it's definitely different. Um, um, and I'm I'm curious if you run into any of the same same troubles that I have. One thing that's definitely different about your situation is that you're you have like a closer connection to the tattoo artists, like a closer connection to the tattoo artists. Um, like, for me, I'm just like really not cut from the same cloth as as, uh, hairstylists, um, like we're never gonna. You know, like I'm never, I'm never like encountering hairstylists just in my day-to-day life. Right, we're not going to the same parties, not that I go to a lot of parties these days or anything, but you know what I mean.

Speaker 2:

Yeah, you're not going to go to a salon and hang out.

Speaker 1:

Yeah, and like they're women. I'm a man. It's just there's a difference there and I'm guessing with tattoo artists it's like it's not such a like social, cultural distance as it was for me and the stylists.

Speaker 2:

Right, and they're definitely an interesting bunch for sure. Like, if I was to just walk in and start pitching software to them, most of them would probably tell me to them, most will probably tell me to leave. A lot of them have signs no solicitors or if you're selling something, hit the bricks type of thing. But being able to talk to them about tattoos and stuff that they've done, and a lot of times when you go into a tattoo shop, if you're trying to get work done I've never been there before there's kind of this sizing up process, and not in a bad way. They just want to know, like, has this person ever been tattooed before? Like, do they know what they're getting into? So they'll, you know, kind of give you the nod, like because see what you got, uh, and then you know, start looking at the different tattoos and that opens uh, great conversations, usually because it's like, oh hey, where, where did you get that one done? Or, um, some of my pieces, like people can specifically pick out the artist oh interesting did david do that one?

Speaker 2:

that's awesome cool. When did you do that one? That's awesome Cool. When did you get that done? And then you know it facilitates a much better conversation and, you know, helps us kind of get on the same page. A lot of people kind of come in as an apprentice and you know you kind of have to earn your keep and you know work as the apprentice for a while. So you know you can't just come into a new shop and be a new tattooer. I think you know there's you know kind of a process and it seems like that is kind of prevalent in you know the shop stuff when they're trying to sell things to you. But that may be a little more old school, um, or maybe just the shops that I go to, um, but yeah, I mean it's definitely been interesting.

Speaker 1:

Um, and you mentioned something about the, the diversity of the tattoo shops. I experienced that with salons a lot. Um, there's a number of different business structures and the size of the place matters a lot. Um, like you can have a single person, uh salon business, somebody doing it out of their basement or something like that. Or you can rent a single space, like in a strip mall or something like that. Or you can have a big multi locations I mean you can have everything up to like Bow Ricks and stuff like that, where they're never going to be a customer for something like what I was doing because they just have all that already dialed in. But there's, you know, a 30 stylist salon is much different from like a two stylist salon and there can be different business structures where, like they call it, chair rental and commission for chair rental uh, your stylists are just contractors, um and and with so.

Speaker 1:

so under the contractor model, it's like you're just renting a chair and then everything between your and your you and your clients is your own business. Like, your clients are your clients, they're not the salon's clients. Under the commission structure, the clients are the salon's clients and you don't rent a chair. They just pay you a commission of what you do or they pay you an hourly rate. I don't remember how that part works, but it's different. Two tattoo shops have these different structures too.

Speaker 2:

Yeah, it's actually very similar. You know, a lot of the kind of traditional or old-school ones are like walk-in shops. Those are typically the people who were there all the time and they kind of get the commission. So someone walks in off the street, hey, I want this thing done, and then it's usually like 60, 40 split, something like that. You know, sometimes the artist gets the 60 or whichever way, but the shop provides disposables paper towels, needles, inkwells, things like that but they have to do anything that walks through the door basically. And then the kind of private shop model has become more prevalent, where they don't do walk-ins. It's basically like you mentioned before people just kind of rent the space, their independent contractor in there, and you know they keep everything and just kind of pay their rent every month okay, interesting, um, and and what's kind of the size range that you've seen?

Speaker 1:

I imagine there's. It's not like a salon where there could be a tattoo shop with like 30 artists in it working at the same time, or something like that yeah, I think uh, the biggest, uh the biggest shop that I've worked with probably has seven to eight artists, maybe wow, that's. That's like kind of bigger than I expected.

Speaker 2:

That's a lot well, and you know that's total on their roster, so they probably yeah, they're not all like working at the same time right, five or six stations, or whatever and um I they're not all like working at the same time Right Five or six stations or whatever, and um, I think they're located in a college town, so lots of walk-in traffic, um, and then, uh, some of the other ones uh are probably closer. I would say average around, you know maybe four, five uh artists total at each shop.

Speaker 1:

Okay, okay, okay. And how did you? How did you get these like seven or so shops on board? Because, like some of them, you can like go and get some tattoos and form a relationship and stuff like that, but you're probably not going to do that in every single case. So I'm curious how this came about every single case.

Speaker 2:

So I'm curious how this came about so originally was just kind of reaching out to artists that I had spoke with in the past, living them know about. Like hey, we talked about this thing before. I know you had some friction points. Do you want to try this new software that I have? Most of the time I would kind of record a demo for them, spend a lot of time, go through and make sure all their artists are set up you know everyone has correct avatars so they could kind of see what it would really look like for them and then just go for a really hard cold sale basically.

Speaker 2:

But once I was able to kind of get in to the first couple of shops and then also reach out for referrals, that's helped tremendously. Because it's such a small community, most people know each other. So like, oh, hey, so, and so at this shop uh said this about us be like, oh, he's pretty legit. Maybe I should look into this. So the the kind of referral and, um, you know, testimonial stuff uh goes a really long way, uh, in community for sure. So that's been a really big help.

Speaker 1:

Interesting, and how do you think you'll go after more? Do you think this referral strategy or whatever can go quite a ways, or do you think you'll have to do something else? What do you think?

Speaker 2:

I think the referral strategy will definitely be my best channel. I don't know if it will be maybe the largest volume, but I think it will produce the best and the happiest customers. So those are things that I'm trying to kind of focus on. I'm trying to kind of focus on and the other you know kind of counterintuitive thing that I've been trying to do as far as SAS goes is just focus more on in person and kind of local stuff.

Speaker 2:

Most shops don't want to like, they don't want to do stuff, they don't want to have their computer out, they don't want to sign up or log in, right, um.

Speaker 2:

So you know anyone that's kind of signed up within like an hour and a half radius of me, um, I'll go into the shop, I will get everything set up um see, you know what the wi-fi connection is or lte see if there you know kind of dead zones that may have issues and kind of, you know, really handhold them through the process to make sure everything goes smooth. And I think that goes a really long way into you know kind of establishing the trust and just letting them, you know, kind of realize that, oh, once this is set up and just letting them realize that, oh, once this is set up, it's hands-off. I don't have to deal with this as much. And again, that kind of plays into the referral stuff. There's probably 20 tattoo shops in downtown Denver and I have one, so I could walk over and be like, oh, this shop, two blocks down, they're saving eight hours a month, uh, on average. Uh well, what would you guys do with that time?

Speaker 1:

Yeah, interesting. Um, yeah, it was. There was some more similarities there with the salon stuff. Like I would go in person to salons and I visited like just over a hundred salons and out of that I think I got like three customers, which is not a bad conversion rate in sales, but it was painful, um, and eventually I uh I worked on that business for like five years and then I gave up. I never got more than 10 customers, uh, more than 10 customers at a time on that product and so it was like 500 bucks a month was like 500 bucks a month roughly was the the peak MRR, which is pretty sad for like five years of effort. Um, with my, with my current product, it's going a lot better. So the hair salon stuff was 2011 to 2015 and as we speak now it's 2025. Um, and I think you, cody, the thing I'm working on is a CI platform called Saturn CI.

Speaker 1:

And it is so different. A few weeks ago or so, I put out a tweet saying like hey, I'm looking for some users for Saturn CI just to like put it through the paces and test it, and I got maybe like one reply, which is fine, that's about what I was expecting. But then, like last week, I put out another tweet, or the other day, whenever it was, I put out another tweet saying basically the same thing and I got like 15 replies. It was crazy, wow, yeah. And then I had several calls with people and got people onboarded.

Speaker 1:

And there's a bit of a technical hurdle, depending on your project and how much baggage it has and stuff like that. But, as of right now, I have two people whose projects are totally like set up and working on Saturn CI and then, just looking at like the user dashboard, there's like 20 people who have at least signed up. Maybe they haven't like integrated the project and stuff like that, but they've signed up. And Saturn CI doesn't even have a website yet. Like it has like the Rails app is in production, but there's no like actual marketing site. You know, right, and so like everything has just been so much smoother selling to developers instead of selling to hairstylists. So that's been really great, but it sounds like your experience with tattoo artists is definitely better than my experience with um stylists. Have you gotten a lot of rejections, like you have I forget the exact number like seven or so places using it. Do you know how many people have have said no?

Speaker 2:

um, I don't know offhand, uh, but typically they don't say no, they just don't say anything, basically, um, which is fine. And you know my prior career was in sales, so oh okay, um, you know, I would make 100 phone calls a day, uh, so I'm no stranger to rejection for these types of things, um, but stranger to rejection for these types of things. But you know, just move on to the next one. But I think one of the big differences that I've noticed between, you know, this project and other things that I've worked on in the past and you know, I kind of go back to the Derek Sivers book Hell yeah or no and this was like my first like really hell yeah idea, like I really like serving these customers, I like this market. Like you know, I enjoy hanging out in tattoo shops and I think that having that little additional spark has been kind of that X factor to help carry you through. You know, those low troughs and high peaks that you know you run into building something yeah, interesting, um, that's.

Speaker 1:

That's interesting that you have that kind of hell yeah feeling about it. By the way, dear listener, if you're not familiar with that, um, with that book I haven't read the book, but I'm familiar with derrick sivers and I saw the. I think he maybe had a blog post about it. It's like when you're evaluating something and it's like, do I want to do this thing or not? For him it's either hell yeah or no, which I really like. And since I've read that blog post, I've used the same heuristic myself. It's like, if it's not a hell yeah, it's a no. And I've had that exact, exact same experience with saturn ci. Like, as I've been working on it and as I've been onboarding customers and stuff like that, it's just like fuck, yes, this is like, this is great, this feels so right, right, and you know everything kind of aligns with your experience and testing and workshops and everything else.

Speaker 2:

So you know there's there's a lot of overlap in the different areas that you've worked on and I think you know being able to feel kind of comfortable and in your, in your element, uh is is also a huge help too.

Speaker 1:

Yeah yeah, with the salon stuff there were stiff headwinds because, like, talk about being in your element. I was like the exact opposite of being in my element and like it's not. It's not a place that I would ever be in my element. You know, like I'm not going to become that kind of person over time. Um, like I'm not going to become that kind of person over time, like I'm not going to become somebody who's into what? Do you call it? Health and beauty or whatever that whole thing is.

Speaker 2:

Yeah, I'm not even sure what happens at a salon besides, you know, haircuts.

Speaker 1:

Yeah, I mean I kind of am now Not that I ever would have been before, but like I'm never going to perform a haircut myself or do a coloring or something like that, and I'm not interested, like I don't give a shit at all about that stuff. No offense to any hairstylists listening. Maybe there's more than zero hairstylists who are also programmers who are listening to this podcast. Probably not, but maybe. But yeah, you have. Like you have an interest like to you talking with these people.

Speaker 2:

It like feels right, it sounds like yeah, absolutely, and you know, again, chatting them up about, like, while I'm getting work done, um, like my uh kind of normal local shop has been running it. Um, the artist uh was he was previously at another shop and uh, I had mentioned the idea to him and he was like, oh, is it ready? Like, ready, ready, uh, I'm signing a lease on a new shop this weekend. Um, so I got to kind of get in on, you know, the ground floor with him and be there from day one. Um, and now whenever I go, uh to get an appointment done, you know, I get to see, like the qr code and all the stuff, like I get to dog food, my own software on the client side, uh, while I'm using it, which is, um, another really nice perk yeah, that's pretty cool.

Speaker 1:

Um, let's see. Um, there's there's a lot of other, there's there's a lot of directions we could take this in. Um, hmm, yeah, I'm drawing a blank. Uh, what else? What else on this product should we talk about?

Speaker 2:

Let's see. I think talking about different ways that I can experiment with stuff really quickly has been interesting, especially fighting my tendency as a developer and overengineering. A lot of things like finding the comfortable balance for testing new features and getting something done enough, where my first instinct is obviously to build stuff, but that's not always the best answer. I'm finding, and you know, trying to think more as a founder who also writes code instead of, you know, a developer who is the de facto founder.

Speaker 1:

Yeah, that was a tough thing with the salon software Because of the great diversity of needs. I was always so behind when it came to building features and so that was really tough. And with Saturn CI it doesn't quite feel the same and I can be a little bit choosy, because with the salon thing it was so hard to get customers that it was kind of like if I had one on the hook I basically just had to do anything that I could to win that customer and keep them 100%.

Speaker 1:

Yeah, whereas with Saturn CI it's like all right, if you don't use our spec, then this project is just not for you.

Speaker 1:

Um, because that's all I'm choosing to support.

Speaker 1:

Um, if you have a project that's 10 years old and it has a bunch of baggage and your test suite is like really fragile and stuff like sorry it's, it's not for you, at least not yet, because I'm prioritizing, like the fresh new rails projects that are, um, that don't have a lot of baggage yet, that are going to be easy to onboard, and stuff like that.

Speaker 1:

So it can be a little bit choosy, um, but there still is the choices of like what to focus on, and there's a choice between like dividing my time between sales and marketing and product development, and those aren't necessarily like two distinct things either. Like there's a blurry line between marketing and product development because, like sometimes you need a new feature in order to be able to market the product the way you need to, and stuff like that. But definitely I'm being careful to like let my development be driven by concrete needs. Like I never want to build anything where it's like I think people probably are going to want this eventually. I'm only building things that I'm like, really sure are a very good bet.

Speaker 2:

Right, yeah, that's another thing I've been trying to focus on more as well. One of the things I would always run into is you know, if I need a feature or something, I start looking out there to see. You know if there's a an existing third party service available and we'll look at the pricing page and be like what $40 a month? I'd rather spend 10 hours of my own time writing that myself and making a less good version of it. So getting past those kind of hesitations and thinking about things like you know this would, let me try something really quick.

Speaker 1:

That's my main focus. You know, what's funny is I've been taking the opposite approach, like I'm trying to use as few third party tools and libraries and stuff as possible, and I've been like building things myself, even if it takes more time, because I'm thinking about the long term. Having said that, quite a bit of Saturn CI is not experimental, so I'm maybe taking like your situation and my situation, I think maybe call for different approaches, because to me it seems like your product. I'm just guessing, so tell me if I'm wrong. To a certain degree you're like feeling your way through the dark, because you can't know in advance what's really going to land and what's not Exactly.

Speaker 2:

Yeah.

Speaker 1:

Yeah, whereas with me, like you know, you're not a tattoo artist yourself At least, I don't think so Right, yeah, you certainly don't have your own tattoo shop, like that's not what you do for a living. But for me, like, I am my own customer and so, like, I have a very, very clear vision of what I want this product to be, clear vision of what I want this product to be. And so, um, I, I, I can have a pretty good sense of what's going to be a good bet. Um and I, I don't have to, like, do an experiment and then see how it performs in the world. I can just be like, yes, I know that.

Speaker 1:

Um, I know that when a test fails, I want to be able to click on that build and see the test failure right away. I'm 100% sure that that's exactly how that should work, and that sort of thing. And I think when that's the case, when you're 100% sure about the thing that you're building, then it's appropriate to like take your time and build it the way that you know you're going to want it to be for the next 10, 20 years, whatever, because you know it's not going to be a waste, whereas when it's experimental, I think it does make more sense to be like well, it's not justifiable to spend a huge amount of time on this because, for all I know, it's going to get ripped out in a week.

Speaker 2:

Right, and the other thing that I've been running into a lot that I have to consistently remind myself of is I'm writing software for non-tech people, so I have this you know very much tech leaning tilt. I work on stuff all day, so I view all this stuff a lot differently than they do, so things can be super intuitive and easy and just real simple for me, but they have no idea how to navigate it or don't understand forms or error messages. There's a lot of little things that I kind of find myself taking for granted when working on tech-focused products for tech-focused people, but I think it's been a great exercise in trying to kind of strip away everything else and just focus on the root of the problem.

Speaker 1:

Yeah, you know, when I was working on the salon software, I made it a point to visit my customers in person and watch them using the software, and I found that they would always abuse the software in surprising ways. I'd watch them use it. I'd be like what. I'd just be like what the fuck, like what the fuck are you doing?

Speaker 2:

how did you even do that? Yeah, and it's, you know, usually something simple, like a form submission or like uploading an attachment, um, like, just any way that can be broken uh, will be broken somehow, which is interesting exactly, and you can never predict what it's going to be.

Speaker 1:

So you like have to watch people and I would always encourage my consulting clients to do this, to like go actually spend time in person with their users and customers, because it's different. Like being with somebody in person is different from being on a call. There's like more candor, um, and I think your behavior is like, uh, the the fact of like being on a call like affects your behavior. You behave at least a little bit differently, so you're not getting like the real thing, um. So I think in person is is indispensable. I definitely am going to have to remember to practice what I preach and do that for saturn ci right now.

Speaker 1:

My best part yeah, the two people I have using it right now who are like fully set up, are in wisconsin, which is driving distance for me, and France, which is very far away. So maybe I'll visit my friend in Wisconsin, but France we'll have to. That's probably not going to be anytime soon.

Speaker 2:

Right, right, yeah, I have the lucky ability to be able to go and just kind of hang out in some of the shops that are running the platform and just see how people interact with it, see if the artists have issues with it, and just kind of be a fly on the wall wall, um, because you know, a lot of tattoo shops are places to to kind of hang out. You know, at least now, uh, post-covid, it took a little while to kind of get back to that um, but a lot of uh, the artists, they, they kind of view this, as you know, almost their third base um, they got tvs and you know coolers come hang out at the shop, see what we're up to and yeah, it's very inviting. So that gives me the ability to come in, say hello, drop off a six-pack for the shop fridge and just kind of hang out and be a fly on the wall and experience and see how things react in the real world without people kind of having that observer effect.

Speaker 1:

Yeah, interesting. I want to back up a little bit. Like, if I were listening to this podcast in like 2010, I would be listening and I'd be like green with envy because I wanted so desperately to build some kind of online product business so that I could free myself from having a job. I feel a bit differently about it now because, like work is remote now and things are nicer and I have like a nice home office and stuff like that and so like having a job isn't painful in the way that it was to me back then, but I was just like so desperate to escape employment and be able to do what I wanted with my life and stuff like that.

Speaker 1:

Anyway, I really wanted to build a business, but I didn't have any ideas and I didn't know how to get an idea. But I didn't have any ideas and I didn't know how to get an idea, and I've spent so much time like studying like okay for people who have built successful businesses. How did they get their idea? How did that all go? And so I want to ask you like, first of all, why are you even bothering to do this at all? And then, second, how did you get the idea to do this specifically, and which order did it go in? Like, did you want to start a business and then you had this idea as a way to get there, or did you like stumble upon this thing and you're like, okay, I'll make this a business? Which order did that go?

Speaker 2:

in? Yeah, I've. Since I started development, I've always, you know, kind of wanted to have my own product and business. You know, back in the before times, in my college days, was originally a business major and, you know, switched midway through to try to be a little more diverse but still have a minor in business administration. So a little bit of background in that companies of all two to four people getting to kind of see lots of companies launch and get started from the beginning firsthand, like that was another big factor that kind of pushed me towards it.

Speaker 2:

As far as the actual kind of segment, for whatever reason, I just keep gravitating back to ideas around tattoo shops and I think part of that may be because, as a client, I could see a lot of these inefficiencies and be like, hey, man, this sucks.

Speaker 2:

You just handed me a piece of paper with aftercare instructions why isn't that an email with like a link to review on google? Um, like little things like that like could be making their life so much easier. And also, uh, me as a client, like especially with social media churn and things like that, like, hey, well, what if you just emailed me whenever you had a flash special or some kind of thing going on instead of hoping I catch it on instagram, um. So a lot of that has been, you know, one looking for some type of product, uh, and two just um, continually uh seeing inefficiencies in an industry that uh has a lot more money going through it than I, you know. I think some people kind of realize, like a lot of you know, tattoos yeah, most artists charge one to two hundred dollars an hour. So being able to get a couple hours in more each month, you know, can make a big difference for shop or, you know, even an individual.

Speaker 1:

I want to focus on that a little bit more, um, because, like hair salons, as businesses, they're run so much, uh below their potential um, but they don't care. Um, like, the sophistication level of salon owners is, like, unfortunately very low. As an example that I've shared before, I built all this reporting functionality for the product and nobody ever looked at it because nobody cared how much money they made, which to me is just like unfathomable, like that's insane. But that's the way it was. And something I learned, uh, a lesson that that helped me learn, was that you can't sell people what you think they need. You have to sell them what they want, and what they want might be perversely different from what they actually what you think they should want. So I'm curious with the tattoo artists, like what's their level of business sophistication? Most, most business owners just want to keep the lights on. They're not really interested in growth or anything like that.

Speaker 2:

So what are the tattoo artists like? It's definitely a big spread. Some of them are shop owners themselves, so more entrepreneurial-minded and business-forward, I think. The less business-savvy they are, I think, the more benefit I can probably provide. A lot of what I try to do is make things as hands-off as possible for them so they can focus on tattooing, like that's what they love to do. I want to give them the tools to be able to do more of what they love and enjoy and make money instead of, you know, trying to fill an appointment or making sure someone is coming in to their scheduled appointment or sending out an update, whatever it may be. These are all things that they have to deal with, but would much rather be drawing or hanging out or doing something tattoo related.

Speaker 1:

Yeah, okay, different question you know something tattoo related? Yeah, okay, different, different question. Um, back to like your personal motivations and stuff like that. Like where do you want to take this? Like, you want to have your own business? Why, like okay, so I phrased it in kind of a negative way, like to escape a job, but there's also positive aspects to it also. Like there's the, there's the freedom and the money that comes along with it and stuff like that. Both those things are interesting to me.

Speaker 1:

If I had to pick one, it would be the freedom, um, although, as I you know, back then I like didn't really know any like rich, successful people, and now I know kind of a lot of them, and what I've learned is, like this freedom that I imagined is maybe not really what I imagined.

Speaker 1:

Like if you have a business, it kind of can take over your life and you don't really have a choice. Um, like you're in possession of this business and it demands, demands, uh, from you what it demands, and you have to like feed the beast and if you stop feeding it it'll die, um, and you can't just like sell your business whenever you want to, because, uh, that's not how it works, and so I'm realizing that this like freedom, I imagine. Oh, by the way, I had somebody on the podcast not long ago Adam McCrea I'm hoping I'm saying his name right but he talked about how he was like on call 24-7 for like seven years and then he finally hired his first employee and he could be free from that finally and he like didn free from that finally and he didn't have a choice. Anyway, that was a long aside. What's your motivation?

Speaker 2:

Where do you want to get to? So I think there's a couple of aspects around that that kind of keep me going. One is having some kind of channel where I can build stuff like that's at my core, that's what I enjoy doing most. Even if it's not code, I'm out in my shed or you know something around the house I really enjoy building things. Being able to put time and energy into something that I enjoy and I control I think is a huge help in kind of my mental health and keeping me stable and happy and not burn out and continuing to enjoy programming after 10 years. The other one is, you know, may sound a little counterintuitive, but it provides a level of kind of stability for me Working at a lot of startups over the years.

Speaker 2:

It's not uncommon that you know 18 to 24 months after you start this thing that you've been pouring all your time and energy into just disappears or you'll never work on it again one day.

Speaker 2:

So and then, when you don't have these, you know kind of side projects that you kind of control and own. You're just, you know, kind of left like what? What do I do now, like Ricky Bobby? What do I do with my hands? I don't have this thing to work on anymore. So having this thing that I control and I can, you know, dictate the level of commitment and effort into and come back to over the years, especially with consulting the past year and a half almost two years now, consulting the past year and a half almost two years now provides a level of stability that I really enjoy. I know where everything is at, I know how things work and you know I can hop in there and get some work done. So I don't think a lot of people may think about you know stability and consistency when working or thinking about these types of projects, think about you know stability and consistency when working or thinking about these types of projects.

Speaker 1:

But, um, for me, uh, that's been a huge benefit and has ran longer than most of my tenures at my paid jobs in the past yeah, no, I can understand that completely and that's definitely something I'm thinking about with saturn ci um, and have kind of a I'm double-minded about it a little bit, where it's like do I want it? Do I want it to be like a solo business forever and I never hire anybody? There are things that are appealing about that. There are cons to that as well, like carrying the pager 24 seven for the rest of my life. Like that doesn't sound terribly appealing.

Speaker 1:

Or do I want to go the other direction and just go like pedal to the metal and try to grow it into a billion dollar business, because, like circle ci, like they are a billion dollar plus business, um, so like the potential is there. Do I want to like shoot for for the moon and do that kind of thing, or somewhere in between? I'm not sure yet. Um, obviously the first step of any of those is like just get to income replacement level, um, so I don't really have to think about what comes after that, because the first steps are the same. Do you have like different ideas about what you might want to ultimately do with it, or do you have a pretty clear idea of what you think you want to do?

Speaker 2:

I'm definitely not sure on that. I think I'm kind of in the same boat. It could grow into a large business and multiple employees. It could stay smaller and more focused around solo person. But also thinking about what I would have to do for each one of those If I wanted to grow into a huge business, um, would I be comfortable accepting funding from someone and you know kind of having to answer to someone and you know be beholden to their requests, instead of me doing what I think is best, uh, all the time, every time, um, and you know trying to think like what would I be okay with that, like what would, uh, I feel like I would have to give up to to kind of reach that point.

Speaker 2:

So, thinking about the trade-offs for kind of each path, um has been a big thing and I think the one thing that it kind of lets me know is, um, the freedom to make decisions really quickly without having to have anyone else, I think has been 100% yes, and they're not even the right decisions most of the time, it's just I make them fast and I'm able to shorten that feedback loop, which I think has been a huge benefit.

Speaker 2:

And you know, something that may not be available to me if I have to answer to people or you know, maybe you know have to push something that I don't 100% believe with. So thinking about those things that would come with each path and kind of weighing those against the you know potential outcomes and getting you know some kind of weighing those against the potential outcomes and getting some kind of expected value out of that, has been something I've been going on now and trying to figure it out. But if nothing else, like reminding myself that, hey, this is the first time I've ever had a paid customer for something like this that wasn't a friend signing up or something like that.

Speaker 1:

It's a pretty nice feeling.

Speaker 2:

Yeah, being able to kind of get over that hump and know that if you do one there's probably a lot of other people out there, that kind of meet that specific customer avatar, you know, maybe you're on to the right path. So kind of getting past each one of these checkpoints that I may have stumbled on in the past keeps pushing me forward as far as what the you know kind of end result is. Yeah, Still still trying to kind of figure all that out.

Speaker 1:

Before we wrap up, I want to ask you a totally unrelated question. So you and I know each other from conferences. I remember we saw each other in Denver. We saw each other, obviously, in Las Vegas at Sin City, ruby, oh I think maybe Rails. World Rails World in Toronto.

Speaker 2:

Toronto, for sure.

Speaker 1:

Okay, yeah, and maybe RailsConf in Detroit Were you there? Mm-hmm, yeah. Yeah, it's funny, we've been to a lot of the same conferences and we've formed a relationship over time that way, and I wanted to call that out because that's I. I think that's an interesting like lesson, and I remember that you had a goal not that long ago to like speak at a conference, because you hadn't spoken at a conference before and you wanted to, and you did end up doing that, right. Mm-hmm, yeah, where did you get up um.

Speaker 2:

Last year I spoke at RailsConf Detroit and then Rocky Mountain Ruby in lovely Boulder, colorado yeah, okay, yeah, and how did you accomplish that?

Speaker 1:

did you just like put out CFPs and and they got picked for some reason? Do you think your like participation in conferences in the past like helped you get there? Any idea about that?

Speaker 2:

So I have a few opinions on that. I think when I kind of set out to get accepted you know, have a talk accepted at a conference I wanted to lay out like what's everything that I could possibly do to increase my chances the most, realizing I didn't really know what a good CFP looked like. So I don't remember the site's name offhand, but I remember someone posted a resource where people posted their CFPs and I went through and I read every single Ruby or Rails-related CFP on that website or proposal. I guess it's not a call for a proposal, but being able to have the context of what would a good proposal look like and what would one accepted be look like kind of at least gave me the initial benchmark.

Speaker 2:

After that I went to one of the Ruby Central coaching sessions, which was a huge help getting feedback from that and being able to kind of refine everything to see what they're looking for and try to dial things in as much as possible. Besides that I went through I had kind of a few different rough ideas. I reached out to the Boulder Ruby meetup that's our local meetup and the organizer was looking for speakers and said hey, here's three or four things I'm thinking about doing a talk on or do any of these interests you? And his response was oh, action Mailer sounds good. I haven't seen anyone really talk about that before, so that was my first you know kind of direction. Like, hey, this is, maybe I should pile in on this one. It's interesting to a meetup who has had a ton of great speakers over the years and then try to lean into this topic.

Speaker 2:

Prior to the CFPs I very strategically posted a couple of articles around Action Mailbox so it was kind of in people's mind about interesting things and even if they didn't read the article, maybe they saw it, you know a link posted on uh, social media or newsletter something like that, but just something to kind of plant that initial seed in their mind. And then eventually it got accepted. Got accepted and I started working on it immediately. I think I was already planning on giving that talk at Boulder Ruby and got the RailsConf acceptance maybe like a week before. So that was my first kind of warm-up. One. Also did Philly RB from there remote the day before, so luckily, by kind of piling all in and deciding that I was going to give this talk at meetup to whether it was accepted to RailsConf or not. When that got accepted I had two practice talks with four to six weeks left to go to RailsConf, so that gave me plenty of time to kind of refine and try to dial everything in and, yeah, very happy with how everything came out.

Speaker 1:

Nice. Yeah, I think that's a great way to start by speaking at meetups. The bar is a little lower for those. I've spoken at my local, at my local meetups in Grand Rapids, Michigan, at multiple different meetups on multiple topics. Meetup organizers are usually pretty hungry for speakers. That's like their bottleneck is absolutely speakers. Yeah, and like you almost don't have to have a specific topic, even you're just like hey, do you need speakers? I'm available. Um, there's a good chance they'll be like great when can you do it so much?

Speaker 1:

yeah, exactly um, so that's great. And I even because I'm a crazy person I have traveled to different parts of the country just to speak at meetups, like I went and spoke at the Chicago Ruby meetup, which is not that bad, it's just like a four hour drive.

Speaker 2:

Yeah, I believe we both did Boston last year too.

Speaker 1:

Oh yeah, yeah, I flew to Boston and spoke there and I made kind of a business trip out of it. I did some networking while I was there in Boston and then similar thing with San Francisco in January. So just a few weeks ago I went and spoke at the San Francisco Ruby meetup and again did some networking and stuff while I was there. So that can. If you're willing to do these crazy things that other people aren't willing to do, then some of these opportunities are just like there for the taking.

Speaker 2:

Exactly, and getting to these meetups, I think someone kind of compared it to me like a comedian hitting up small comedy clubs before they go on tour, like you're working out stuff, you're seeing how people receive it, and I think that's the best way to you know one just get the experience of speaking, but also like really fine tune and hone presentation, delivery, the pitch, infographics, all this other stuff that you may not really think about until you put it in front of a bunch of people and then ask what they think.

Speaker 1:

And how come you're interested in doing these speaking gigs?

Speaker 2:

I think part of it was I, you know, would go to conferences. I would see people giving talks and really enjoy it. And you know, I always have this kind of hubris about me where, like hey, I bet I could give a really good talk and eventually finally pushed myself to kind of do that. And you know, from being in sales for years, I don't like I don't mind public speaking, don't mind public speaking. Like I, I have no qualms about going up on stage, uh, and looking like a total idiot, which I think is important for being able to take big swings and have fun and give a engaging talk that people remember. Um, so those are, you know, all things that I wanted to to kind of leverage and see how it went and, uh, yeah, was super happy with how everything came out.

Speaker 1:

Yeah, yeah. For me, a lot of the time my motivation has been related to my consulting work. It helps with getting consulting clients Like I've never given a talk and then had a work lead come directly from that but I do definitely think it helps as as part of the whole picture absolutely.

Speaker 2:

Yeah, I I'll never forget when I was at rails world in toronto and someone was like, oh, hey, you're the email guy, right, and I was like, oh, I'm a, I'm a guy for something like that's, you know, uh, a big step up for you know, only doing one talk and having you know someone like. Oh, someone was telling me about your talk at Yuruko. I heard it went really well and was fun. Things like that, like you said, you know may not correlate directly to new clients, but I kind of try to view it as, like that, the top level funnel of my you know, getting work. That's basically visibility and, you know, letting people that I do stuff, and it's a good way to kind of express, you know, your personality.

Speaker 1:

Yeah, totally agree. Okay, we probably should wrap up um before we go. Is there anywhere you want to send people so they can find out more about you and what you're up to?

Speaker 2:

uh, codynormancom that's the best place to find me, that has all my social links and where I uh post podcast appearances and anything new that I'm up to these days.

Speaker 1:

Awesome. Well, Cody, thanks so much for coming on the show.

Speaker 2:

Yeah, thanks so much for having me, jason. Thank you.