Overcommitted | Software Engineering and Programming Insights

Overcommitted brings you software engineers who are genuinely passionate about their craft, discussing the technical decisions, learning strategies, and career challenges that matter.



69: Building Terminal Graph, a Spatial Development Environment, with Caidan Williams

Caidan Williams put your terminals, browsers, editors, and AI agents on one infinite canvas. He joins Erika and Brittany to talk about Terminal Graph, the spatial development environment for macOS he built for himself first, and the self-taught path that took ...

Show Notes

Caidan Williams put your terminals, browsers, editors, and AI agents on one infinite canvas. He joins Erika and Brittany to talk about Terminal Graph, the spatial development environment for macOS he built for himself first, and the self-taught path that took him from Minecraft mods at 13 to partner at a Seattle dev studio.


We get into the dataflow model that sets Terminal Graph apart, like piping a git diff straight into Claude Code or grepping a dev server's logs into a browser node. Caidan explains Blueprints, his approach to sharing a whole team workflow as a single file, and what it's like to run a product inside a holacracy with no bosses and no venture money.


Then he tells his career story. No college degree. A gap year spent applying to around 500 companies. Computer vision on dental and MRI images. Burnout, a layoff, and a cross-country move to Seattle with one duffel bag. His honest takeaway is that persistence, not raw talent, is what got him here.


If you build your own tools, wire agents into your workflow, or you're finding a non-traditional way into engineering, this one is for you.


Links

Terminal Graph: https://terminalgraph.com/

Caidan Williams: https://caidan.dev/


Tools mentioned

LazyGit: https://lazygit.dev/

Neovim: https://neovim.io/


Hosts

Overcommitted: ⁠⁠https://overcommitted.dev⁠

Erika Eggemeyer: ⁠⁠https://github.com/eggyhead

Brittany Ellich: https://brittanyellich.com/


Follow Overcommitted so you don't miss next week's episode, and share it with an engineer who'd like it.

Episode Transcript

Erika (00:00) Welcome to the Overcommitted Podcast, your weekly dose of real engineering conversations. I’m your host this week, Erika, and I’m joined by

Brittany Ellich (00:07) Hi, I’m Brittany.

Erika (00:09) We met while working on a team at GitHub and quickly realized we are obsessed with getting better at what we do. So we decided to start this podcast to share what we’ve learned. We’ll be talking about everything from leveling up your technical skills to navigating your professional development, all with the goal of creating a community where engineers can learn and connect. Today on Overcommitted, we are joined by Caidan Williams, partner at Internet Development Studio Company and the creator of Terminal Graph. Welcome, Caidan!

Caidan (00:37) Hi, thanks.

Erika (00:39) To kick us off, we’ll ask you what we ask everyone. what’s one thing you’re currently building or obsessed with learning right now?

Caidan (00:47) it has to be terminal graph. I’ve been working on it for a couple of months now and I’m spending weekends and nights, just getting it out there, working on improving it every day and doing a lot of like, experimentation.

this is a tool that I don’t think I’ve ever really seen anyone build before. So the prior art for it is very slim. and so it’s been an incredible engineering challenge and very fun to flex the creative process and like play and experiment and see, what feels good. And like, even just trying to figure out the direction of where to take some of the features.

Erika (01:23) Very cool. for our listeners who may not be familiar familiar with it, could you describe terminal graph and what it does?

Caidan (01:31) Yeah, so my elevator pitch is it is the next generation of development environments is how I like to think about it. Essentially, the way to.

think about it is starting from the problem, right? Every developer has their own workflow, their own ways of developing different tools, different apps, whatnot. But the underlying root cause of it all is that it’s all scattered. You have 10 apps open and 30 browser tabs. have multiple workspaces and various, your desktop’s just cluttered.

I thought, wouldn’t it be really cool if you could just take all of those and put it on a giant canvas, kind of like Figma. Have each window there, you have terminals, you have browsers, you have notes, you have file editors backed by VS code. You have tons of different ways to do development on a single canvas. And to take it a step further, to be able to connect them and pipe data between each of the nodes.

can connect a terminal standard out to another terminal standard in, you can connect a terminal standard out to a utility node that greps for, you know, like a, a local dev link and then pipe that into a browser node to update the URL so that, you know, every time you run your dev server automatically opens this browser node. I was working on recently developing or redesigning the terminal graph website. And it’s just been such a pleasure to do web development in this.

