Skip to content
Gun.io
December 7, 2023 · 23 min read

Season 4, Ep. 36 – Founder to Founder: with David Khourshid, Co-Founder & CEO of Stately

This week, Teja talks with David Khourshid, Co-founder and CEO at Stately. This AI tool serves as a visual source of truth for creating, deploying, and analyzing any type of logic. They discuss the importance of considering the customer at the outset, the ways metrics can skew your path, and how you know when it’s the right time to turn that side hustle into a full-time business.

stately.ai

Listen:

Read transcript

(THE FRONTIER THEME PLAYS)

Bill, via previous recording (00:05):

Welcome to another “Founder to Founder” interview from Gun.io, your source for hiring world-class tech talent. Today, Gun.io’s, CEO and co-founder Teja Yenamandra sits down with David Khourshid of Stately AI, the company behind XState, a best-in-class open source library for handling complexity at scale. Okay, here’s Teja. (THE FRONTIER THEME ENDS)

Teja (00:35):

Okay, so I see you have a piano in the background, (David: <Laugh>.) and then I also see other things, but the piano stands out the most. (David: <Laugh>.) Maybe like, a cool spot to start is like, you know, do you like playing music and probably like, playing piano, I assume?

David (00:53):

Yeah, so I actually, I’ve been studying piano for a while. I went to college for piano (Teja: No shit?) at the University of Central Florida. Yeah, yeah. (Teja: Okay.) So I guess that was my original career trajectory, but of course people never fully know what they want to do in college. So I was doing piano, I was doing a little bit of WordPress and got into that, and then I realized, okay, I could actually make a lot more money doing this than being a piano teacher all my life.

Teja (01:22):

Were your parents musicians, or do you just like playing music, or like, how’d you decide to study that in college?

David (01:29):

No, no. My parents weren’t musicians at all. Just something that, you know, they made me do as a kid, and so I ended up really, really enjoying it. So, yeah.

Teja (01:40):

That’s cool, and so born and raised in Florida or from elsewhere?

David (01:46):

So I was born in Chicago, moved to Florida, and then stayed here, pretty much because the cost of living is lower than, you know, your Californias, New Yorks, all of the other tech hubs.

Teja (01:58):

No, it sounds similar. So my parents immigrated from India to New York City, and then they moved down to Nashville, and so it’s like, where I finished high school, and there’s not very many Indians like, in Nashville, you know? But I went to college elsewhere, and then when we started the company, I started it here in Nashville, basically outta like, my mom’s house, because it was cheap. (David: <Laugh>.) Is that like, similar to your kind of story, or is that like, different?

David (02:25):

Yeah, pretty much. I mean, I have worked remotes for a while, most recently at Microsoft, and then when I decide to start my company, it’s, yeah, we don’t have an office or anything. All of us are remote distributed. Half of us are in the United States, the other half are in Europe. So no reason to get an office, just, you know, do it here, my home.

Teja (02:47):

Yeah. So, okay. I think maybe we can even back up and be like, what’s your company? You know, when did you start it? You know, what kind of got you into the idea of entrepreneurship?

David (03:02):

Sure, yeah. So first of all, I’ve been a developer for, I wanna say, around 15 years, I lose track, mostly focused on web technologies, (Teja: Cool.) and when I started my first, well, I call my first big boy job as a junior developer, we were working on this just nasty jQuery PHP project. We weren’t really allowed to use any frameworks, nor were there any really good options at the time. There was a backbone and things like that, and of course, Angular 1.x, which we eventually moved to, (Teja: Yeah.) but the biggest thing I struggled with was just really complex application logic, and so you have me, who’s a junior developer, fresh out of just making WordPress templates for people for like, a hundred dollars, which, at the time, I thought was big money, (Teja: <Laugh>.) and also me being a musician and still being super focused on music, my mind is very visual.

David (03:58):

