[00:00:00] Intro
Maggie: with gardening, you can kind of publish a very rough set of notes and then go back and fix it later. That's kind of part of the whole philosophy. So it's supposed to both lower the friction and the barriers to publishing and also kind of set your quality bar higher because you're supposed to keep Going back and like improving it.
Andrew: Hello, welcome to the DevTools FM podcast. This is a podcast about developer tools and the people who make them. I'm Andrew. And this is my cohost, Justin.
Justin: Hey everyone, we're really excited to have Maggie Appleton on today, Maggie. It's so great to have you here. Andrew and I have both read a lot of your writing. I bumped into you at the, uh, causal islands conf back in Toronto, and we've wanted to talk to you for a long time. So you currently are working at, uh, you're doing design at illicit, which is a company that is, uh, Building a summarization tool for research papers.
and I would love to hear more about that soon, but before we dive in and start talking about what you've been working on and what you've been thinking about, would you like to tell our listeners a little bit more about yourself?
Maggie: Sure. Uh, yeah, thank you so much for having me on. Uh, first of all, um, as mentioned, I'm a designer. I am kind of a developer, but I call myself like a really bad developer or mediocre developer. and I love front end work, but I wouldn't say I'm good at it. Um, I started my design career working for a company called Egghead, which people might know it's like a developer education platform, so I learned programming kind of living amongst the developers there, worked with some really wonderful people.
so I started out more in developer education. I got to do things like work on diagrams for the React docs. Uh, and I got to do a lot of kind of conference talks around, um, learning programming as a total beginner and how difficult it was gave me a lot of content, I think early on, um, kind of becoming this developer designer hybrid and kind of speaking from the voice of people who are maybe, uh, a little bit less technical, maybe you don't have like a strong technical background, but had to try to get up to speed on things like.
React and Next and just, you know, the complexity of front end development. So I have a lot of empathy for those people. Um, and then I went into a lot of kind of personal knowledge management, um, communities. I was kind of active in the Rome community back in the day. I'm very active on Twitter. Uh, we'll probably get into, I'm a big fan of this thing called digital gardening, which is like a.
Fancy word for blogging, uh, in a sort of different way. and now I've now worked for a company, as you mentioned, called Elicit, which we're trying to speed up the process of, um, scientific literature review, which is a very manual, long process that researchers do where they have to kind of read tens of thousands of papers and extract all this data into spreadsheets.
Uh, and we found that language models are actually quite good at doing this. Um, equal or higher accuracy rates than humans. So it's actually a really good use case for them. Um, and it's now I'm kind of solving lots of really interesting interface issues around how you present language model answers to people, how you signal trustworthiness, how you signal accuracy, um, and get people to understand language models, even when, you know, that's not their full time job or they don't care much about what a language model is, but they have to understand because of the way the tool uses it.
so yeah, kind of. At the intersection of many interesting things.
[00:03:08] The Art of Visual Storytelling in Tech
Andrew: So let's start off with, uh, your egghead stuff. So you're a really good visual storyteller and you make graphics that are really excellent at communicating concepts. Can you share with us a little bit about your process for coming up with these visual metaphors?
Maggie: Sure. Sure. This is, um, yeah, I did a lot of this work. Um, I suppose in my previous, slightly previous careers, I was an illustrator when I first started out and more of a visual designer. And now I'm more of a product designer, which is a bit more kind of the process and UX side of things. but originally I was making kind of very, uh, detailed sort of realistic, uh, illustrations of things at, um, when I worked at Egghead.
So, um, Egghead has a lot of different courses on, on, um, front end development topics. And I suppose some backend too, uh, and I would have to make, um, covers for all of them. So I would have to come up with visual metaphors or visual imagery that could represent things like, uh, you know, RxJS, um, or like monads.
So, you know, you kind of have nothing to go off in terms of symbols. I mean, you maybe have like the libraries, Um, icon or logo, if they have one, but, um, what I really loved and what I kind of got good at doing there was I would work through the course material and I would try to figure out what core concepts they were really talking about.
You know, if they're talking about reactive programming, it's like, okay. Things responding to events. And then I would go on a process of using a lot of linguistic tools and brainstorming tools to say, okay, well, what kinds of things in the world react to other things? You could talk about like electricity.
You could talk about physics. You could even just talk about like, oh, you know, cars react to traffic lights or something. you would figure out ways to kind of make. Or I would figure out ways to make visuals that represent these very abstract programming concepts using very tangible metaphors, um, which was really fun.
And I think I kind of got the process down quite well there to the extent that then we started putting more hand drawn visuals into the courses themselves to explain these concepts. So if I came up with a metaphor that worked really well for the course cover, we could then do illustrations that actually helped teach the course material using those same metaphors to support the actual stuff that instructors were saying in the videos.
So that was a really fun role and I think I learned a lot about, yeah, making programming more tangible there.
Justin: I think that your ability to, to sort of complex or to communicate sort of abstract and complex things and illustrations is, uh, I mean, you're, you're really good at it. Uh, it's, uh, have always admired, you know, A lot of the illustrations that you have on your site, uh, just because it's like you have one about the, the sort of the dark forest of the internet.
And it's really interesting how you've like packed a lot of really dense information about the sort of metaphor you're communicating, like at different levels in that illustration. And I mean, the illustration is great. Like, you know, I think there is a key there, like the technical art of it is really good, but also like the metaphor is very solid.
I think that that's a, it's a unique skill that you have there
Maggie: Thanks. I'll say that one metaphor. Well, you know, the, the best artist steal, um, someone else came up with the, the dark forest metaphor, um, Yancey Strickler, um, and then Venkatesh Rao, who's another writer online who I love had kind of expanded on, you know, Yancey's idea of this dark forest and started talking about the cozy web as this like underground space.
So there are all these fantastic writers, right? That can usually metaphor is described in words. And I love finding people who are really good metaphor creators as writers, because then I get to kind of come in and either collaborate with them or build off their writing and actually make the metaphor feel much more tangible by drawing it.
Right. And then you can do really interesting diagrams and really interesting illustrations that, um, everyone, Reacts quite strongly to, because it does synthesize what could be a thousand word essay into a single image you could put on Twitter or just look at and, and understand the idea of what's happening there.
so, yeah, I found it's been really like, um, positive some collaboration with really great writers to be able to take their work and turn it into visuals that build off the ideas.
Justin: Yeah. That's, that's really awesome.
[00:07:05] Ad
Andrew: This week we'd like to thank our sponsor. But we don't have one. If you're interested in sponsoring dev tools, FM head over to dev tools, FM slash sponsor to apply.
If you want to sponsor the podcast personally, you can become one of our members. With your membership, you get access to ad-free content. As well as getting the episodes a little bit earlier than everybody else. If you want another way to support the podcast, you can always go by some of our merch. Head over to shop.dev tools.fm.
And with that, let's get back to the episode.
[00:07:36] Exploring the Concept of Digital Gardening
Justin: just speaking of, of metaphors, you'd, you'd mentioned earlier, this concept of digital gardening that you had been exploring, uh, that's when I first got introduced to your work is by discovering your writing on digital gardening, sort of, you know, And post the, the height of the pandemic, when a lot of people were talking about like tools for thought and like ways to express yourself online.
So could you tell our audience who may not have heard about this regarding the sort of like what that concept is?
Maggie: Yeah, yeah. again, stolen off someone much smarter than me. Um, Mike Caulfield, uh, is a information researcher. I guess mis and disinformation is kind of his specialty now, but he had been writing about knowledge management on the web and, uh, like wikis and the way we could do linking better for ages. And he wrote this piece, uh, called the garden and the stream that was saying, what if, you know, most, most of the web, um, since, um, I'm going to say what year, like 2006, it's whatever year, like we started getting streams of information.
So think of the newsfeed and Facebook when that came in and when Twitter came in, everything is a backwards chronological stream of content, right? Like the newest thing comes to the top. And for you to find stuff that's older, that was like said before is really difficult. I mean, not just like, because Twitter search is bad, but even finding stuff that just happened a week ago, two months ago, right.
It's gone. So it's saying that the structure of the way that we. Browse information online heavily preferences the now, the recent, and totally forgets about everything that's been said before. And of course, this very much influences the way that we share information, the way that we find information. And like, it just completely warps our relationship to how we're interacting with other people's ideas online.
And that we don't actually care what they said a month ago. We're not going back and building on it. We're not going back and finding it. We're not improving upon it. It's just like, Oh, what's new. So, um, Mike had this. really interesting observation that blogs especially, right, are reverse chronological as well.
Newest post at the top, that's like the thing you're going to see. But what if we flipped this metaphor from being a stream to being a garden? And when he talked about this garden metaphor, it's that when you are publishing information online on a personal website, instead of doing a backwards chronological blog, what you're What if you treated it more like a landscape, like a garden where you are growing things slowly over time.
So everything you post, you are trying to say, you know, if someone reads this in a couple of years, it should still be really valuable, really relevant, you know, I'm going to go back and I'm going to update and grow things. Uh, I'm going to. present the information in a way where they can browse easily and get to all kinds of different content no matter when I published it.
I kind of want everything there to be what we would call evergreen, right? Good forever. Of course, it's not like if you published something five years ago and you never updated it, that it might actually be good forever. But the idea is you should be trying to write things that are not ephemeral and fleeting and only relevant for this second.
So, so this gardening metaphor, right? Um, might put it out a I'm going to forget what year, so I won't try to like do it off the top of my head. But, um, maybe it was 2017, but it didn't really get picked up as much. Like no one, I guess he published it and like, it wasn't, it took a couple of years for people to like notice this and catch on.
So I found out about it from my old boss, Joel Hooks, who ran Egghead, who's like a really wonderful mentor for me. He had started kind of going on like, Oh, my blog's not a blog. It's a digital garden, you know? And he was kind of like hammering on about this and he'd like redesigned his homepage so that it was, The links he thought were most important, the things that you should read first were like what you saw first, it wasn't what was new.
And I think he removed dates at some point, which is a big thing for him. He's like, nothing should have dates. We should just only care about the content, right? Who cares when it was published, which is like debatable. But I liked the spirit behind the idea. Um, so him and a bunch of people on Twitter I knew were really getting into this and like redesigning their personal sites in a way that was trying to say, you know, let's make this a topography of evergreen content and not.
a chronological stream. Um, so I did the same thing with my website. I rebuilt, rebuilt it kind of in this philosophy. And then I ended up writing a very long essay that was called A Brief History and Ethos of the Digital Garden. That was not actually that brief because it got into everything. You know, I thought it was going to be this small piece.
I was like, Oh, I'm gonna, you know, bang this out in a week. And then it took me six months. Um, because I was just kind of going into like, Oh, this is Well, where did blogs come from? And like, what's the history of chronological content? And like, what was the first social media feed? And like, who's written about this?
You know, who first mentioned this on Twitter back in like 2007? Um, so it was a really satisfying piece to write and it helped me understand a lot more about, um, how people have kind of shared personal content and knowledge on the web over the last couple of decades. And like gave me a much, um, deeper understanding of how it could be totally different in the future.
It totally opened up my mind to, uh, to how we could be. Designing personal websites and, and quote unquote blogs, just spaces where we write and share our personal experiences in completely different ways, um, that are not based on, on novelty or time, or just trying to do like clickbait titles, like listicles.
Like, there's so many more content types we could be exploring that I think still, still kind of haven't been, um, yeah, properly explored or like thought about by, by a lot of people.
Andrew: It's almost like a return to like what we used to do. Uh, like with books, it's like you have multiple versions. You may have revisions that is essentially evergreen content. And we're just doing that on the internet now.
Maggie: Right, right. I mean, um, I'm sure there's like been. Wonderful kind of philosophies of blogging written that unfortunately I haven't read. I think a lot of them are in the academia space. I have looked at papers every now and then about this, but like how personal writing changed when we moved into blogging versus what would have been like zines or books, right?
Where you had a very Um, long editing process and a lot of hoops to jump through, like to get a book published before the age of blogging and the web was like, you know, you had to have a publisher and they were going to like proofread and fact check everything, you know, and then once you get people just like, you know, FTPing up their HTML files to the web, like in the early days, you know, that all goes out the window.
And it's. It's kind of this explosion of everyone being able to publish whatever they want, but it does mean that there's a quality hit, you know, it gets into like trustworthiness. How do we know what, you know, what's published is actually true, right? Like that gets us the whole fact checking thing. Um, but I think there's like lots of ways we could be doing quote unquote blogging, you know, other ways of publishing personal information that brings back some of those really good qualities that we would have had in the old days of like, Fact checking and more editing, or like caring more about quality, um, but then also opening up just different content types, like being able to publish, you know, short videos and, and just short notes that are like deeply interlinked so you can jump between them easily without it having to be like this big publication in the way that we think of with like Publishing a blog post or publishing a book.
It's like a big lift, but there's a lot of kind of short form, smaller stuff we could be publishing that's like less friction that we just don't have the quite like content shapes for yet.
Andrew: Um, so how, how has this idea helped you with like forming ideas? And then like, maybe what, what note in your garden has grown the most over its lifetime?
Maggie: Uh, yeah, it's definitely gotten me well to write in the first place. Like before I got into this whole digital gardening ethos, I think I had a couple small pieces of writing up, but I was still in blogger mindset where I thought publishing a blog post was like a big deal or something, or like, you know, I was just like, Oh, I have to be really, um, you know, like make it a thing.
I can't go back and change it once it's been published. That was like very much the blogger mindset. And with gardening, you can kind of publish a very rough set of notes and then go back and fix it later. That's kind of part of the whole philosophy. So it's supposed to both lower the friction and the barriers to publishing and also kind of set your quality bar higher because you're supposed to keep Going back and like improving it.
So it's kind of trying to have the best of both worlds of like, well, we want good quality information on the internet, but we also don't want this, like, feeling that you can't publish anything because it's going to, you're going to have to do so much work to get it to be good enough to hit publish. Um, so it, it helped me a ton because then I just started publishing lots of stuff.
I just started, you know, have an idea and you just bang out a quick note about it and you hit publish and you're like, it's okay, I can go back and update that later, like I, I think a big part of this too is signaling that. So on my. Well, I mean, garden posts I have, it'll say like published at date and then updated at, and then I also have, um, growth stages on them.
So it'll say like, if it's a really rough note that I know I haven't done a good job on and we'll revise later, I call it a seedling, right? It's very gardening metaphor. Um, and then it becomes a budding note and then it becomes an evergreen note. And then it gets upgraded to an essay. If it's like, I've properly thought about this and like drawn a cover image and it's like a real thing now.
Um, so I try to create ways to signal to readers like the doneness level of the post. Um, and I've seen other people do this in cute ways, like saying something is raw or half baked or fully baked, or it's like a spark or a flame or bonfire. So people have tried different metaphors to signal doneness levels, but um, I really like that as a little design pattern to help like, Explain how, how users should take this work.
You know, do they understand like what quality level it's at?
Andrew: Yeah, I love that. It's such a simple little visual indicator to like really drive the metaphor home. And it's actually useful too. Do you have like the flip side of it where it's like, Oh, you didn't water this plant long enough and it's, uh, it started to wilt.
Maggie: Uh, not yet. This is something I do want to build in. Um, I'm actually, um, in the process of rebuilding my garden, which like is maybe just a thing all developers do, right? Every three years, you're like, Oh, I need to rebuild my whole website. Like, because. It's in Next. js and it's terribly complex. And now I need to rebuild it in Astro.
Like I am that person and it's fine, you know? Um, but part of it is wanting to build some of these new features in, like I talked to other designers before about having things look like they've decayed over time, so like if I don't touch a piece for like three or four years, I feel like it should fade or like have, you know, it should like crumble at the edges or something.
I mean, it's, it's a very weird idea, but. I really want to make a script that does this to pieces that are older than a certain amount of time. And then maybe also make some sort of interface for me, right, as the author to like, have those surface to me, like, Oh, you haven't touched these 10 pieces of writing in a couple of years.
Like, do you either want to archive them or add something to them, but like, have some sort of authoring tooling that like prompts you to do that. Because as far as I know, none of the existing blogging or writing platforms do that. Not like WordPress or Squarespace, they would never sort of enable that interaction.
But this is why I kind of love kind of handcrafted websites that are built like gardens is you can just think of these very new, um, design patterns and like ways of interacting with your posts that, that aren't kind of status quo.
Justin: So since the, the height of, or at least when you started writing this, like heavily in sort of 2020, um, and. You know, time has progressed, uh, the, the tools for thought movement has kind of given away to the sort of like local first movement. It seems like a lot of folks have like crossed that boundary. Uh, how do you feel about where people are or the conversation that's happening around digital gardening still today?
And is it something that you think has reached like a broad adoption or is it like still, does it still need more advocacy? Where, where is it at? How do you feel about it?
Maggie: I really wish I had like hard numbers on this. Like how many, you know, humans on the web have heard about digital gardening? I imagine it's terribly low. It's gotta 0. 1 percent or something, you know? Um, I still think there's so much possibility in this space of what we could be working on. it's like, I, when I wrote the essay, a lot of the writing I do, um, is, is a little bit, um, I don't want to say manipulative. I write things because I want other people to build stuff because I'm not the best engineer. So I will often write pieces and I will be like, hey, like, here's the problem as I see it.
Here are some possible solutions. I would love it if people were to go and build, you know, X, Y, and Z, or I would like suggest, like, wouldn't it be great if people would go explore building stuff and people did do this with digital gardens, which I loved. It's like I wrote this piece and a ton of people said, Oh, look, I've built a Jekyll, um, you know, template for this.
I've built like a tool in Hugo that you could just set up your digital garden with, um, someone's built like an entire hosted platform where you can like set up a digital garden that has these features that I highlighted at the time. Like. Backlinking and these like kind of quick notes and like a really kind of exploratory structure.
So that's great. They, they did that, but I still want more. I'm still like, Oh, I still want more exploration and like weird gardening tools and weird web frameworks for people to be able to like make their own because I still get tons of people messaging me. Who really, really want to be able to build a garden and make these kind of interconnected notes and like grow over time.
But they have no programming experience and that's a total blocker. That's like they, you know, I can tell them, okay, listen, you're going to have to make a GitHub account and I can walk you through it. You're going to have to like get a code terminal and they're like, well, what is that? And I'm like, okay, now we're going to go NPM install, right?
And they're just deep over their heads, right? There's just, it's kind of a non starter. Uh, and at times I've thought of like, Oh, should I be building the tool to solve this? But then you're talking about like rebuilding Squarespace or something. And it just seems like you're gonna end up trapping people in a system that's too rigid, that might as well be WordPress or, or Squarespace, but you're going to give them a set of predefined patterns and they won't have the agency to change those themselves. My like, Current new hope is that language models might play a role in this because they really are good pair programming assistants. Like, I really am a better developer because I'm able to use Copilot and I have some, like, latent dream where I'm like, okay, the way that digital gardening will move forward and that more people will be able to build them is we will just figure out a way to build, like, a programming assistant that's, like, specialized for this.
Where we could like walk someone through getting like a local site set up and then like somehow teach them CSS in this process and like teach them basic HTML. Like, I don't know, bring their programming literacy up high enough to be able to customize a garden to suit their needs. Cause I think I also have this belief that it's not a one size fits all solution.
Like you're just not going to be able to build a framework that works for everyone. And I just want people to have the same access to agency that programmers do. Because I've learned in learning programming, I now have a ton of agency over my computing environment and the web and what I can publish to it.
And when other people clearly have that same desire and I'm like, Oh, you have to learn all of front end development to get that same agency. It feels very sad. I don't know if that answered the question. I think I just went on a little tangent there, but yeah.
Justin: No, I think I think it was good. Um, And I, you know, I, I, I feel the sort of pain. I think this is a, this is a little bit of a trap that even like seasoned developers will, and you're, you're, you know, talking about, you know, redoing your own, your own site. And there's like so much inertia that gets killed by people, engineers, especially going as like, okay, I'm gonna start blogging before I do.
You know, before I write a single word, I need to build this like industrial skill, you know, personal site. It's going to have all of these features and do all these things. And then, you know, they get halfway through that and abandoned it and they never write a single word. So, you know,
Maggie: or they finish it, right? They like architect the perfect blog. And then they're like, here's my first post. Here's how I built this blog. And then that's the only post on the entire site forever.
Justin: yeah, yeah, yeah,
Maggie: Yeah, which is, I think, a failure of a publishing pipeline or like a writing practice that's Yeah, somehow software has failed them, but I'm not sure how,
Andrew: Yeah, it feels like you're coming straight at me with those statements. I did the same thing recently where I rebuilt my entire website and there were a few blog posts about how I did it. But those, the ideas of like digital gardening definitely infected me. I'm like, Oh, like. It needs to be interconnected.
You need to be able to hover over a link to see like a little preview and you're right, those features, like they were hard fought for me and I'm 10 years into my career. So like a person that knows nothing of programming there, it's pretty hopeless. The only product I'd say that comes close is obsidian and they're like publish workflow.
You don't have to be all that technical for that, but then you lack fully on customization.
Maggie: Yeah, like, I have a blog post called Digital Gardening for Non Technical People, which isn't a great title because it's not like they're non technical, but you know, for non programmers, that says Obsidian and Notion really are kind of the best. Kind of make your own solution options. I mean, if you're not going to code, but they're so limited, it's sort of like people read that and they go, Oh, okay.
Like I've set one up, like following your thing, but like now how do I make all the cool stuff you have? And I was like, Oh no, you can't actually do that.
Justin: Yeah, something I think of often, and this is a little bit of a side and we'll get back on track here, but like writing isn't the only form of content you can do. And, you know, what we're talking about here is like, The thing like we're, we're talking about these like prerequisites that, that take their own, you know, they have their own momentum.
It takes a lot of inertia to sort of like get them going. And, yeah, using, using tools like notion or obsidian or whatever, and just like writing something and publishing that as, as good. And there's a, there's another site builder that I'm really fascinated by. It's called, uh, MMM dot page. It's by a Uh, engineer here in Brooklyn.
And it looks like a, like a little scrapbook and that's fascinating. And I think that, you know, you see the kind of creativity with people, like people do with that, where it's just like, it feels more like a site from the nineties and a, you know, more of a geocities vibe where people are like putting poems and pictures and sort of, I think like the, the way you express yourself and your creativity, Can be, you know, through many means.
And it's like, I think there are also some people that are just going to bounce off of writing and it's just like, don't put too much in front of your writing, just write. And then if writing is not your thing, you know, there's, there's a lot of other ways to share your ideas and, you know,
a lot of places to engage.
Maggie: yeah, like another difficult thing of, um, of personal websites at the moment, or maybe it's just like, I don't know if it's like the structure of the web and the way things work, but like, um, all the private companies have nailed formats that are really good, right? Like TikTok, short videos, right?
Twitter, short, short tweets. Um, I really wish there was a way we could be publishing those to our own website, so we actually own that content and it wasn't trapped in these proprietary platforms with companies that could get, You know, run by a crazy billionaire or shut down tomorrow, or like, they just won't last forever.
And there goes all your content. Um, I really love the IndieWeb. They're a community trying to promote people owning their own content, having their own websites, publishing to your own website first, and then like syndicating out to social media sites. But of course, all the social media sites are quite against this.
And so they don't, they shut down their API or they won't let you publish from, you know, not using their interface. So it really becomes a big challenge to actually do that. But. I'm kind of waiting to see people, I would love to like come across a digital garden that is like very video based or very audio based.
It's not necessarily writing or people just define their own content types. Like I know people who have content types that are like, you know, coffee review or like a walk I took and they like map all their walks and have like visual maps of everywhere they've walked. And I love those more experimental content types, but I'm still waiting for us to move past the like here's some text on a page is like the primary content type.
Andrew: Yeah, but this conversation makes me want it makes me want blue sky to win so much because it's like you have a protocol that enables all of that. And I could imagine a future where it's like, my website just connects to app proto and pulls in my videos and my tweets and my blog posts and all of that.
And it would just be so cool.
Maggie: Yeah, I'm hoping blue sky wins too. I, I have tried tweeting on there, not tweeting on there. I mean, it's so in my mind now. Um, I've posted on there a little bit, but I have found the, it's just like the mass of people isn't there yet. I keep trying to get people to come over, but when you're just like posting into the void, you're like, okay, I don't know if I like have the motivation to keep doing this.
Um, right. Like Twitter's a drug because all the people I love and like are really interesting and love the same things as me are on there. And it's very hard to step away from that. Um, yeah. I'm kind of hoping, I mean, in a, like, in a bad way, that, like, Elon just continues to destroy it in a way that makes it completely unusable.
Like it just becomes so, like it just collapses within on itself in a couple of years and then we have to find other options. But until it truly collapses, I don't think people are actually going to move off it.
[00:27:34] Designing for AI
Justin: Yeah, that's a real challenge. Um, let's talk, let's like transition a little bit because one of the last things that we had talked about was, you know, the potential for, you know, maybe people to use LLMs to enhance their technical ability to like write their own digital gardens, write their own blog posts.
I mean, you're working at illicit, a company that, that deals heavily with LLMs. Um, and so. Maybe we can talk a little bit about illicit and then talk a little bit more about LLMs in general. So will you tell us a little bit more about like sort of the details of the company?
Maggie: Um, yeah, they're really interesting player in the space because language models are at the core of the product, right? We're using language models to summarize these scientific research papers and help researchers extract data from research papers. They'll need to do things like, okay, I have a thousand papers on whatever it is, like vitamin D deficiency, and I need to know like of all the studies done in these papers, you know, how many people were studied, what dosage should they give people of vitamin D?
Like, um, what protocol, what was the methodology? Like who funded the study? And usually grad students would be paid minimum wage to go through every paper and extract these manually into a spreadsheet. And it turns out that you can. Use language models in a certain kind of architecture. It's not like a single language model call, giving it the paper and asking it, you know, what was the dosage?
We do a whole bunch of things to make the accuracy rate really high, but we do a bunch of tiny steps and we like double check the answer at every single step. So you're kind of saying, okay. Rank the paragraphs in this paper based on relevance to like, whether it mentions dosage and then take the top three ones and then like, check whether those actually have any dosage and then get a different language model to check that answer.
So, like, you're doing these, like, multi chain steps to improve accuracy. Um, but, uh, so that, so that, like, makes our outputs, um, very accurate. Um, but I'm still very skeptical of language models, like, being used in other contexts. I'm still like, quite, hesitant about them or I think the way that other people are using them in a lot of the new products I like look at and I'm like, this doesn't seem like a good idea.
so it might seem like a contradiction, but it's that Elicit is, um, it's kind of branding is like, we are very big on being very careful, like being very like AI safety conscious, like the founders kind of came out of the world of worrying about how language models would cause kind of really negative repercussions on, shared truths and like reliability and how we'll be able to like prevent language models from just like spewing dis and misinformation throughout the world.
so it's, it's strange to work at an AI company and everyone kind of thinks like, Oh, you must be such a fan of like writing with chat GPT or something, and I'm like, Oh, very much the opposite. I very, I would never use a language model to like write a single word of my work. I think they are useful for things, but very much as like.
Research and search assistants, um, and not as like creating outputs for humans to read.
Andrew: So I was going through you guys homepage, and uh, you guys don't actually mention AI, language model, GPT, or anything on it, so was that like a conscious decision?
Maggie: Yeah, um, I think it's a little bit that like, we got started before a lot of the big hype and we're trying to just stay focused on like, what problem are we solving for our users? And that's very much like, they need to do a literature review. We're trying to like speed them up and help them improve their accuracy and like make their lives easier.
Um, how we do that is not necessarily that important to them. Um, I, I don't think the word AI. I don't know what it means anymore, to be honest. Like I'm still, I'm still on the, on the team of like a calculator is an AI, right? A calculator, like does maths in a way that is like, Oh, that's intelligent. And it's not a human.
So it's AI as far as I'm concerned. Um, I know, of course. I'm, like, not an idiot and, like, look at, you know, the current cultural conversation of that we've decided that anything to do with neural networks is AI for the moment, but that will change, right? Like, at some point neural networks will no longer be AI and, like, whatever new thing we invent will then be AI, right?
This is, like, a moving target. Whatever's the new hot thing is, like, the new artificial intelligence. Um, so I think we don't use that language just because we're trying very hard to, to, yeah, not mislead or, like, we're trying to say, Exactly what we are, what we do. And I think we do use the word language models on like our FAQ or if people ask us how the system works, we'll talk about it.
Um, but hopefully it shouldn't be too relevant to them, like what our backend contains.
Andrew: Yeah, I like that way of framing it. It's like advertising that the AI is doing all of this is really just like an implementation detail. What, what I want to know is like what your app does and how it can help me. And in this age of AIs, uh, we have to design our apps differently. Currently, most people have done that by adding a chat box somewhere in their app and letting AI go wild.
But, how do you think we should go about designing AI into our apps?
Maggie: Yeah. Um, okay. I'm trying to come up with like a snappy line for this. It's going to be like a point in a lot of my upcoming talks, but I'm now big on like, we should, we should. Not be using generative AI. I don't think I think I'm now quite down on whatever we think generative means, which in my head is like generating images and videos and text and just like shoving them on the web and being like, wow, look, we made a thing.
And it's like, yeah, but how is that useful? synthesizing, condensing and like, Searching AI is useful, like AI to me is like a really good search engine, like we should definitely be using AI to like improve search across the board, like semantic search is incredible, right? This is the kind of thing where like, you search for dog and you also get bone and, and bark and like, words that are near it in latent space, or like in the space of a neural network when they've embedded all the words in a training set, um, you know, it knows what like dog related words are.
So this is incredibly useful. We obviously had this for a long time, but we're now just going to have much better, um, search. Um, my favorite example of this is Exa, E X A dot AI. Have either of you used that search engine?
Justin: Yeah, I used it when it was metaphor dot systems, but yeah, it's, it's nice.
Maggie: Yeah, um, I don't quite know how they've done it, but they've essentially taken an approach of, um, it can't be all the links on the web, but somehow they've taken the web and embedded it into, into this like neural network latent space, um, and then they're able to search for similar websites based on what you request with natural language, so I can ask something like, um, give me all the blog posts, Like written by engineers about like voice to text systems.
And it will do a pretty good job of finding me blog posts, like written by that type of person about that topic, which if you type into Google, you do not get that right. And it's partially because of the way people game the, the Google SEO system, right, that like all the junk kind of rises to the top and maybe that could happen one day with XR, if like this all goes wrong, but, um, But, but search engines really will become much better because of this kind of thing.
Um, so searching, um, researching, um, when you're able to, we now do have much better techniques for like giving language models, um, corpuses of data and saying only answer based on this corpus. So they're not going to answer based on their training memory, right. Which is like whatever they were trained on, which is mostly like all of Reddit, you know, sure Wikipedia, but like all of the web.
Is usually what they would answer based on, but you can say, you know, here's a bunch of legal documents, only give me the answer based on these legal documents, which again, it's kind of just better search, right? This is all, this is all better search. and then distilling it's like, okay, you can give it a full article and say, just give me a summary of this article and it can do a pretty good job of accurately summarizing things.
So super useful for all of that, but anything that's using AI to generate end products, like an essay, an article, a video, where you don't have a lot of human in the loop input, there's not a human there, like vetting every single thing that AI says, or like checking if that's useful to anyone, or like, I, I think I have, um, a friend who's a writer where we've done a couple of podcast episodes on writing and language models where we're both quite, um, Yeah, negative about it, because we were trying to make the argument like, writing is a human going out into the world and having lots of experiences, right, and forming opinions about the world.
We're saying like, okay, I experienced this, I touched that, I smelled that, I talked to that person. And all of these have added up to me realizing something. And now I want to communicate that to other people. So I'm going to write it down in very specific words. Where I have this fuzzy experience in my head that's very embodied.
It's very human. It's emotional, right? It has all these qualities that language models could never understand or, or mimic, and then I'm using that very like holistic embodied emotional experience to create words that like get another person, another human to feel those same feelings or to understand what I saw and felt, uh, and like touched in the world.
And a language model can generate words that seem the same, but because they didn't actually go out into the world and have those experiences, it's like, the point of those words is very ambiguous. Like, why, what would be the point of me reading them? I think we got to that at some point. We were like, well, we would never want to read words written by a language model about the experience of like, I don't know, getting married or having a child or like going through a severe illness.
It's like, all of those words would be, um. Not useless because maybe it could provide you comfort, but it wouldn't be accurate at all. It wouldn't actually represent someone's experience. And so there's a real danger here of us divorcing reality from like all the, all these words written on the web about reality that are not actually connected to reality.
Andrew: Yeah, I, every time I talk about the current company I work at Descript, I put it in very similar terms, like a lot of other AI video companies seem to be like full generation, just spit a video out and we got a video now. But in my opinion, those are far less useful tools. Like I want an AI to help me to enhance me and like to tie it back to some examples.
Uh, we have two features in our product, one where it's like. Find all the good clips in a podcast and then make them into tiny videos. Then another one that's like, okay, condense this clip down into like. A readable, nice thing. And the former gets into that generative territory for me, where it's like, it doesn't have my experiences or my perspective, so it can't really pick out what I think would be a good clip, but it's very good at taking something I've already deemed a good and then like condensing it down.
So I def I definitely like tools that are more on that side than the, just do it all for me side.
Maggie: Right. Because otherwise you would have to teach language models what your judgment of good is, um, which some people think we will be able to do that. But to me, it sounds a little bit like this idea Like, I don't want to say it's a naive idea, but it does feel like it. Like in the early days, I think a lot of researchers were like, well, we will make language models, like ethical and moral by just writing down all the ethical rules for them.
And it was like, Hmm, have you ever read philosophy? Because people have really gone into how this is like impossible and like, Oh,
All ethics are like culturally relative and they like completely vary across time and place and languages and communities and like, there is no agreed upon set of ethics, hence like all the controversy over every law we ever have to pass in society.
Um, and it feels the same to me that if you say you're going to write down what defines a good video, that is very, uh, controversial. Culturally, uh, constrained, you know, what would make a good video in like, I don't know, 1890 is very different to what would make a good video today and, and depending on whose taste and like, what are they like, um, so I'm, I think I'm still skeptical on that front or I'm also a little afraid that one set of goodness will be encoded into the models and that will be like the end of us changing the, what is good forever.
Right? Cause it's now in software that we like have spread around the world and like could not possibly update somehow.
Justin: Yeah, there's a lot of interesting ideas there and like challenges. I mean, one of the base things is like, taste is not a thing that can be easily taught to people. I mean, in general. So there are like these tactical things, like we had Steve Ruiz on the podcast a while back and he gave tips on like, here's how you make a really good, engaging illustrative video on Twitter.
It's like this length, this speed, like very tactical. And you might not have picked that up on just watching those, but you might still think, Oh, this is good. So if like, um, language model or something could say, Hey, these clips do you really like have these properties consistently, then like, maybe that's very helpful.
But like teaching taste to another human is a, is a very hard thing beyond those like tactical things. So I see that as like a. If you can't do it for another human, how are you going to do it for a machine?
Maggie: Yeah. That's, that's a very good example though. I like the idea of, um, I think I am still. Uh, quite positive on this of language models or neural networks in general, being able to point out patterns. That is like a really promising avenue, right? That they could say, okay, you've liked all this stuff and it has these patterns in common that you would have never been able to put words to.
And now that you've synthesized that into a statement of saying, oh, that, you know, that their speed didn't have, you know, if it's animation, this easing pattern, or they use these colors, then you can kind of clarify your taste a little bit more and be able to make more stuff that you feel is good. Um, so again, that.
Kind of falls in the like, maybe I'd call it like research and, um, self understanding is maybe more I'm excited for them to be used for. Um, they think they have a lot of potential as rubber ducks as well. Like, if you've ever tried, like, solving a programming problem with, um, copilot or cursor or whatever, like AI, um, Assistance tools, um, half the time you're just trying to think through the problem out loud the way you do with colleagues, like I do a lot of voice to text where I just talk to my computer to work through a problem because it helps me and then seeing the text written down and then like saying again what I think the problem is.
I've solved a lot of bugs that way. Um, so I think I'm still like quite bullish on them as self reflection machines, but again, it's still such an internal process. It's me working through what I'm thinking and what I'm figuring out. And then I make the final like words on screen for an essay or like I write the final code and check it.
It's that kind of thing.
Justin: yeah, totally agree with that. Um, let's switch topics.
[00:41:25] The Future of Coding: Community and Innovation
Justin: Uh, so you are hosting the future of coding event in London. Um, that's a fantastic event. I haven't been to the London one, but I was, I've been to the New York one several times, so I'm really glad that you're doing it. Um, what motivated you to start hosting that and how have they been going?
Maggie: Uh, yeah, I kind of accidentally started hosting it. It was like the future of coding, right? Again, not started by me, uh, Steve Krause, who might have met if you went to the New York one, um, founded it, I think when he was living in London with Ivan Reese. Oh, I think there was another founder. I'm going to forget the name, but anyway, they started what was essentially a website in a Slack, just for people who were interested in a set of topics that kind of loosely gathered around end user programming, kind of saying like computers are too limited for end users.
We should be allowing people to have more agency and control over their computers and their machines. A lot of this philosophy came from kind of the early 80s and 90s, like Alan Kay, Brett Victor picked up on it in like the 2010s and made a lot of talks that inspired a lot of people who are part of the community, um, just trying to say like, we can do better in a way with, with programming and, and allowing more people to be programmers.
So I found this community, and they have a podcast that's wonderful, which is like a whole history of computing, really, it's such a good thing to binge. And just was like, oh, these are my people, like, this is absolutely what I bang on about in all my conference talks, like, I love this. Um, so I joined the Slack, and there was a London channel, and at some point, um, one of my Twitter friends was coming into London, and I was like, oh, we should go get beers.
And, you know, he was kind of part of this community too, and I was like, you know what, we'll post in the Slack, we'll see who's free, I'll just put like a pub and a time and a place. I think we had like. Maybe 15 people come the first time and we went, Oh, this was great. We should do it again next month. And then we had 30 the next month and then it was 40 and then it was 50.
And then we outgrew the pub, right? We had too many people and they couldn't fit us in anymore. Um, so then I found a space, um, where that had a project, a projection screen, and we could kind of do like beer and pizza there. And so now we're closer to like a hundred at most events. And we do a lot of very short demos.
So people just get up and do anything from like a three to seven minute demo of something they've been working on or like a weird side project. Um, and it's become a really wonderful community. We just have lots of people who, who come back over and over again. We, because, uh, Europe doesn't, I guess, have a lot of these.
We have people who fly in from like Barcelona or, uh, Sweden or like Paris, and they just come just to go to the event for the night because it's the only space they can go. where other people are really doing kind of very strange experimental things with interfaces and programming and who care about end user programming.
Um, so it's become a wonderful community. But, um, yeah, I, I, I don't run the like future of coding official. Like that's, it's a whole bunch of people doing the podcast and like sending out weekly newsletters. And it's, it's really a collaborative space where people do a whole bunch of different stuff to kind of get everyone rallied around this core idea.
Andrew: Uh, so what are some of the things that people have shared and what gets you most excited about the future of coding?
Maggie: Uh, we get a lot of weird stuff, which is what I kind of love. I joke that like, the demos are never allowed to be like commercial or practical in a way. Like no one could ever turn a startup, you know, out of one of these. Um, I guess a few people have, like Steve, actually Steve Ruiz, who does TLDRAW, he did a lot of like early demos there, which were really great.
Um, but yeah, we At the last one we had last week, we had a lot of, um, VR stuff. So we had someone doing like, how could you make like a 3d animated children's character in VR, but how could like a parent paint them themselves and like allow the child to interact with it, but in a way that like they could actually make the 3d animation, um, so trying to make that more accessible.
In the past, we've had people do things like, um, wear one of those, uh, the headsets that can, like, detect your neural brainwaves and then play a video game, just thinking, like, thoughts to the players in the game, like, okay, I want you to, like, run and then shoot, and it works, they can, like, think certain patterns, and somehow the device can tell, like, what pattern is, like, run or shoot.
So that was kind of crazy. Um, We've had a lot of really good, like, people inventing their own programming languages and just, like, demoing how they work. Sometimes joke languages, sometimes, like, musical languages. So it's, it runs the gamut. We kind of, I don't really filter too much of who can present. I mean, if someone's really just there to, like, pitch their startup, I'm usually like, oh, it's probably not a good fit.
But usually people are building weird things on the side that, like, don't fit into any other meetup. And so they end up at Future of Coding.
Andrew: Yeah, brain interfaces are crazy. Like I know, I know it's from the evil billionaire who's not, should not be named, um, but, uh, Neuralink, they, they just installed it on a person and the way the guy he's, uh, I think paraplegic describes moving the cursor on the screen, just, he's like, I can't explain it. It's like moving a limb.
It's like, I go to move my arm and the cursor just moves on the screen. So it's just like, it's, it's mind blowing.
Maggie: Yeah, that's so cool. I see. I had no idea before I saw the demo. I was just like, this is dark magic. I had no idea we had these devices and apparently they're quite cheap.
Justin: Yeah, that's really wild. So there's a lot of overlap in this community with other movements of their community. So I joked earlier about like, when I got involved with the scene, it was like the tools for thought scene was very active and I went to beta works and I met a lot of the people who were kind of going through their think camp.
Um, and then. Now it seems like there's this mind shift and people are talking more about local first. It seems like a lot of the similar people, there's like this end user programming theme and this idea of like, we want more software agency. So at the end of our episodes, we like to ask a future facing question.
And my question for you is, what do you think, where do we go from local first? What is the next big community mind shift in this space?
Maggie: I guess that, yeah, I, I like that, um, insight that we're all just like coming up with different names as an excuse to like host conferences that are all secretly, like, how do we give people more agency over their computers? Um, cause I do feel like tools for thought was that right. It was like, okay, how do we make new tools for thinking?
Right. We, we like. are thinking too small. We just have like, Microsoft Word. Like, how do we expand our minds? Um, and then same with Local First. It has a slightly different flavor. Like, how do we allow everyone to own and control their data? I mean, I would love if at some point we all just like, finally embrace the end user programming, um, thing.
I know we don't because it's been a word that's been around since at least, I don't think it was invented in 1991, but that was when like a small matter of programming, which is kind of one of the core books of it was written. And I think, um, people got very skeptical of it, right? There was this big like, oh, we're gonna, you know, spreadsheets have happened.
We're going to enable anyone to be able to do programming. It's going to be this like whole enlightenment age of just all users around the world, like being able to program. And in a funny way, we kind of have done that with low and no code. Like. People do have way more power over their machines than they did before, right?
Like things like Airtable and Notion really do like empower people to do crazy stuff without having to code. Um, but we still know there's like more to do. So I'm kind of hoping that everyone just at some point like gives in and is like, okay, I know that we think end user programming failed and like, it was supposed to be this impossible dream and we had to like give up on it and like settle for low and no code.
But I'm still like, Oh, is there a way language models could bring this back? Like, I just. You know, if we, whatever it is, like Devon or whatever the next like demo is of the like magical coding assistant that like browses the web for you and reads the docs, right? And like runs your console for you and all you have to do.
I don't say all you have to do. This is still a very big thing, right? It's like, tell it what you want. Which is not simple because, right, there's a kind of a joke that like, oh, we could get computers to program for us if we could just specifically define exactly how we wanted the program to behave. And everyone's like, yeah, that's called code. Um, but still you're like, okay, but there could be a way that I, as a, a non programming user who'd come in and say, listen, like, Okay, I'm having trouble with, um, whatever it is, like scheduling my kids activities, you know, and I want to describe exactly what I want. I want like a notification to happen at this time, and I want like a calendar event to be rescheduled if this happens, and I could write in plain English a bunch of if this then that statements, you know, if this then that, the platform is actually quite limited in what it can do, but if I could genuinely just have a conversation with a chatbot, describe exactly what I need, it might not be that complex, maybe I don't need some big database, you know, to manage it.
And we could just have a system that builds you the app you need and you own it and control it. And it's local on your computer and there's no need for Facebook to get involved, or there's no need for anyone to make ad revenue or, like, get VCs involved and like, have this having to be some high growth company.
I think I still optimistically believe that future is not that far away. Um, maybe a couple of years. It just, I think the pace of. Change and like the scale and, and improved, um, uh, performance with language models. This doesn't seem crazy to me, even though there's a huge debate raging on Twitter of like half the people saying like, yeah, yeah, we had this idea in the eighties, like, stop bringing it back.
Andrew: Yeah, it would be cool if everybody could make their own little apps. Cause like that, that's where I gained the most value out of my skills. Like over the weekend, I was rebuilding one of my, one of the things I used to discover music and just having the ability to craft those things is so fun.
[00:50:35] Tooltips
Andrew: Wanna move on to tool tips?
Do you have tool tips?
Maggie: I do have two. Um, okay, the first one is Grant Sanderson, who goes by 3blue1brown on YouTube, has a set of six, um, videos that explains language models and neural networks in, like, the most accessible way. Maybe not the most. There is still some, like, calculus in there that, frankly, I, like, glaze over and just skip through, because I'm like, this part is not relevant to me.
But for anyone who's like, totally lost in the whole AI thing and like, what in the world is ever going on about with like neural networks and latent space and embeddings and vectors and like, what do these words even mean? Um, Grant does a really good job of just explaining it in a very accessible way that you're like, Oh, this is not dark magic.
Like I totally understand now. Like this helps me understand how chat GPT behaves. So I think those, uh, are a really good resource and they saved me. I would have no idea what this stuff was without him.
Andrew: yeah, the guy who just left from open AI recently does the same thing where he'll like explain like these really hard concepts into like really short code and short videos.
And I absolutely love it. I think he recently implemented GPT and like less than a thousand lines of code. So it's really interesting to see like. These crazy new groundbreaking concepts are actually kind of like simple when you break them down into like the, the minimum amount of code needed to run it.
Justin: It's more like the hardware required to get it good. Right. That's the, that's the hard part.
Maggie: Yeah, it only costs a billion dollars in GPUs. It's fine.
Andrew: Yeah, only a trillion dollars.
Justin: So coincidentally enough, while I was searching for tooltips before this episode, this tool came up and it seems very similar to the product that you're working on, but it's an open source tool slash paper from Stanford. It's called storm, which that's actually an acronym. That's fun. It, uh, you can use it to synthesize topics online into like a fleshed out Wikipedia article with references.
Andrew: So the way they, they describe it is you kind of just like put in a Google search. Uh, in their example, it's, I'd like to know more about, uh, the Hualien city earthquake. It creates a Wikipedia like article for you with a bunch of different references. And you can use this as a jumping off point for going into more detailed work.
Uh, and it's from Stanford, so it's probably pretty okay.
Maggie: Yeah, that one looks great. I mean, I'm sure people have also heard of Perplexity. It's like another great search engine that's doing this really well. I would hope that they're going to kind of be the leaders in this space of like more general web search with really reliable references.
Andrew: I still need to check out Perplexity. Raycast just added all of them to their, their quick thing. So I'll, I'll probably try those out soon. Next up, we have Atomico.
Justin: Yeah, I don't remember exactly where I discovered this, but it is a framework for building web components. Um, I've been thinking more about web components lately because I'm Working on my own startup. And there are some times when I have components that I want to share, but I don't know what the end users, you know, whole web situation has like, so it's like, you know, actually this is a really good use case for web components.
Uh, and this is a act, this is this library, which is sort of a library for building web components, gives you a really nice, um, Abstraction interface for building those components and their design work is impeccable. Their site is wonderful. So, uh, yeah, I don't know. I saw a component library that was released with this, uh, and it looked really interesting.
So, uh, I don't remember exactly what that was called. Uh, but anyway, this is, it's, it looks like a cool tool. So if you've used lit or a bunch of the other like web components things, maybe this is a good one to check out.
Andrew: They really went very hard for their hero image here.
Justin: They really did. Yeah. Yeah. That animation is impeccable.
Andrew: Yeah. I've always wanted to build one of those types of things. Okay, Maggie, what was the second thing you wanted to talk about?
Maggie: It's a tool called Super Whisper, which, um, allows you to do, um, voice to text transcription locally on your machine using Whisper, which is like the, um, tool that OpenAI made. So it's Very, very accurate. I think the problem with voice to text systems in the past has just been that they don't understand any accent that's not American, right?
Um, and they don't do like multi language and just, if you're mumbling or your microphone's bad, they're just too inaccurate to really use all the time. Um, but, um, Whisper was a model released by OpenAI that was trained on all this, um, speech data way more than had ever been before because of the use of neural networks, we were able to do it.
And, um, So it's super accurate, supports all kinds of languages. I love it. I use it all day. Like I rarely type at this point, which is very strange, but you just hit a keyboard shortcut, you talk, it transcribes what you say in line, like it's paste into whatever app you're in. So it helps a ton with doing email, with like responding to colleagues on Slack, for like getting down quick ideas for blog posts.
Um, so I use it all the time. I really love it.
Justin: That's awesome.
Andrew: Another website with an impeccable header. The noise they use here is just beautiful.
Maggie: Old school. That's good.
Andrew: I love a little noise on my surfaces, uh, in web design. So pretty. Cool. Uh, next up, I have a tiny little library from the Twitter user, Shuding, or Shuding. I have no clue how to say that, say the name. Uh, but I think they work at Vercel.
And they came out with this package that enables Next. js view transitions. So if you've seen, uh, the view, view transitions API makes it really easy to transition one element from one page to another element on another page and make it look real like native and flowy. But in Next. js's app router up until this point, If you've wanted to do it, you would just be pointed to a GitHub issue where there's no solution and just a bunch of sad developers.
So now you can point, they can point themselves to this library where it's actually super easy to add these view transitions. You just add a context at the root of your app and you use their link component, and then you get magical view transitions out of the box. So, uh, if you've been looking for something like this, I'd go check this out for sure.
Justin: Nice.
Maggie: Yeah, that's great. I was, I was one of those sad developers on that issue. Um, I'm not going to say that, like, my, uh, motivation to want to move from Next to Astro was partially just view transitions, but it kind of was.
Andrew: They came out with support so quickly. Uh, it was crazy.
Justin: Astro. Yeah, yeah, it was wild.
Andrew: Okay, next up we have Superstate.
Justin: Yeah, this is a really interesting one. I am fascinated by state chart or state machine libraries. Um, but they generally tend to be pretty complicated. Um, massive respect for the X state team. I love their visual diagramming tools, but I still find I bounce off of X state a lot just because of the complexity of the actual interface.
Thanks. Um, so Superstate is another attempt to do a similar sort of thing, right? It's to define the state machine. Their difference is they have this like very simple DSL, what's mostly string based. And there's like this one chain function, and you can just sort of like call a bunch of things together.
And tersely describe This, you know, interaction that you want to have. And, um, I'm not a thousand percent sold on the, the, the DSL that they came up with here, but I do like how minimal and how clean it is. And it's cool. Uh, I love to see more people playing in this space. I think that this is a very underutilized.
Uh, tool, uh, oftentimes programming, especially very stateful programming gets really complicated because you just have too many variables and you don't actually need them all to be variables. It's like combinatorial logic explosions is a problem. So, uh, definitely if you need something like this, if you have like a complex, like UI element, it's like in a bunch of different states and you want to make sure that, you know, works correctly, then, you know, a tool like this might be really helpful.
The, the string API is interesting. Are they using TypeScript template strings to make that type safe?
probably I don't, I don't fully know, but it wouldn't, it wouldn't surprise me. Yeah, I don't know. That's one of the things that I felt like maybe feedback to the developer, maybe there's like, you could play with this API a little bit.
Andrew: Yeah. Well, cool. That wraps it up for tool tips this week and for the episode. So thanks for coming on Maggie. This was a very interesting conversation, not our usual conversation, but I loved how we got into AI and how you think about growing your own digital garden. So thanks for coming on.
Maggie: Yeah. Thank you for having me on, even though I'm not really very DevTool y, but I really appreciate you going, going out on a limb and having someone a bit more weird on.
Justin: Yeah, no, it was really awesome. We've wanted to talk to you forever. And I mean, I think that when we started this podcast, we were really thinking about not just the tech that people put out, but also the people who are shaping how we think about both our tools and our work, and this fits just solidly in there.
So thank you so much for coming on. It was really great.
Maggie: Yeah. I had a great time. Thanks so much.