I have Claude open in one window. have lazy git in another, I have neovim in another node. And then I have the dev server in another one. And then I have the full screen desktop browser node, and then a mobile version of the browser node there. And it’s just all in one little view. And honestly, I love it. I built this tool for myself.

as a bit of an experiment to kind of see if this was even really possible. And I started to realize that tons of other people are very excited about it and also get a lot of joy and utility out of using a tool this kind of way too.

Erika (03:33) Yeah, for sure. you know, we talk a lot about context these days and like as it relates to agents and giving your agents context, but ultimately it comes down to can you keep everything in your head at once and how are you managing all the various windows and terminals? So having that so visually clear and then also having the connection between all of the all of the things talking to each other does sound really valuable.

Yeah.

Caidan (03:59) Yep.

Erika (04:00) so you said you you’re basically building this for yourself, but you’re also releasing it, private beta is happening this month or is out now.

Caidan (04:12) I built the first version of it in two weeks. after the two weeks, I collected a bunch of emails and I did a private beta just to iron out some of the bugs.

And then I realized I didn’t want to manage emails and, you know, send out updates that way. So I was like, uh, what the heck, you know, I’ll make a public beta. Um, and so built out a website, added sparkle and appcast updates and all the stuff. Um, and. After that, it’s been in public beta since then. Uh, I do have plans to release it as like, um, a V1 eventually, but there’s still a lot of kinks to iron out first.

Erika (04:49) Cool. So what took you from idea to execution what was the thing that took you from, hey, this would be really cool to build to actually I’m gonna sit down and do this?

Caidan (04:59) Yeah, what a great question.

I think it’s a, it’s a combination of a few things. it was a little bit just driven by my internal desire to build. just, I love building things. I’m a bit of a Linux nerd, so this is like backed by Unix pipe files. and I was like, wouldn’t it be cool if you could like connect to terminals and like pipe data between them. and I was like, well, you know, like, you can just do that with Unix pipes on command line. Like that’s not very intriguing, but

What if, you know, you could connect multiple terminals to one output, right? Doing parallel processing as such, which is I I’ve seen people do it online with various CLI tools, but it’s not intuitive. It’s not easy to reason about and there’s no visualization. So making bigger connections is really tricky with just a line of text. so that was a big inspiration. It’s like, is this even possible? Like, is this something that can be done?

and once I built out that initial iteration and kind of prove that it works, I got really excited and I was like, okay, cool. I have two terminals connected and they’re sending data to each other. Like, awesome. what else can I do with this? And so I added, you know, a browser node. had a web kit, Safari web kit, a web view, which is, super nice and allows me to like, I kind of have to inject some custom JavaScript to like.

get some data in there and pipe it out and whatnot. but added that added, you know, file notes, node or like other notes, and started expanding, expanding. I had a bunch of utility nodes to like help manage things like switches, gates, delays, collections, you know, a bunch of other stuff to help with the data flow. and partly the other big inspiration was that, int dev

We’ve been doing a lot of client work for a long time. And as one of the partners, I’ve been wanting to push us towards doing more product work so that we’re not so heavily reliant on maintaining, like continuously getting, contracts to, to keep our studio alive. and so I’m hoping that I can turn this into a successful product that not only developers love and benefit hugely from, but

can also help our studio survive because we’re not venture backed. We’re just a small team of folks who are keeping the shop open with the hard work we do.

So those are the big inspirations and kind of why I went down this direction.

Brittany Ellich (07:24) Was there anything in particular that drew you to like, yes, this is the project to to get that product work done? Or is it just like you started building it and you’re like, wow, this is very useful for me.

Caidan (07:34) yeah, I think it’s just, it came from a desire to have a better workspace, for myself. I, I’ve been living in the terminal for the better part of a decade now. I use NeoVim I use lazy git I use all the CLI tools, you know, fuzzy finder like name it. I’ve probably tried it. and so I love it. I don’t have anything against GUIs, but,

I kept seeing all of these, three panel coding apps, right? Like conductor and codex, it’s like left side is like the workspace or like some list of things. You have the middle is like a chat app and then on the right, it’s like git or something. And that’s fine. I think they’re really approachable and they definitely have their target audience. but for me personally, having the flexibility of a terminal and being able to modify it so much. I really wanted to.