So I love seeing things just like a musician would read sheet music and sort of understand the music in that declarative fashion. Me looking at a bunch of “if” statements just, it didn’t really click well, and there was a lot of multi-step forms, and complex application logic, and workflows too. So I desperately just wanted to see, is there a better way of representing this in a way that I could understand and others could understand, and so I just went in this deep rabbit hole of learning about, you know, flow diagrams, which led to state diagrams, which led to state machines, which also led to state charts, and I’m like, “This is really cool. I could actually understand this. This is just boxes and arrows.” To understand the flow of something, you just follow the arrows. It’s, you know, as simple as that.

David (04:44):

And I thought like, why aren’t web developers really doing this mainstream? And I mean, half the reason is just they don’t know about it. The other half is a lot of them have been burned by UML, which tried to just super formalize that and just make it really difficult to work with. So I created my own library called XStates to just really scratch this itch of, can developers program logic in a way where, number one, it works. (Teja: Mmm <affirmative>.) Like, you know, you have your states and transitions and everything, and number two, you could take that, copy/paste it somewhere and visualize it, and so it was just an experiment. I talked about it at a couple of conferences, but it seemed to really catch on to the point where there’s like, a ton of big and small companies using XState, and even more developers who just, whether they’re using XState or not, they know about state machines.

David (05:37):

They’re like, “Wow, this is such an important computer science concept that I didn’t know previously, but now I could see it doesn’t have just, you know, just mathematical or theoretical applications, but it actually has real practical application in my day-to-day work.” So yeah, fast forward, I was working at Microsoft for about five years, and then at the height of the pandemic, I decided like, this project is too important for me to just have it as a side project, working on it mornings before my coworkers, worked up nights, weekends. I mean, it was very stressful, and there were more and more people depending on it. So I decided to go the VC routes, get a little bit of seed funding, assemble a team, and actually make this reality of being able to actually physically design your application logic in a visual way, and in a way where you could edit the code, which updates the diagram, or edit the diagram, which updates the code. Just that directional nature, which is a very tough problem to solve, but, you know, I think we’ve got it pretty good. So yeah, that’s what made Stately.ai come to life, and we’ve been around for two and a half years now.

Teja (06:51):

That’s awesome. I have a lot of questions about how the application like, itself, works, and we can get into that. I’m curious of, okay, so you ran the company, sort of bootstrap, maybe even like, solopreneur, maybe had some people helping you. How has the transition been from like, bootstrapping it, as maybe like, an idea, concept, early-stage business, to now having like, VC backing? Like, what’s that been like for you?

David (07:19):

So by bootstrapping it, it wasn’t like I was selling anything before. I mean, the most I was doing was maybe teaching a couple workshops here and there, but you know, that’s not too much money, and also all of like, the precursors to the “Stately Studio” that we call it, have been just me working on weekends and just trying to do something to make application logic visual, but, yeah, it has been a pretty big change from when we got, you know, a little bit of VC funding to building a team and really seeing this accelerate and take off, and I’m really glad that I did it.

Teja (07:57):

How are you spending your time these days now, where the company’s at?

David (08:03):

<Laugh>. Yeah, so I mean, the two most important things which I try to focus on are, number one, talking to users, and number two, building the product, and it really has to be in that order. You know, you can’t build something and just expect users to come. So that’s why we have a pretty large community of people who use our, either the product, or XState, or all of the above, and we talk to them a lot, and I’m also involved with both building the product, coordinating that, and of course, you know, having to talk to investors and all of that too, and just do all of the business planning stuff that developers really aren’t accustomed to. Like, I sort of fell into this business role <laugh>.

Teja (08:49):

Yeah, no doubt. It’s like, you want to build a cool product and like, part of having to do that, is you have to scale the capability of building it, which involves like, a lot of work streams that are not super intuitive (David: Right.) or sometimes like, engaging, even, in my case, (David: Exactly.) I would say <laugh>. How have you, so like, you’ve been a developer for like, over a decade, you probably like actually writing code, and you like probably having four or five hours of uninterrupted time to think through a problem. Now I imagine your work life is like, sliced [into] an hour or 30 minute increments, right? What are some of like, your personal, like, I don’t know, like, heuristics to ensure that you’re maintaining like, good output every week and like, you’re, you know, leveraging your highest and best potential?