take it further. I’ve been used to, I’ve used pretty much every terminal emulator on the market. You know, I term ghosty, kitty, alacrity, a ton of other ones on Linux and they all kind of do the same thing. fundamentally they’re a window with a split tree and I wanted to try the experiment of like, well, what if I could see every terminal I’ve ever had open like on one canvas?

And it was just kind of that curiosity that led me down the start of the path. And, once I got the initial version, it kind of felt like I’d struck gold. I was like, Whoa, there’s something here. You know, I feel like this is exciting. Like I’m excited about it, which is a really good signal for myself. And, then I started showing people and I were like, Whoa, this is really cool. So I, I just felt like I had to pursue it.

Erika (09:08) Yeah, I I can definitely identify with that experience where when it’s in your head, it’s kind of this like amorphous thing. And then once you get it down on paper, it really builds steam on itself of getting excited about it and then really wanting to work on it, having trouble putting it down. yeah, definitely

Caidan (09:28) Mm-hmm.

Erika (09:29) can be a good feedback loop for yourself when you’re working on something that you really enjoy.

Caidan (09:34) Yeah, definitely agree.

Erika (09:36) were there any points where like the project significantly changed? Like any of that feedback that you got? did it really like change your vision at all? or did you pretty much stay on on one path?

Caidan (09:49) Yeah, that’s such a good question.

I’ve gotten so much feedback and I think every founder, everybody that builds a product experiences this to some degree. I’ve gotten every opinion, every differing. I’ve had so many conflicting opinions about like, it should do this and like, but it should do that. it’s like trying to find the balance of like,

what to actually build and what to like filter out. Like it’s all good signal. Every, every bit of a feedback is all good to take into account, but for myself, I’m trying to make sure I’m not building like an everything app. I don’t want this to like have every feature possible under the sun. I, the way that I’m trying to focus on building this is

I want to build the primitives such that other people can build out what they need with it. and so that’s kind of where I built out the, like the whole start of it is like nodes and connections, right? I I’m a big graph theory nerd as well. So I, took a lot of those ideas too. And I’ve been building graph based applications for a long time, like, mathematical graphs, not the visual graphs.

And so that was a big inspiration. love building graphs, so it felt very natural.

I’m trying to build it. Yeah. Like, one of the, one of the features that I think is still a little underutilized for users that, I think is incredibly powerful is the concept of blueprints. So you can select any set of nodes and create a blueprint from it. And it will capture all the details such as like the startup commands for a terminal, the URL for a browser, you know, notes, the file paths for editor, all of that.

and will allow you to instantiate copies of that blueprint. And you can take it across projects, you can take it across workspaces, you can export it as just a JSON file and send it to somebody and they can import it and create the exact same workflow. And so this is what I’m focusing on next is kind of building out this shareability aspect and making it so that my goal is to have teams be able to have common development workflows.

It’s like release workflows or security audits or anything that’s like kind of tedious to do that you’d have to have a documentation page written up for about anyway, you just have a blueprint. You download terminal graph, you import it and just click run. And it just does the thing, right? It’s very visual. It’s very easy. You can have notes there alongside every step of the process. but there wouldn’t be the need to like, have that kind of like friction of teaching somebody this process. It would be.

hopefully a bit more intuitive. And then also keeping those blueprints up to date across multiple machines and across the whole team.

Erika (12:29) Yeah, I definitely think that’s really relatable trying to take feedback and apply it in any situation. could be customers, it could be product, it could be like any number of stakeholders and everyone has an opinion. And yeah, at at the end of the day you need to deliver something and you can’t make everyone happy, so you have to have that judgment

were you the sole developer on this?

Caidan (12:55) Yeah. So I guess maybe it’ll help to explain the structure of our company a little bit. Um, we’re a holacracy, uh, and for anybody that’s not familiar with a holacracy, it essentially means that you are a team of equal power and responsibility. So there’s, uh, six of us currently, I believe.

and we all are part of the level. So we have no employees, we have no bosses and we all have this freedom to do whatever we want that we think is best for the company. and so with that power, as I said before, I’ve been wanting to build products. So building this,

has been kind of that, that desire to make some, a change for our company. And so I’ve been the solo developer on it for the current time of his life, it’s a couple of months now. And I’m like, it’s getting enough traction that I’m pulling in other team members to help me with design and branding. I’m getting some help to like do some more engineering work. But I wanted to prove that this was like actually

taking first before kind of pulling their time.

Erika (14:04) forward? Like having at least one other person for a lot of decision making that can impact other people

Yeah.

Caidan (14:13) Yeah, totally, totally agree. I’ve been needing some help. Some of my ideas are maybe a little harebrained and not.

fully developed of just like, wouldn’t it be cool if I could do this? And then realizing actually maybe that’s not that useful, but

Erika (14:27) Wow.

Caidan (14:28) yeah.

Brittany Ellich (14:29) is there anything that you feel like you’ve brought into terminalgraph that you

like you haven’t seen in other apps or like what is the thing that like sets it apart from what is out there?

Caidan (14:39) Oh, oh my goodness. Another great question.

Brittany Ellich (14:41) Multiple things.

Caidan (14:42) Let me think about this because I personally feel like so much of it is unique.

Hmm

I think really the most unique aspect of this is the data flow. Being able to pipe data across different categories of applications is what I hopefully see an incredibly powerful utility for the future. Being able to run a dev server, grep the logs grepping for the URL and piping into a browser is like so powerful, right?

or being able to have a template node where you can put little curly brackets around any name, any variable, and it’ll create a new port, right? And then pipe data in. So you can say like, hey, analyze this git diff and write a commit message as a rudimentary example. And then you run git, you want to have a run node that runs git status or git diff, pipes that in. And then you pipe that to like claude code is

simple, but I think shows the power of how this can kind of scale into larger, more intricate automated systems. And I’ve even added like a webhook node that allows you to, you know, connect to external systems and get events that you can pipe through into the entire system of whatever automation you want. So I do truly think that the

Dataflow is the most unique aspect that separates itself from others. Cause I, when I was building this initial, I did look for prior art of has anybody built something similar? And what I came across is there’s a handful of other projects that do the terminals on an infinite canvas kind of approach. but none of them do any sort of data data flow or data piping.

Erika (16:20) Yeah, it it makes me think of why MCPs are so popular and why they’ve taken off so much. the parallel in my mind is a single session, a single agent, a single whatever is great. But when you can make those connections and like pull in data from other sources to help, it’s how we operate too. We don’t stick in the terminal and when we say

I don’t know how to do this. We stop, you know, you gotta go find out what you what you don’t know and pull that information in.

yeah, so you you mentioned earlier that you know you’ve been developing for a long time, that you started when you were really young. and clearly you’re you’re passionate, you’re fired up about the work that you do. so tell us a little bit about your journey and

Where you started and how how you’ve changed throughout the years. maybe starting with like what kind of got you into programming in the first place and maybe some some lessons you’ve learned over the years that you you have top of mind as you go through your your work day to day now.

Caidan (17:24) So I think like a lot of self-taught developers…

We got into it because we wanted to make video games. And when I was 13, unsurprisingly, I was a huge Minecraft nerd and that was like the only thing I wanted to play. So I kind of reached my limit with it. And I was like, I’ve played everything you could want to do. I’ve modded it to, you know, in every way you could possibly want. And I was like, I want to do more. And so I started learning Java to create my own mods and my own plugins.

That went on for a couple years and I made a ton of mods. I had a lot of community. I worked for some Minecraft servers making custom plugins. I made maybe a couple hundred dollars, which as a teenager was great money to have. Definitely very underpaid for the looking back. And after those few years, I…

kind of got burnt out on Minecraft. had done everything. I built every mod I could want, you know, and it’s just like, it’s time to move on. And I don’t think I initially kept developing at that time. I kind of went off and did school and other things like that, but…

I don’t know what it was. It just kind of like kept pulling me back in. kept thinking about it. was like, this is, you know, that was actually really fun. Like I should try to make more stuff. and not really having an interest in like web development or app development or any kind of like business.

development stuff at that time, I naturally gravitated towards making video games. So I booted up Java. I started making 2D games and building out tons of very simple ones. Nothing that’s really that impressive. And eventually during high school, I met one of my best friends who was also a developer and I grew up in a really small town in Colorado, Drango, Colorado. I don’t know if anyone’s ever heard of it. Very tiny little cute mountain.

So no coding. was like nobody knew anything about it. And he was like the only other kid that like had experience with it. And he was a much better coder at that time than I was. So we kind of became best friends. He taught me a lot and we started making a lot of games together. And eventually we started doing a lot of game jams as well. So that was the majority of my high school. And a little bit after it was just like making games all the time. I did a lot of, I create a lot