David (09:50):

Well, I always have this idea. Like, first of all, it’s just realizing what are the northern stars (Teja: Yeah.) of our products. Like, where do we wanna take this? And of course, we want this to be a tool in every company’s tool set, where it’s like, “Okay, we need to organize our app Logic in a visual, formal way somewhere. So this is a great way to do it, and so that’s why I’m constantly thinking about, okay, what are the most impactful things that we as a team could do every single week to just go towards that goal? And so that means just trying to delegate as much as I can, saying “No” where I can, for example. (Teja: That’s hard.) It is really hard, but like, now, I’ve just gotten into the habit of like, if we’re super hardcore focusing on one problem, and I zoom out, and I see that problem is not really going to move the needle for us, even if it gets solved, then I’m just like, “Hey, either just pick A, or pick B. Flip a coin, and just move on.”

David (10:49):

“We could talk about it later,” (Teja: Yeah.) and actually that’s really powerful, the whole, “We’ll get back to it later,” (Teja: Mmm <affirmative>.) because the fear is always, you might not get back to it later, but that’s actually a good thing, (Teja: Mmm <affirmative>.) because if you don’t get back to it later, it’s like, well, was it really that important? (Teja: Mmm <affirmative>.) So other than that, my heuristics are just, yeah, making sure that we’re accomplishing these, you know, northern star goals, and also just talking to our users, and seeing that, like, we focus a lot on metrics, but not too much. Like, not to an obsessive level, just because it’s one of those, like, it like, if you have product market fit, which even at this point, we don’t know if we have it yet, like, it’s one of those, you either know it or you don’t. It’s not like you’re going to obsess over a graph and think, “Oh, we have 15% month over month growth,” or anything like that, because it’s like, no, are lots of people talking about your product and using your product? Yes or no? Like, that should be the only thing. So really my heuristic is just focusing on that and seeing like, is what we’re working on really making a difference? Are people talking about it, using it, and are they benefiting from it?

Teja (11:59):

Do you enjoy like, the sort of non-coding work? I know it’s like, a simplistic question. (David: <Laugh>.) Like, have you enjoyed the transition of your day-to-day duties, or do you look fondly at the times passed where you get to stay up all night drinking Diet Coke, (David: <Laugh>.) doing work <laugh>?

David (12:20):

Yeah, you know, it’s funny. It’s not an easy question to answer, but the best way to answer would be sort of like, a state machine, (Teja: Yeah.) where it’s like, I really enjoy the coding until I don’t. It’s like, I get frustrated on these micro problems, and then I would rather focus on the business side, and then I would, you know, work on the business side, until it just doesn’t get interesting anymore, and then coding looks more fun. So it’s like, these two states going back and forth (Teja: Yes.) between each other. I do really enjoy focusing on just the, like, zooming out the bigger picture, which is very much the business side. I don’t like focusing on, you know, things that are just huge distractions, like, or not even distractions, but just the, I don’t know, the unappealing stuff of metrics and things like that. I’ll be completely honest. I mean, I know it’s important and everything, but my number one goal is I wanna solve people’s problems.

Teja (13:21):

You know, so, okay. Having an anti-metrics view, I’m gonna characterize your viewpoint like that, so I’m sure it’s actually more nuanced than that. It’s like, (David: Yeah.) it’s probably, if you were to frame it, it’s like, appropriate level of focus on the metrics, but I think even that is like, a fairly controversial view to have these days, and especially, I think, because like, the value of your company is often looked through like, a spreadsheet, right? And so, like, especially in the venture ecosystem, and so like, there’s an incentive to actually like, overweight perhaps, like, the importance of metrics. Like, how do you make decisions if maybe metrics are not the most important thing? Like, how do you actually distill down the feedback from users, make directional calls on where the product needs to go? Like, what’s your process for determining like, okay, like, this is actually the most important feature we need to ship for this quarter. Like, let’s go.

David (14:21):