art too so I was making pixel art I was making like animations you know other things of that sort and I graduate high school and I come from a pretty poor family I’m the oldest of five boys so there wasn’t really any money to go to college so I was looking at my options like I can take out money student loans and

tried to pay him back and like, I maybe that would have been a decent route, but, I was also like, you know, I have this experience, maybe I could get a job in tech on my own, even without a college degree. And so I decided to take a gap year and give myself a year to just, try and get a job at tech, get anything for a year while I was working at like a chicken restaurant, a wing restaurant and.

I spent that year working and building my portfolio. I was still working on like some games that I was liking and eventually about, so the, gap year, I, the promise I made to myself was if I don’t get a job in a year, I’ll bite the bullet, take the loans, go to college.

I got a job eight months into that gap year and it was just an internship at a local tech company, that surprisingly I didn’t know they existed. but I was, intern for three months during the summer. And towards the end of it, I talked to the CTO and I was like, Hey,

I would love to like, keep working here. once this internship ends and he kind of suggested and pushed me to be like, you should go to college. And I was like, okay. So took his advice and like, I didn’t go to college. I went for like, he was like, I’ll give you the job, but you should also consider going to college. So I got the job as a QA engineer, which I don’t know if that role even exists anymore. but I was writing unit tests, and.

a of other stuff. eventually kind of branched out and was doing a lot of like internal tools. cause the, company at the time was Git prime, which was acquired by Pluralsight like a couple of years later. So they’re not really around anymore, but, they were a Git based company. So analyzing like Git metrics and stuff like that. So I was building out a bunch of internal tools to like help mock Git APIs for like GitHub and Bitbucket because we were hitting rate limits with all of our testing and other stuff. And, like I.

built a little tool to basically recreate, git repose, from scratch, like time travel back, like creating commits at any point in time, stuff like that. ton of fun. learned so much. Like it was incredible that I had that opportunity because in just the one year of working at that job, I learned more than I had my entire time on my own. was so valuable for me. and so that

was an incredible job. learned a ton. And then the company got acquired by Pluralsight. I worked there for a few months, but…

They were too big, you know, they were like too impersonal. was still stuck as like a low level QA engineer. was supposed to get a promotion right before the acquisition and then they acquired us and then that never happened. And they’re like, you have to be here a year before you can move. And I was like, I don’t want to do that. So, I was looking for jobs and, I eventually found a role at Overjet in Boston, which, was a startup that was working out of the Harvard innovation lab.

creating this was back in like 2020. So even before like the big LLM started hitting the consumer market, we were creating.

computer vision models to analyze dental X-rays, to look for early signs like gum disease and tooth decay. and I don’t have a PhD in, any of that. So I was not, I was not doing any of the like actual, generative model stuff. but I love data and I love Linux and I love

processing. I actually, this is kind of where I started to really fall in love with this concept of like piping and data transformation is I had built out a very custom data pipeline to process these images from all the various sources. I can’t talk about the sources, but it would be, you know, we’d get like an FTCP server. We would get like a random link to this like third party vendor, you know, that would host all these images and we would have

to get it into our system and it would land into like a Google bucket and I had some cloud functions that for each notification on that bucket would load it up and process it like multiple steps along the way. It would start with, okay, let’s.

go through and convert every image to JPEG, right? That’s what we were standardizing on. and it was really fun because there was tons and tons of different formats that I did not know existed, including, it’s been a minute, so I may get this wrong, but it was, TIFF files, I think, which are, it was a, well, it was a specific type of TIFF file is like an unsigned 16 bit,

integer encoded to file, which was like, was trying to find where these came from and they’re incredibly old, X ray machines, like some of the first ever digital X ray machines. And I was using pillow, the Python library to convert all of them. and nothing, like, like would not read this. It was like, what’s going on. So I went, this was the pre AI days. So I was like, what is this format? Like, no, I couldn’t, I could barely.

finding information, I think after like three days of frantic searching, I eventually land on the super obscure forum with somebody being like, yeah, here’s like some information about it and blah, blah, blah. And like, here’s a numPy function that will allow you to transform it to JPEG. And so I copied that and was able to basically just like cut off half the bytes and then like strip the header metadata and stuff like that. and then, you know, that was like the first part of the pipeline I built out.

All this, and then it would go down to like, removing patient health information. So we would like send it to Google to like analyze texts and we just black it out. and anyways, so, that’s kind where I fell in love with data pipeline. It was incredible job. eventually I,

got burnt out because the pandemic hit and I was working like 80 hour weeks and I was underpaid because I was so young and I’d been asking for like six months like, hey, can you please hire more people? I need help with this work. And unfortunately, the CEO and I had disagreements. So I started looking for a new job and I eventually ended up landing at another company and

was there for a few years. was at, um, uh, uh, uh, uh, Domino data labs, which was, like, uh, I won’t go into it. It’s a complicated job, but, um, I learned a lot there. I, uh, realized that actually I didn’t need to be in Boston anymore because that job was remote.

So that’s how I ended up moving out to Seattle. I actually had never visited Seattle before moving. kind of was just like, I have a friend out there. one of my best friends that I met high school was living out here. And so was like, yeah, why not? And I just sold everything I had because I looked into shipping it and it was going to be more expensive to ship from Boston to Seattle than it would to just actually buy it all again. Cause it was, I was a young kid, but not very expensive things. so I sold or gave away almost everything I had.

Uh, and I hopped on a plane with a duffel bag and like a backpack landed in Seattle and found it, crashed my friend’s couch for two weeks and found an apartment and kind of rebuilt it up again. Um, and I’ve been in Seattle for about six years now, um, roughly, think, well, maybe like five, something like that. Um, and I was with that company for a while until, uh, I think it was like 20, 24 layoffs where hitting everybody, our company got hit. I was laid off.

I had some severance and I decided to take a hiatus for about six months. I had been working hard and kind of just really needed a break and wanted to explore some of my own projects and do some of my own things. So did that for a while and then eventually got another job working for actually another medical tech companies, surprisingly.

which was doing MRI images, generative or computer vision on MRI images as well. So, that was a lot of fun and I worked there for, almost two years and I kind of realized as I went into that job, I was like, I don’t really have a great professional network. should go socialize and mingle and meet people. and so I started just going to a bunch of tech events here in Seattle. And eventually that ended up leading me to.

the internet development studio. went to, the distributed web meetup that we host every couple of months. and I go in, you know, I don’t know anybody, but I sit down and watch them, the talks and I get up and I’m like, okay, cool. Time to mingle. And I walk around and the first person that I ended up talking to in meeting was, Jimmy, Jimmy Lee, the guy who started the studio. And so we hit it off immediately. We’re just both very passionate about the web, passionate about building.

and so he invited me to come hang out at the studio. And so I started coming back. Eventually I start renting a desk there. and then about six to eight months into renting a desk there, the studio was looking to hire more partners. And, so they asked me if I would be interested. And so they, you know, I said, yes, that’s, it was like, so cool, very exciting. and so they put me through a one month work trial.

and I killed it. They loved it. I did great work. I worked on a lot of our open source projects. helped, further develop out one of our fonts server mono, because it was missing a handful of glyphs. had never made or worked with fonts before, but I I’m an auto didact. I just love learning and love building. So I got some font software and I like started designing and trying to match it to like the, the feel of the text and like, was putting it out there, getting community feedback.

And so that was a lot of what I did during my work trial for the first month, but they loved me. So hired me on full time and I’ve been with the studio since and it’s about been about over a year now that I’ve been with the studio as a partner.

Erika (29:36) Thank you so much for sharing that whole story.

Caidan (29:37) Yeah.

Erika (29:38) I can, you know, there’s there’s so many things that like I got from from your story and and the way that you tell it, I can I can tell your agency in it as well as all these situations that kind of came up and and what you got from each situation too. it’s a very unique path. I mean,

Yeah, and very cool to hear how, you know, that that foot in the door moment with your first job like really got you into the professional side and was really a launching pad. but really each step along the way you kind of took something from each each job, each situation that has really

gotten you to this point now, whether that’s the technology you were working with or sort of the people situations, you know, so and didn’t let any of these sort of potential setbacks get you down with you know, several situations you mentioned vying for a promotion. And instead of waiting around, you moved on to the next thing. You looked at what else was out there, what you could what you could do and

Yeah, it’s very cool hearing hearing you sort of move through all those moments and stay focused on on on what you’re still so passionate about. even you even mentioned

Caidan (30:55) Yeah.

Erika (30:55) a couple periods of burnout and then you kind of ramped back up again and got back into it.

Caidan (31:01) Yep.

Yeah, well, thank you. Yeah, it’s been a long journey and