Well, that’s the thing. Metrics are definitely important. I’m just saying they’re not fun <laugh>.

Teja (14:26):

Yeah, okay. (David: Yeah, yeah, yeah.) Gotcha, gotcha. Yeah, that’s fair. (David: Mmm <affirmative>.) That’s fair. Yeah, sometimes I think, I don’t know, I think like, metrics…over optimizing metrics can be a distraction, ’cause for them to be like, actually accurate, they have to be so narrow, and they, and like, right? And that often doesn’t tell the full picture of whether a customer likes your stuff or not.

David (14:56):

Right? Exactly, and I think one of the biggest problems I have, I don’t know if this is controversial, but like, the problem with hyper-focusing on metrics is that you learn to sort of game the system, and so what I mean by that is not as in tweak the metrics and lie about it, but for example, if one of your metrics is just revenue, let’s say, (Teja: Yeah, yeah.) then instead of saying like, “Okay, let’s talk to our users, see what their wants [are], see if we’re solving their problems, and just get more users on board and, you know, make the product more valuable to our users,” business people are going to think, “Hey, let’s actually play with the pricing a bit and turn some of those knobs to see if we can make that number go up,” and make users upset in the process, because yes, you are gonna get more revenue, but users are, you know, going to be unhappy as a result.

Teja (15:45):

Yeah, totally. (David: Yeah.) Depending on your time horizon, it can lead to some shortsighted business decisions.

David (15:51):

Exactly, exactly.

Teja (15:52):

Yes, yes. That’s totally true. What’s, okay, what’s been the most impactful hire that you’ve made in the course of building your company?

David (16:05):

<Laugh>. The most impactful hire, I mean, our entire team is great, and I would say that all of them are impactful. I don’t really wanna <laugh> single out anyone.

Teja (16:13):

Okay, that’s fair, yeah. As I asked that question, I was like, “Yeah, maybe that puts him in a tricky position.” (David: <Laugh>.) Let me say, what’s a hire that’s like, maybe improved your quality of life the most? If you have one. I have one that I can share with you as an example, if you want me to start.

David (16:29):

Yeah, please start <laugh>.

Teja (16:32):

I think our like, head of operations has been a really impactful hire like, for my personal quality of life, because it helps me not deal with some of the business stuff that I don’t want to deal with, and that gives me leverage to like, do the fun stuff like talk to folks in the space and talk to users more. I’m like, not worried so much about things like, you know, like, where exactly are we in this given day against the annual plan? ‘Cause that stuff is like, I have a human interface to think about that stuff. (David: Yeah.) Anything like that jump out to you?

David (17:06):

I mean, actually I would say that my answer is the same. (Teja: Okay.) Maybe not exactly that role, but in that same sort of area. So to give you an idea, when I first started the company, I thought like, “Okay, cool. We’re going to assemble…” at the time it was only like, three to five people. We were, you know, small. I mean, we’re nine people right now, which is still pretty small, (Teja: Yeah.) but back then, even three to five people, and I was like, “Cool, we are gonna get heads down working on this, just building and talking to users and doing all this fun stuff,” and very quickly, my day turns to 90% administrative, dealing with taxes, dealing with lawyers, like, dealing with all of this really not fun stuff. (Teja: Yeah.) And so hiring that person for, you know, dealing with all of that just to take off my plate, it’s been really, really amazing.

Teja (17:57):

What’s some of your advice, so we have like, 40,000 devs in the network, and, you know, mostly like, independent professionals, freelancers, some interested in full-time jobs, so mostly like, independent folks probably working, and I would bet that a large portion of them are working on side projects that they hope to scale into businesses. So what would be your advice to like, somebody who’s like, a digital nomad, maybe has a contracting thing going on, but it’s, you know, they’re in the “time for money” exchange. What would be your advice to them to maybe build a product and scale a company, if you had it?

David (18:36):

So, are you talking about like, just getting them out of doing it as a side project and doing it as a full business? (Teja: Yeah, yeah.) You know what, if you asked me a year ago, I would have a completely different answer. So I was going to say, you know, a year ago, optimized for, you know, just making it something where you could actually form a solid business plan and see if you could get venture capital funding and everything for that, so that you could assemble a team and really make it take off, because honestly, that was like, one of the best decisions I did, ’cause this is honestly my passion project. It’s something that I love doing, and regardless of what happens like, in the coming years, it’s something that I’m just going to continue working on. That’s how, you know, how devoted I am to it. However, nowadays I would say like, all of that, basically all of the knowledge from maybe a year ago back, like, just, I don’t wanna say fully disregarded, but really take it with a grain of salt, because right now, you could do a lot more with just one person. (Teja: Yeah, yeah.)

David (19:41):

Just, I know this is gonna sound like, very hype and everything, but you know, just talking to ChatGPT for even things like business advice, coding, et cetera, you could do a lot more with one person. You could do a lot more with a few people. You don’t necessarily need to go the venture capital routes or seek funding, as is the traditional way of doing things. I really think right now that what you could do with a team of 20, you could easily do with a team of three right now, (Teja: Mmm <affirmative>. Yeah.) and that includes like, outsourcing, you know, and also just hiring people or having your friends work on things where they’re using, you know, ChatGPT or whatever else to just augment their daily work.

Teja (20:25):

That’s cool. That’s powerful. I totally agree. Yeah, small and mighty (David: Yeah.) is the way to go. That’s cool. What do you wish that I had asked you more about? Do you want to get into your product a little bit?

David (20:42):

Sure we could get into that. Love to talk about it.

Teja (20:45):

Okay. Awesome. Yeah. So, you know, I’m curious, like, do you guys have an organizational focus or like, do you sort of feel like your product can solve problems like, agnostic, the company stage? Like, is there an ideal kind of like, engineering team side? Like, how do you guys think about like, problem, maybe, in a commercial context?

David (21:08):

Yeah, I mean, so the number one thing we’re trying to solve is just this whole communication problem with teams, and we’re not just talking about like, how do you share documents and just share things together, do things collaboratively, like Notion solves or, you know, things like that. We’re talking at the actual application logic level, because the truth of the matter, is that you have people who are, you know, closer to the stakeholder decision-maker level, like project managers, VAs, et cetera, and these people are typically the ones, ideally the ones who are not directly involved with the actual code, and the code is how the product works. So you have the decisions, so the requirements, the specifications, all of that, and you have the people who actually take those, distill it, and put it into code, and make sure it actually works. How do you make sure that those two personas are speaking the same language? (Teja: Mmm <affirmative>.) It’s actually pretty difficult, and it’s really not been a solved problem, and that’s basically the huge problem we’re trying to solve is that, sure, you could create diagrams, and you could create documentation and all of that, but those are things that, number one, it takes time and efforts to do all that, and number two, it’s very easy for them to go out of date, and so that’s why (Teja: Yes.) what we’re doing is not new at all.

David (22:31):

It’s very old. It’s this idea of what we’d like to call “executable diagrams,” where basically these diagrams are generated from the code that you’re already creating, and even if they’re not, there’s something that could be converted to code and even converted to documentation, tests, diagrams, of course, et cetera, and we really wanted to build that tool so that technical people could communicate with non-technical people on the actual app logic in their app, regardless of how complex it is. So that’s the number one thing we’re trying to solve, and it is very much at a, you know, entire team level and essentially an entire organization level, because this basically becomes a living documentation with diagrams that are actually useful.

Teja (23:17):

I have a use case that may be adjacent to the one that you’re solving. I’ll ask you, and maybe we can be a customer of yours. (David: <Laugh>.) So like, we have a sales process that involves both our application as well as actions that like, the customer has to take that live outside of the application, right? And as you mentioned, like, right now, I think we chart using like, Lucidcharts or something like this, but like, in the span of a week or like, you know, and maybe in a two week test period, like, the results of the test will then again change what the diagram actually should be if it needs to be accurate. So like, our charts about what the actual sales process is, how it touches the application, and different things that we’ve, you know, Calendly, all this stuff, is different, and it’s a big pain, right? Like, ’cause when you onboard a new AE, they’re like, “Okay, like, what does the customer like, actually experienced?” You’re like, “This, but then also this is not fully accurate. There’s these other changes.” Like, can Stately address that problem, or is that maybe outta scope right now? Just kind of curious.