I think the, one piece of advice I like to give, when I tell this story is, a lot of people will say like, you’re so smart. Like, you like must be so intelligent that you’re able to do this. And like that you taught yourself coding and I’m not going to say whether or not I’m intelligent. I don’t think that that’s super relevant, but what I think I would attribute to that more is the persistence. I have this passion and this dream and.

Regardless of how many times I failed, like getting that first job, getting that first internship, I must’ve applied to like 500 different companies. And this was even back when like the job market was still pretty good. And it really is just like that persistence of like trying and trying and trying and trying and failing and failing over again until succeeding. And it.

it broke me a little bit, but it did work eventually and it paid off. And so I’m very grateful for never having given up.

Erika (32:05) For sure. There’s a lot of like cultural perception around software development jobs in general. one of them is being that people think software development jobs are really stable, and that’s not necessarily true for a lot of people, or that they’re really well paid, and that’s also not necessarily true in every situation. so yeah, it’s it’s it’s sometimes

frustrating hearing that and being like, well that’s not my experience, but you know, you can’t change, you can’t change the industry necessarily or people’s perception on on the whole. You can only kind of operate with with what you have and and do the best with with the opportunities available. And yeah, it definitely sounds like you’ve been really smart about that throughout your career, which is refreshing.

Caidan (32:51) Yeah, thank you.

Erika (32:52) Yeah,

for sure. Well, we are getting up on the end of time, which is crazy. This has gone by so fast. And

Caidan (33:01) Yeah.

Erika (33:01) we always wrap up with a bit of a fun segment where today we’re going to take the question of what if we could apply terminal graph, this idea of like

Graphical interfaces organized and and node data flow and apply that to some kind of real life situation off of a screen, I guess. I mean, developing is also real life, but if you could kind of take this idea and apply it to some yeah, some non-virtual environment, what that would look like.

Caidan (33:35) Hmm. Yeah,

that’s my goodness. I don’t think I’ve ever thought about this before. Give me give me a moment here

Erika (33:40) Yeah, I have thought about this because I’m the one who wrote the question.

so I have a daughter and you know, there are times when it’s like I would love to kind of know where everyone is at all the time, you know. And it’s not all the time. We’re pretty good about communicating between me and my my husband, but like, you know, it’d be nice to kind of like

have have these these communications where I can know where she is and he can know where she is and I can know where he is and we’re all kind of like communicating without without necessarily being in the in the same place. So that’s that’s that’s sort of my my take on it.

Caidan (34:18) Yeah. So I think for me personally, I have ADHD and have struggled with it for a long time. And I kind of view it as both a bit of a superpower and a detriment. Like it…

Kind of helps me have a lot of creativity and explore a lot of options and, like kind of go down weird tangents, but that usually leads me to something interesting. but it’s also kind of hard to like sit down and do a thing if I’m not like deeply invested in it.

And so I think if I could have the power of Turnable Graph outside in the real world, it would be to help augment that. getting, you know, just connecting everything in my life that needs to be done of like, my laundry is overflowing. like send me a reminder or like force me to like start the washer dryer, like automate that in some way, you know, automate like how I can make breakfast or automating like just various aspects of like the routine that’s

hard for me to keep up with, think would be probably the most useful for myself.

Brittany Ellich (35:23) But when the twins were really young, when I had a very young baby, like everything was so much like is the d when was the last time they ate? Are they hungry? Did they get enough sleep? Like there’s just so much involved that you feel like you’re just like have those little like sim bars or something like that when you’re playing the Sims and you’re trying to keep them all

clean and happy all the time. especially when there was two babies at once. I like that would be a fantastic tool to have to have, especially having the data flow. Like there’s a lot of tools out there. So that would be like an early parenthood terminal graph, I think.

Would be really nice.

Erika (36:00) this has been so much fun, Caden. Thank you so much for joining us. where can folks find you on the internet?

Caidan (36:07) Yeah, I’m on most of the socials threads, blue sky, Twitter, or X. And if you go to my website, kaden.dev at C A I D A N dot dev. I have a link to all my socials there too, to make it easy.

Erika (36:22) So cool. And we’ll link that in the show notes as well.

Well, listeners, thank you so much for tuning in to Overcommitted. If you like what you hear, please do follow, subscribe, or do whatever it is you like to do on the podcast app of your choice. Check us out on Blue Sky and share with your friends. Until next week, goodbye.