David (24:36):

No, it absolutely can. The idea is that, where you would use something like Lucidchart, or Miro, or draw.io, or any of these other diagramming tools to draw these boxes and arrows. So basically, your flowchart of like, “Hey, here’s how this, you know, user process is supposed to, you know, go. You would basically be doing the same thing in Stately, like, drawing diagrams pretty close to the same way. We, I mean, we don’t have all the bells and whistles of, you could draw whatever shapes and colors you want. That may be coming soon though, but like, for now, it’s like, just more constrained than that. (Teja: Yeah.) You’re still dropping the same boxes and arrows, and it takes you maybe a fraction of the time to just create a flow chart and, you know, make it work, and you could also generate one with AI just for fun if you want to, (Teja: Yeah.) but the idea is that when you create that diagram, that doesn’t just become like a, what we call a “speculative artifact.” like just a static diagram.

David (25:33):

It becomes something that you could take and do whatever you want with it. So you could convert that to code, you could add descriptions into it, you could just create prototypes with it, you could, in the near future, this is sort of a hidden alpha feature, but you could actually deploy it as a workflow and then use a JavaScript SDK to actually attach it to your actual application, and in the future, we could also receive events from people who are going through those steps and actually collect those metrics so that you could see like, okay, how are users actually traversing this flow? How many of them are getting to this step?

David (26:11):

Are there any bottlenecks or anything? And even things like, if we decide to change the process, change the logic, how does that change user behavior? Like, are more users going to this step, et cetera, and the main difference between something like this and something like your, Zapiers of the world, or whatever is, because it’s just a diagram, you don’t have to think about what are all of the integrations, and connections, and services, and whatever I need to connect to you. Just, it’s really up to you to connect that yourself or even just have it live as an abstract, you know, flow.

Teja (26:45):

That’s cool, (David: Yeah.) and so, if the app, if the product actually changes like, the order of events, let’s say, or the order of actions taken by the customer, this like, the chart presumably would be automatically updated to reflect the new product workflow?

David (27:02):

Yeah, if you’re using XD, then yeah, we have this thing called “GitHub Sync,” where it automatically just synchronizes with. I change the logic in the code. Okay. So this diagram’s gonna change. In the future, we do want it to be so that it sort of derives that graph for you, and you don’t have to necessarily use XState, even though it’s a fine library to use, but it’s JavaScript only for now, but yeah…

Teja (27:26):

That’s sick. That’s sick. That’s really cool. Okay, well, I will tell our head of revenue to take a look at this, ’cause he is always on my ass. Like, do I really (David: Yeah.) <inaudible> to keep these assets updated? <Inaudible>. Cool, man. That’s awesome. Where can people find you and your company on the interwebs? (THE FRONTIER THEME FADES IN)

David (27:46):

So our company is Stately.ai, and if you want to just jump in, like, the quickest way to get started is States.new.

Teja (27:55):

State.new. (David: Mm-hmm <affirmative.) Okay, awesome. Well, thanks so much for your time, David. This was really fun, and I think the devs network will learn a lot, and certainly we’re gonna follow up with you guys to explore using your product, I think, down the road.

David (28:11):

Yeah, thank you so much for having me.

Teja (28:12):

Yeah, awesome. Thank you.

Abbey, via previous recording (28:14):

You’re listening to the Founder to Founder podcast, powered by Gun.io’s Frontier Network. We release a new episode every Thursday morning, so be sure to subscribe on Spotify, Apple Podcasts, Stitcher, or wherever you stream your music. Please leave us a review and share with your friends. You can follow us online at the Frontier Pod or drop us a line at [email protected] to get in touch about hiring world class tech talent.

(THE FRONTIER THEME ENDS)

Watch: