JS Party – Episode #325

11ty goes fully independent

with Zach Leatherman

All Episodes

11ty creator Zach Leatherman is taking the open source site generator fully independent in 2024 and he’s back on the pod to tell us why, how & what we all can do to help.

Featuring

Sponsors

Clerk – Clerk is a complete suite of embeddable UIs, flexible APIs, and admin dashboards to authenticate and manage your users.

Neon – The fully managed serverless Postgres with a generous free tier. Neon separates storage and compute to offer autoscaling, branching, and bottomless storage.

SpeakeasyProduction-ready, Enterprise-resilient, best-in-class SDKs crafted in minutes. Speakeasy takes care of the entire SDK workflow to save you significant time, delivering SDKs to your customers in minutes with just a few clicks! Create your first SDK for free!

Notes & Links

📝 Edit Notes

Chapters

1 00:00 It's party time, y'all
2 00:39 Sponsor: Clerk
3 03:58 A hoy hoy!
4 04:39 Welcoming back Zach
5 06:36 11ty elevator pitch
6 07:42 Recent history
7 10:46 The community
8 14:35 Gatsby's approach
9 18:33 TypeScript...
10 23:32 Stagnation vs progress
11 25:35 Sponsor: Neon
12 27:36 Web Components
13 30:23 Zach's npm components
14 35:22 Obligatory AI chapter
15 45:19 Moar npm components
16 52:25 Knowledge sharing
17 56:04 Sponsor: Speakeasy
18 59:41 11ty Conf
19 1:08:45 The NebraskaJS site
20 1:10:10 How can we help?
21 1:12:19 Keep building for the web!
22 1:13:22 Next up on the pod (join ++)

Transcript

📝 Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. 🎧

Ahoy-hoy, world. Oh, I’m sorry. I’m not supposed to say that.

Jerod…!

I’m supposed to say “Hi, I’m Jerod, your internet friend.” And I’m here with the ahoy-hoy master himself, it’s Nick Nisi. What’s up, man?

Ahoy-hoy. How’s it going?

This is why I’m not supposed to do it, because you’re so good at it now.

What is this intro tagline? Do I need an intro tagline? I didn’t brainstorm one.

You do. We’re joined by Zach Leatherman from 11ty… Go, Zach!

Uh, hello…

Okay, well workshop that. We’ll keep working on it.

That’s the best I could do on late notice.

What’s your new tagline? It’s like “Keep building awesome websites”? I saw it on your 11ty T-shirt. What’s it say?

It’s “Keep building for the web.” It’s kind of the sign-off that I’ve used on my YouTube videos over the years, but… Yeah, now it’s immortalized on a T-shirt.

Okay, so you can’t use it as an intro tagline. It’s more of an outro.

Yeah. I mean… Sorry. [laughs]

We’ll cue you to say that at the end, that’s all good.

Okay, yeah. I’ll keep it –

While we’re here with Zach Leatherman - perhaps you know him - the creator and maintainer of 11ty, the awesome site generator that just won’t die… It continues to thrive, despite many hurdles… [laughter] And if you think it’s strange that I rib Zach like I rib Nick Nisi, it’s because we go way back. We’ve been longtime internet and real-life friends with Zach… From Nebraska, moved across the river, but we still talk to him.

Betrayal… Moved over the border…

Yes… And all of us are co-organizers of the once and amazing NEJS Conf, lauded around the world as one of the best regional conferences in this region. Is that right, Zach?

I mean, everyone has been saying that. I think so many people have been saying that, right? It’s the best, if not the best, if not one of the best, if not very good…

Right. In all of Nebraska.

It sure happened.

It’s an okay conference…

It happened… [laughter] It had been five times, which is more than four, which is nice…

Yeah, It was great. I loved it. I loved doing that. It was a ton of work, but it was amazing, and it was fun to hang out with everyone… And it’s definitely something that I’ve been missing the last couple years.

I look back at it fondly… And it seems like you are trying your hand at it once again, with this online, in this case, 11ty Conference, which we’ll get to eventually. But first, give the 11ty brief elevator pitch for those who are catching up, and then we’ll do a brief history… Because today things are changing, and it’s interesting, and we want to talk about that. But get everybody on solid footing here. What 11ty is, and then where you’ve been.

Yeah. 11ty is a static site generator. It’s maybe one of the simpler ones that exists right now. It really allows a very simple on-ramp, an easy on-ramp for beginners, and we try to keep the beginner experience as streamlined and simple as possible. So we’re sort of known for – because we’re sort of a reduced feature set from the beginning, and you sort of add things on top of it later, we’re sort of known for our build performance. And that’s probably highly related to the configurability there. So you can have a very speedy build to build your site, and the output that you can get is also speedy as well. And I think for many years, that was a controversial thing. It’s nice to see that that’s changing… Yeah, and there’s more HTML-focused tools, in the JavaScript ecosystem at least.

[00:07:41.25] And 11ty has been going a long time. It was started by you, as I assume, a way of building your own sites, grew into something where people started to adopt it… I confessed a couple episodes of yours back that at first I was like “Why is Zach building yet another site generator?” and how wrong I was to have that assumption… Because it has stood the test of time, and it has gone through many iterations… And also, I guess, patrons. You worked on it full time at Netlify for a while, you worked on it – I’m not sure it was full-time, but you were at CloudCannon, or you might still be at CloudCannon. I’m not sure of the exact situation, but 11ty was being patronized by CloudCannon, and now you’ve recently announced “I need your help to make 11ty fully independent and sustainable in 2024.” That was just last week… So tell us the recent history and what’s going on.

Yeah, so - I mean, you’re right, I worked on it at Netlify, full-time for about a year and a half, and then I moved to CloudCannon after that. And yeah, I was a CloudCannon, I think, for eight or nine months… And yeah, now I’m going full indie, trying to self-sustain the project. And I think we have some fundraising goals that we’re trying to hit right now, and we also have sort of this nest egg of contributions built up, that has sort of bought us a runway, as it were, to try and make this into a self sustainable, independent thing… Which is very exciting, but also scary.

What’s it gonna take to get there?

I mean, right now I’m making a ton of spreadsheets to figure out –

So you don’t know the answer, or…? [laughter]

…what I need to do. I mean, I’ve had so many conversations over the last week… Because I’ve basically announced this move last week, and… Yeah, and just a ton of people have sort of reached out to me with how they can help, and give me some guidance, and trying to figure out the best path forward with the runway that I have. And so the contributions is sort of our first push. We’re trying to do a fundraising initiative to get our monthly Open Collective and GitHub sponsors contributions up to a certain point… And that will sort of allow us the additional runway we need to build probably a product around the tool. And what that product will look like I think is still up for discussion.

And then I’ve been talking with a lot of folks about what they might want, or need, and what our best path forward is. So yeah, it’s still to be determined, but it’s going to be a lot of building, I think, over the next six to seven months, for sure.

Do you know what your community looks like in terms of – I know there’s individuals who announce like “I’m using 11ty to build my site”, there’s probably people that hang out in some sort of a chat or something, I don’t know about that… But are there large corporations using it? Obviously, Netlify thought it was interesting enough to fund for a while, and Cloud Cannon as well… And so those are some corporate sponsors that were… What does that community look like? Do you have a lot of businesses building businesses on 11ty, or is it mostly indies doing their own websites, and pitching you five bucks a month? What does it look like?

I mean, I think it’s a mixture of both. We have a couple of different contribution tiers right now. If you go to our website, 11ty.dev, you can see sort of the logo cloud that we have of folks that have built websites with 11ty… And there’s a lot of very cool logos on there.

Yeah, impressive.

And we’ve sort of built that over the years, of folks that have shipped things to production with 11ty. So yeah, I don’t think this is necessarily the best time to go indie, as it were, just because I think a lot of marketing budgets are sort of tightening, and there is sort of – it’s a hard job market right now. But again, we have runway to grow into something that I think will be self-sustaining. So I think it’s just building the right thing, that people will pay money for in terms of a product later, while also maintaining the open source project at the same time. So yeah, it’s gonna be a lot of work, but I’m excited, because I do think that if this experiment is successful, the sky’s the limit for the framework. So if we make it over this initial hump, then - I mean, anything’s possible.

[00:12:03.19] Nick, you said that the list of companies using 11ty were impressive.

Yeah. I mean, just right off the bat, the first four: NASA, CERN, TC39, W3C. And isn’t CERN where the web was born, like with Tim Berners Lee? It’s just awesome that it’s – yeah, you’re influencing [unintelligible 00:12:20.27]

That’s Sir Tim Berners Lee, Nick. Please. [laughs]

Get it right.

Sorry.

Yeah, it’s gotta feel pretty good. I mean, NASA using your stuff… That’s cool. CERN…

Yeah. I mean, I think it’s just the classic problem of you offer an open source thing, and people like it, the open source thing, and… How do you get them to pay money? So I think that there’s a couple of different funding models that people have tried over the years, and some of those have been more successful than others… The thing I always think about now, and the thing I’ve been thinking about for the last year is just “What happened to the Gatsby framework?” Because they took millions and millions of venture capital funding, and - yeah, and then they sold the company, and they had sort of a services-based, hosting-based products to go along with it, to speed up build times for the service, and… Yeah, I mean, I think a lot of Gatsby customers are maybe feeling like there isn’t very much investment going on in the open source part of that. And a lot of folks that use Gatsby cloud are maybe not satisfied with what happened there either.

So yeah, I don’t think that I have all the answers for what is the best way to do this, but also have the advantage of – two different advantages. I have saved the money that people have donated to me over the years, so I have a fairly sizable chunk of change that will allow me some time, and it also is a very small project. I don’t have a bunch of full-time developers that I need to pay. I don’t have a large team that requires that level of funding. So yeah, it’s definitely a different approach than I think other folks have tried, but I’m making a go of it.

Well, I think you’re well-positioned, and I think, if anything I know about you is that you’re very calculated, and I think that you move slow and steady, which is always something I’ve been a proponent of… So when you make moves, they are thought through, and decided, and principled, versus just throwing stuff at the wall and seeing what sticks. Of course, you do have to experiment a little, and like you said, you don’t have the answers right now, so it’s hard to get the answers without trying some stuff…

The Gatsby one is interesting, because they did take a different approach than you took, and they were a similar tool… And I would say that it ended – I don’t know if it’s ended, but it has gone not so well for Gatsby users because of that. And it’s because I think of that fundamental disconnect between the financial incentives setup and the open source incentives which were there from the beginning, of charging for things that really should be part of the Gatsby core tool, I think. Like “Let’s make it do faster builds. Well, all open source users would want that, but we can also charge for it. It’s a complicated thing, etc, etc.” I understand that aspect of it. But it’s really hard - and we’ve talked to hundreds of open core people over the years… This is essentially a different take on open core. It’s like “Here’s our core toolset, and then services, which becomes part of the toolset you can opt into, that you pay for.” The challenge there is always deciding “Well, what goes in the open source thing and what doesn’t?”

And one thing I saw when 11ty was sponsored by Netlify, a lot of the work that you did was “Well, Netlify wants this to happen”, and that’s makes sense, because they’re funding the full-time development of it. Of course, we’re gonna build that thing. And from my perspective, Zach - I’m just over here watching - I don’t think necessarily a lot of that stuff made 11ty as awesome as it would have been with just the pure motivations behind it; your own and your community’s. And so then after you left there, it’s kind of like – I’m streamlining, I’m ripping a lot of stuff out… I mean, that was what I read from your blog post.

[00:16:13.00] Well, yeah, we did a community survey when the Netlify change happened… And all of our – sort of the lowest tier things that were being utilized by our community were those sort of hosting-specific things. And so it became a very easy decision to say “We don’t need to maintain these super-underutilized pieces of integration moving forward, because almost no one is using them.”

Right.

So that wasn’t a hard decision to make, just because the community desire wasn’t there. So I think you’re absolutely right that we’ve built some things that did not end up having a ton of long-term benefit… But we also didn’t let those drag us down when we moved and the relationship changed, too.

Yeah. I mean, I think it’s amazing that you’ve been able to navigate those transitions so well, because that’s very complicated, moving in and out of companies and keeping 11ty its own thing the entire time… Like, they didn’t acquire 11ty, they hired Zach; I think that’s how it worked.

Yeah. So when I joined Netlify, at the very beginning, I said that 11ty was my own independent thing, and I worked at Netlify for a year and a half before I went full-time. I worked on their marketing websites. And yeah, we used 11ty to build those marketing websites. So that was a nice collaboration too, because I was using 11ty at work, and to build work things.

So I almost think that that kind of arrangement was better for the project than full-time investment in many ways, just because it was driven from real things that we needed to build for production, and not, I guess, I don’t know, features that were being shipped to see if they would be successful. And I’m also just – I think, philosophically, I’m sort of… I like to be a late adopter to things; I don’t want to be the first person to try out a thing that I don’t think is gonna have long-term benefit.

Right.

And I have some exceptions to that, of course…

What are your exceptions?

I would say things that are shipped on the web platform. I’m happy to be an early adopter of web standards, and things that are shipping in multiple browsers… And I think Nick is probably smiling right now, because we’ve had a lot of discussions about types of [unintelligible 00:18:34.05]

Nick has a giant grin on his face, for those who are just listening… Nick, what’s so funny?

Well, I think I’m going a different direction than what you were, but…

Oh, okay.

…I was just – I was getting at a late adopter to things, and then in…

Hey, Jerod here in the editing room… Quick heads up. Nick is about to say something that sounds like Node.js, but he’s actually saying NoJS. That’s NoJS. You’d figure it out, but I figured I would save you the mental overhead. Okay, back to the conversation.

…in the background you have that NoJS sign, and I’m lik “JavaScript is – it’s time to adopt. You can adopt it.” [laughter]

NoJS - I feel like that is confusing to a lot of people, but I keep it up there just for, I don’t know, argumentative reasons… But that NoJS tagline - those letters are from the Nebraska JavaScript conference sign, and that’s maybe the funny part of it… But NoJS is really a shout-out to progressive enhancement. It’s not like an anti JavaScript movement or an anti JavaScript thing. It’s a start with HTML thing, and add JS later. And NoJS was kind of the class that folks used to use. It was like a convention that you would add this class to your HTML element with JavaScript, so you could customize JavaScript-only behavior. So that’s what that is… But we could talk about TypeScript now, since I brought it up.

[laughs]

Well, yeah, to transition into that, that sign is evergreen, because - yeah, now it’s no JavaScript, it’s TypeScript though, right?

Is that what we can expect?

How dare you rebrand me…? [laughs]

Zach Leatherman, TypeScript proponent…

[00:20:14.04] I mean, I think that I’ve said over the years that I am fine with TypeScript, but I also wish that it would be a first-party part of the platform, and… I mean, I think there have been various standards discussions to add types to JavaScript as a first party thing, and I think that that’s great. I would love to see that happen, as long as they’re optional, and not everyone needs to use them. So yeah, I think that would be great, and I think that would be great for the platform.

And I think another part of that that’s very awkward for me is when you think of something like JSX, and how much extra work went into sort of shoehorning JSX into everything. And I really feel like it would have been better for the web, generally, if that had been a standards-based movement, and not just like a piecemeal thing. Because that still isn’t something that is first-party in Node.js, and so it’s awkward; it’s just very awkward. And we have these features that are now available in only certain JavaScript runtimes, and not all JavaScript runtimes, and now we’re getting sort of into the weeds about things that are “What is JavaScript formal and what isn’t?” Deno and Bun would say that it’s part of their runtime, JSX and types are like first-party things. But, I mean, what happens when one of the major runtimes disagrees?

Yeah, it really does – we’re in this weird state now where… Node was the “This is the way to do JavaScript outside of a browser.” And now there’s three ways to do that, and which ones the correct way…?

For a long time, I was like “I don’t like what Bun’s doing, because they’re doing all of these “non-standard” things. And it’s non-standard because Node’s not supporting that. But – I mean, is there a governing body? I don’t even know… For like JavaScript on the server. In a way – you know, they get the features from TC39 through Chromium effectively, but is there a standards body for “We should all be supporting this”? …in the same way that we’ve wanted that in the browser for so long.

Yeah. I think there’s a working group. I don’t think there’s a standards body. Is that right, Zach?

Yeah. I think the WinterCG group was trying to do something around server-rendered JavaScript runtimes…

Server-side conformity. Yeah, as far as I can tell, that group is almost entirely made up of Deno and Cloudflare folks. And maybe that’s changed since I last talked to them… But it’s a start.

Yeah. I mean, I saw some compatibility tables come out from I think maybe some Netlify folks? I don’t know. [unintelligible 00:22:57.21] shared on online recently, with all of the different sort of standards-based features, and which ones are implemented in all of these server JavaScript runtimes… And there are just – I don’t know, it feels like a failure to me that we even have to do that. But I guess I understand that certain things are prioritized, and certain things aren’t.

But yeah, it almost feels like the browser wars are continuing, and that it’s like a repeat of that, but with JavaScript runtimes in the server.

Yeah.

The server wars.

It really is.

It’s not a great look.

Well, on one side is not great, and the other side I do think is spurring some innovation and progress. Some things don’t progress perfectly, but at least they’re moving in a direction. Now, you can move in the wrong direction, but I think stagnation also is not great, you know?

[00:23:50.16] Yeah, and you can definitely see - Node.js seems like they’ve gotten a fire lit under them recently, and they’ve been shipping like crazy, and just adding like ESM, CJS compatibility in Node.js I think is just a huge win. I mean, you’ve got to assume that a lot of that was born from competition, so…

Yeah, I just used Node a couple of weeks back to write a server that was probably like 150 lines of code… And I hadn’t used Node for a few years, and I was like “Oh, it’s nice. This is pretty nice.” It was easy, ESM was cool, async/await’s there… And I just didn’t have much trouble. ChatGPT knew most of the stuff I didn’t know… What did you say, Nick?

TypeScript, right?

I didn’t use a lick of TypeScript… But I had full TypeScript support in my editor. It was doing stuff. Because Zed, probably as well as VS Code, all the new editors just use the TypeScript LSP, and they’re like “Hey, your thing is not right.” So it’s doing stuff, but I’m just writing JavaScript over here. So do you consider me a TypeScript user then, Nick, or no?

Yes, only because you wouldn’t like that. [laughter]

Well, that’s offensive. If I take offense to that.

That’s amazing.

I had only.js files in my code. No .ts.

Yes, .js. Yes to the dress js.

Yes js, no ts. In fact, I would take that sign of yours, Zach, if you just replaced the j with a t. I would adopt it, and have it behind me. “No ts.”

I don’t have a t… Darn it.

Break: [00:25:24.07]

Well, one thing you’ve adopted recently in my eyes - and it’s not new, but it’s newly becoming standard - is like Web Components stuff. I mean, you seem to be all in on Web Components. I know there’s this HTML-first, or HTML Web Components movement, which I talked about a little bit with Brian LaRue a couple of weeks back on the pod… And I’ve seen you publishing – I don’t know whether they’re going to Npm or where they’re going, but you’re like “Here’s a Web Component… And you can use my marquee.” I don’t know if that’s one of them, but you like have things, you have widgets, that you’re just like “Use my marquee element.” Can you talk about that whole side of your life?

[00:28:10.05] Yeah, I mean, I think that at my core, I’m a frontend web developer, so even though I work on Node.js almost exclusively now… But all the websites I build use Web Components, because I really think that is the sort of lowest overhead way to build interactivity on a website, with the least amount of dev tool overhead, and tool chain overhead.

So for me, it’s really the sweet spot of simplicity and longevity. And that’s what I love about Web Components. And I think when it comes to publishing Web Components, anytime I build something with a Web Component, why not publish it, so I can reuse it on all of my 50 websites or what I have… Probably not that many in production now, but… And all of my projects moving forward. And I really try to make my Web Components as design-free as possible. I think a lot of my demos are just like Times New Roman, the default typeface, and just as little CSS in them as possible, because I really want them to be as reusable across as many projects and design systems as possible. And I think the best way to do that is just to have these sort of just structural components that don’t take a strong stance on how it should look, just how it should behave.

What’s some of the stuff that you’ve built and put out there?

Oh, man…

In addition to that awesome marquee element that I told everybody about.

I don’t know if I actually have a marquee –

Oh, I made it up. I just made it up full cloth.

Yeah, you may have –

[laughs] I may have fabricated that one.

…hallucinated that.

Oh, yes. I may have.

That’s what it is, right? I think maybe the most well-known one that I’ve done is is-land, which is like a lazy-loader basically, which is a Web Component that allows you to dynamically initialize or hydrate client-side components; it’s just like islands architecture kind of, but in a framework-independent way. In a server tool-independent way; you can use it on any project.

Just looking at your packages on Npm, you have the most amazing names for things… Squirminal… It’s awesome.

What’s that one? Is it a terminal?

Squirminal sort of animates progressively-rendered content. So it will reveal a character at a time to make it look like you’re typing something…

It almost sounds like a marquee.

And I use that for like a fake live-coding tech talk that I did a few years ago…

Oh, nice.

…where I pretended that I was live coding, but it was all completely tightly controlled…

Was it triggered by key presses?

So I was just like mashing on my keyboard…

Yeah. So you just mash it, and it just comes out prerendered.

Yeah. And I posted a video of my daughter, who was maybe at the time like five, four or five, using this to write code on my computer.

And yeah, it got like hundreds of retweets, because people are like “Wow, she’s an amazing coder.”

[laughs] They fell for it. You should have used that one GIF of the cat doing it; then people would at least not know… But I guess it probably wouldn’t have gone quite as viral.

Yeah, you could find the video of that on my website.

Yeah, share that with us. We’ll put in the notes. What else have you got, Nick?

Yeah, another one - Flex Luthor. That’s awesome.

That’s a good one. Pun king over there.

Yeah, that one was from probably just 10 years ago.

Really?

I don’t know. That’s from a long time ago. But I repackaged it as a custom element, but… Yeah, that’s just like a Flexbox utility.

And another one, Seven Minute Tabs. I love that name.

[00:31:51.25] That reminds me of your old website name. Wasn’t your website like 360Abs, or so? What was it? Tell me what it was.

Yeah, that’s true. What was that…? It was 7-minute tabs, Web 3.0…

Razor Blades? Something about razor blades.

Oh yeah, because the – remember the old commercials about those shaving [unintelligible 00:32:06.16]

Yeah, they just kept adding more and more blades…

More and more blades… Yeah, that was the one.

I think SNL did a mockery of that one time, a fake commercial where they just keep adding more blades until there was like 12, 13… Because it was like Gillette Mach 3, and it had three blades. And then there was like the Mach 4, and it’s like four blades. Then they had five blades. Which I always thought was silly, because one of those gets dull, and you’re just gonna drag it across your face anyways…

No, no, no, more is always better.

[laughs] Good point.

It’s the same with JavaScript toolchains, too.

That’s Moore’s Law.

Yeah, Moore’s Law is always better. Good point, Nick.

Add more transistors…

Yeah, so it was like 360 blades, seven-minute tabs… I don’t know. Just – you’re reusing your puns, is my point.

Six blades, seven-minute tabs, and Web 3.0.

That’s what it was?

I didn’t look it up. I –

It sounds right…

He just memorized it…

The order might be different, but… Yeah, that sounds right.

Nick, grabbed that out of his journal. He used to write about it.

In your diary? “Dear Dev Diary…”

“Zach has the greatest tagline. I wish it was mine.”

[laughs]

But that does kind of just go back to like the minimalist, like, I don’t know, aspect of my life.

You were mocking web 3.0 components before it was cool.

Yeah, that was like 2007 that I started that website.

This was not during the web 3 movement. This was during the web 2.0 movement, that you decided to increment that sucker.

That’s why that name became irrelevant, because someone actually decided that web 3.0 was something that they wanted to use…

Well, on an infinite time span, I think all satire becomes true, doesn’t it? I mean, this is what’s happening… It’s literally happening this week, as Google’s new AI-based summaries can’t seem to determine what is and what is not satire, and is giving satirical answers to real questions…

Who could have predicted this…?

It’s predictable, and yet it’s unbelievable that they would ship that product. This is their flagship – this is their… What’s that called, the cow that makes all the money? This is their cash cow. This is Google search. It’s so embarrassing! Anyways, I could go on… But I have to go eat one of my daily rocks, which was one of their suggestions for healthy lifestyles, to eat one rock a day… [laughs]

Don’t forget to put glue on your pizza. That’s also a very tasty ingredient. I mean, some glue is edible, right? Yeah, Elmer’s Glue… I feel like that’s very on-brand for the level of AI that we’re operating at right now.

You can eat some Elmer’s Glue.

Well, we all ate a little bit of probably rubber cement in kindergarten, didn’t we? Because it just looked so tasty. I mean, how could you not, Nick?

That’s explains a lot…

I assume that’s how you got here…

I don’t think everyone’s on board with that. [laughter]

Don’t publish this transcript, because if it gets slurped up into the machine, it’s going to become standard advice for kindergarteners.

The great Jerod Santo glue policy.

Yeah…

That’s the only path forward with AI, right? We need to *bleep* post more, so that the AI models are trained on terrible – I mean, there’s plenty of *bleep* posts already out there, so maybe we just don’t even need to worry about it.

Yeah, plenty to eat up. Well, the Stack Overflow users are doing that as a way of revolting against recent content deals, is they’re actually going back and changing their answers to be wrong, which will end exactly the way that we think it’s going to, I believe…

Zach, are you using AI in some way, during your day?

I am not. No, not at all.

Yeah. I have not found a thing that I think would help me be productive in a way that I felt like had long-term benefit for me… Not to say that I won’t at some point, but… Yeah, I have never really even got into GitHub Copilot back when it shipped years ago, so… I don’t know. I’m a late adopter.

Yeah, he’s a late adopter. That’s fair.

[00:35:56.07] Yeah. How about from a maintainer side? For 11ty, is it in the back of your mind to somehow optimize things in a way that an LLM could better help other people discover 11ty, work with 11ty, give advice on properly doing things? Like, not shipping JavaScript, or you know…

Yeah, I honestly don’t know. I don’t know what that would look I feel like. It might have a space in like diagnosing issues, or at least providing help for folks that are trying to diagnose issues… And I know the Astra folks have shipped some LLM stuff on their docs, and… I haven’t used it personally, but I think that there’s space for LLMs. I think that, I don’t know, the current ecosystem around it just feels very data-slurpy, in a way that I’m not really on board with. I think that the only path forward for how I would use it maybe it’s just local models on my own machine… Because I don’t think that I would want to just arbitrarily send a bunch of data to Open AI, or any of these other third party services… Because who knows how they’re using it, and I don’t think there’s enough data governance around how that data is being utilized.

For sure.

Like, I did my taxes this year, and there was a button to sort of send “Diagnose my return”, and immediately, privacy warning bells are going off in my brain… Like, “Is this optional? Is this already happening? Are my tax returns being fed to Open AI? What is going on right now?” And I think there’s a lot of sort of underhandedness in those relationships right now that I’m not comfortable with. But…

Well, you’re definitely getting audited this year… [laughter]

Yes. We’re feeding this right in, and they’re gonna be after you, for sure.

But that is like an interesting thing… You don’t have to use these AI technologies directly… But it’s almost like the modern SEO. And somebody who’s new to 11ty couldn’t have Copilot installed, or whatever, or be asking ChatGPT these questions, and it could make or break their experience with 11ty just based on what ChatGPT is responding with. And how do you optimize for that? It’s almost like putting a lot of faith into these models, to not just like tank you from a marketing perspective.

Misrepresent.

Yeah, that’s a fascinating point that I hadn’t really thought about… Like, what’s the user experience of someone that’s trying 11ty, they hit a problem, and then they ask ChatGPT what the problem was, and if ChatGPT gives them a bad answer, that’s completely out of my control.

Yeah.

Yeah, that’s even worse… Now I feel much worse about it.

And you can’t opt out of that situation. On a personal level, for now - and it’s still iffy - you can kind of unplug from the grid, so to speak, and just opt out of a lot… Even though there’s stuff that you don’t have a choice. Like maybe your tax returns, who knows. But as a tool provider, in a world where everybody is increasingly using these, you can’t opt out of that. They are going to ask ChatGPT about your tool, just like they were going to google search for a tool prior… And you want to be well represented in that circumstance. We’ve talked about this a couple times with Jose Valim about Elixir, because I write a lot of Elixir code, and I have been using these tools… And while they are very good at TypeScript, from my perspective (how would I know…? I suck at TypeScript). But they’re bad at Elixir. And so I asked Jose, I’m like “Hey, just because it’s a smaller language, way less examples…” The docs are good, so if you ask very common things… But just the sample code available to the tooling is just not great… And so they will just routinely, both on the Google and the Open AI side, just give me code that’s not going to work. And so I end up being like “Why am I going to use this tool? It’s wrong so many times.” But that’s just Elixir land. Go to a different land… Nick, you’re using a lot for TypeScript… It’s probably right 9 out of 10 times? Eight? Seven? Where are you at?

[00:39:56.25] Yeah, seven, probably… But a lot of the stuff that I’ve been doing with like ASTs, and doing that - like, that’s a very vast, verbose API to be able to tokenize your TypeScript… And it’s fantastic at that. Which makes it a lot easier to actually do that. Whereas if I couldn’t just ask very context-specific questions, I would be doing a lot less with that, for sure.

Right.

That’s kind of what got me thinking - you know, a new user coming in, and they’re like “I want to do this thing with [unintelligible 00:40:24.19] And make this thing”, and it’s giving them completely wrong stuff… At some point, they give up on that, and if they don’t find the content on their own, then they consider it. Like, it could be bad. But also, I think at least right now, more times than not, especially probably for tech people, they’re probably like “The LLM is just wrong, and it’s dumb”, and they give the benefit of the doubt to the tool, rather than the LLM. When does that change?

Certainly, something to be considering as a maintainer. Something that you probably won’t be able to opt out of is like “How does 11ty represent inside of Copilot and other code gen tools?”, so that people who want to use your tool can have success right away, versus not.

There’s no way to solve that problem…

Yeah, I mean, I think currently the – well, there are ways to solve it, similar to what Astro is doing, right? So they’re like “Hey, come use our tool, because we went ahead and provided all the embeddings, and did the RAG, and we made it so that it knows Astro really well.”

Yeah, but you need discoverability before –

Yeah, discoverability is an issue… So I think there you start to – and it’s still early days, but you start to see like what plays out. Like, is ChatGPT THE tool? And then you have to have a ChatGPT plugin that basically uses your version of ChatGPT… So when someone says “Hey, how do I do this thing in 11ty?”, instead of using its default codebase or data source, it’s like “I have an 11ty plugin. Would you like to use that?” And they say yes. And now that one’s way better than it would be on its own. For instance. I’m not saying that’s the move. But I think that might become something where eventually it’s worth investing in that kind of a thing. I think right now I would just make sure your do s are awesome, and keep publishing example code, and that kind of thing… And that’s the best you can do today.

Yeah, that is a problem… [laughter]

Welcome to the new world… Yeah, lots of problems.

I’m gonna lose some sleep on that. Thanks, Nick…

Ahh…

[laughs]

No, it’s fine. Yeah, I don’t know what the best solution is there… Because it is sort of like a Google search problem, right?

It is.

Google changes their algorithm, and then we need to adapt to serve people using Google. And so once a tool hits a certain level of popularity, it’s almost like you have no choice but to adapt and survive.

It’s like how on YouTube everybody has their face really big, with open mouths…

Right.

And that’s to appease the algorithm. You just have to figure out what that is for ChatGPT or for Copilot, and just have that.

And every video is either less than 60 seconds, so it can go vertical, or exactly 10 minutes, because the algorithm likes 10-minute videos, or whatever. And so you watch a three-minute video that lasts 10 minutes, and you can just see the creator just fluffing in there, and you’re like “Okay, get to the point…” And they’re just appeasing the algorithm. It’s disgusting. But it’s life.

It’s the same thing with – I know y’all are big on recipe websites, finding your recipe, how to cook stuff online…

Oh, yeah, yeah…

They’ll give you like your whole life story before they give you how to make the thing you’re trying to find… And that’s all just SEO-based stuff, I think…

It’s just to get more words out there, yeah.

Yeah. Can’t we just make content for people? [laughs]

This is why I didn’t bring up LLMs to Zach. I knew we were gonna get depressed, dude.

I mean, I don’t know… To me, the whole point comes back to “Do we want to make content for algorithms and computers to slurp up, or do we want to make genuine connections with people, and grow community that way?” And to me, there’s just so much better return on investment trying to make connections directly with people, rather than worrying about how your page ranks on Google, or… I know it’s important to at least think about it a little bit, but… Yeah, I would rather make connections with people online, so you can grow community that way… And the fragmentation of social media is making that very hard now, but…

[00:44:18.12] Yeah… We take a similar perspective with our podcasts. I think we could be a lot more baity and trendy… And there’s a lot we could do. We see other people doing it to just get more ears, more eyes, and do that deal. But at the end of the day, we want to have awesome conversations, that are truly valuable, and build a listenership of people who are community-oriented and like-minded. So we have a deeper connection with a smaller amount of people, versus a shallower connection with a much larger amount of people.

And of course, we look over at like the views that YouTube gets, and the views that are happening over at TikTok, and we’re like “Oh, man… Look at that audience. It’s huge.” And it’s like, how connected and real is that to that creator? Some have the best of both worlds. They go very deep with a lot of people… Good for them. That’s amazing. But other people have to compromise the kind of content they would create in order to do that, and I think that’s where you end up ultimately missing the mark. So we definitely have similar spirits on that side, Zach.

Let’s get back to these web components, because I was having fun, man…. Nick, read us some more. What else does he have?

Let’s see…

Flex Luthor, we had the Superman phase… We had his –

7-minute tabs… I’m trying to only pick out the funny ones…

That’s from – by the way, seven-minute tabs, that is a take on something about Mary’s seven-minute abs… Which was better than eight-minute abs. He was convinced –

It might have been that reference, yeah…

I mean, that’s where originally I assume it was from, because - I can’t remember who it was. I think he in the car scene on Something About Mary… That’s right. There’s a hitchhiker scene, and he’s hitchhiking… And he picks up this guy who’s convinced that he’s gonna become rich by creating a workout program called seven-minute abs…

[00:46:03.21]

“Seven-minute abs…”

…because he’s gonna undercut the eight-minute abs, which was the very popular workout program of the day.

[00:46:11.13]

“And we guarantee just [unintelligible 00:46:11.26]

And he was gonna have seven-minute abs. And I think it was Ben Stiller who was like “Well, why don’t you just do a six-minute abs?” And the guy’s like “You can’t get a workout in six minutes… That’s ridiculous.” [laughter]

You can’t have a virtual DOM in 120k… That’s ridiculous.

Exactly. So there you go. Filling in that reference… And stalling for Nick, who’s now going to read us the next one…

Snowfall… [laughs]

What’s that?

A web component to add snow to your website.

Okay, also a James Bond movie, right?

Skyfall.

Ohh…! That might not even be a pun. That’s a literal naming. Probably your worst name, Zach, no offense…

No, I mean, that one isn’t even really my component. That’s sort of repackaged up from a CodePen. So I wanted snow on my website, and there was a CodePen that did it, and I made it a web component. I think there’s this huge market for things that exist like that… People have published code that is worthwhile, and great online, it’s just not packaged up in a reusable way. Yeah, I mean, CodePen should allow folks to publish their stuff as web components. That would be amazing.

That’s a cool idea. So imagine that I’m Joe Developer, and I have a website. It’s generated with Astro. And I was like “I want snowfall”, and I don’t want to go to CodePen and copy-paste the function. I want Zach’s web component in my Astro site. What do I do? Like, what are my steps?

Yeah, I mean, you can install it directly from Npm…

Npm install snowfall.

Yeah. I think it’s scoped under my name, but… I don’t know, it’s not even my code, but yeah.

Then what do I do?

Then you import it and use it. It’s a custom element. You can use it anywhere. Anywhere HTML is served. All you need is the JavaScript bundle, the JavaScript file imported into your bundle, and that’s kind of it. You just put the custom element on your page, and you’re good to go.

And what happens with that element if there’s no Node.js?

No snow. No fun.

That’s it.

Let’s go back to one that’s not trivial.

Excuse me…? Excuse me. I am just taking offense –

[00:48:15.16] No offense. [laughs] Well, no snow is fine, right? My user experience is –

Oh, you mean the degraded experiences…

Yeah, exactly. So let’s say I import a web component that’s like a calendar widget. I’m sure there’s something like that. Maybe you didn’t create it, but there’s probably a calendar widget. And I do all the same stuff…

Yeah, there’s a great calendar web component that just came out.

Oh, is there?

It was called Cally, from Wicky Nilliams… Nicky Williams, probably, on Twitter…

Okay. Cool.

Yeah, you can check that one out. It’s amazing.

Send us the link, we’ll put it in there. Cali, like California, perhaps…

There you go. So it’s a calendar widget. So let’s assume I npm-install that sucker, and I do all the stuff that it tells me to do, and then JavaScript doesn’t run. Does my website break? Does the calendar just not show up? How does it work?

I mean, if I were to create my own calendar component, I would progressively-enhance from an input type date. So when JavaScript isn’t available, then it would fall back to the built-in date picker component. Obviously, it’s not gonna work quite as good, because I think this one has like input type ranges, and you could select like a range of dates, and a bunch of different extra features on top… But yeah, I think – there’s always sort of this progressive enhancement idea that you need to think about, and how it’s going to work… Not just without JavaScript, but before JavaScript renders. I feel like there’s this whole class of tools right now that basically rely on JavaScript to run first. And a lot of those tool chains are set up such that they assume that JavaScript – not just that JavaScript’s going to be available, but it’s gonna run in your critical path, and be available before even the content is rendered… Which I think is a mistake to make, because you can get a whole bunch of extra performance by doing HTML-rendered things, and using JavaScript to enhance what is already rendered on the screen.

And there’s some drawbacks, of course, when it comes to content shift, and things like that, but… Yeah, it’s just – I think every component needs to be sort of evaluated independently, right? I think the classic example is that sort of image comparison component. We’ve done a ton of different examples of this in Webc. How do you build an image comparison component, and what are all of the different progressive enhancement strategies that you can take? So the component where you have a slider, and you can drag back and forth, compare a left and a right image, and see how they’re different.

And so yeah, on the Webc docs you can go out and see… There’s like seven different examples of how to progressively-enhance this type of component. And yeah, there’s a bunch of different ones. We have one that works without JavaScript, and that uses the :has selector and checkboxes, which is maybe not the most accessible thing… That’s the other sort of aspect of this entire discussion, is that your no JavaScript experience might not be as accessible as your enhanced JavaScript experience. So there’s a bunch of different variables to take into account… Component development is not easy or solved by any means.

For some, that might be paralyzing anything, don’t you think?

Yes, absolutely. It’s the curse of knowledge, right? The more you learn, the more complicated a solution gets. But it’s also part of our jobs as professionals to try and learn as much as we can about things that can impact the user experience. And that is maybe the hard part of having a lot of these tooling discussions, is that almost all of the discussion that we have is around the developer experience, and the user experience is often left to be desired… Or it’s not even discussed, in a lot of these avenues.

[00:52:06.06] I don’t know, I care a lot more about the user experience than the developer experience, if I had to choose one. I know you don’t have to, but I think it’s much more fascinating to think about these progressive enhancement strategies and how these components work in terms of how they affect users, rather than… Yeah, what’s the best way to put it in my project.

Well, I think the nice thing about knowledge sharing is our ability to pass down the knowledge, but also to pass down the tooling. So you know a lot more about this stuff than I do. Maybe Nick is on your same level, but… I can at least Npm-install your web components, and use them at first, but then eventually, you always have to kind of look under the covers, I find, over time… How is this thing working? How can I adjust it? How can I change it? And you learn and see the way that people who have thought deeply about the subjects build their components, and you can start to build yours the same way and realize “Oh, here’s an accessibility concern that’s been accounted for here. I didn’t even know that was a thing, now I know about it.” So you start off as a script kiddie, so to speak. I’m just downloading someone else’s script and using it, which is where 99% of us start in this world… And then eventually, you’re like “Oh, I can read this script now.” And then you’re like “Oh, I can write my own script.” And I’ve learned, hopefully, from people who know what they’re doing, how to do it well, or at least what to think about when building, and we can pass down the knowledge in that way as well.

So I guess for me that’s heartening, because otherwise it’s like those who know and those who don’t know, and how do we transfer that to everybody, so that there’s not just this elite class that builds great user experiences, and then the rest of us just [unintelligible 00:53:40.04] spaghetti around everywhere.

But with a great developer experience, potentially… And I think that that’s just like a failure of the tooling, that you have to pick one or the other. But I think that projects like 11ty, and like Astro, for example, are kind of bridging that, and making it a lot easier to write in the style that you want to write… But at the end of the day you just ship – my site, for example, has zero JavaScript, except for on one page where it needs it, and that’s it.

It’s all TypeScript?

[laughs] No. Yes, but no.

[laughs]

Yeah, it ships nothing, and that makes it really easy, both from a developer experience side, but also - like, I get the benefits of the user experience as well.

Yeah. And that’s not even to say – I mean, there’s a couple of different things there. I think that a lot of tools for many years required you to have a JavaScript bundle. They gave you a JavaScript bundle by mechanism of how the tool was designed, and the assumptions that they built into the tool. And a lot of those were single-page application-focused-first tools. And I think the sort of misstep that was taken from a larger engineering perspective into these tools is that you really only need HTML and CSS to build an attractive and well-looking and well-operating website. Not every website needs extra interactivity beyond links. And so it almost became a failure of you’re starting with this baseline, and someone else decided that the baseline should be much higher than it needs to be. And then a bunch of folks felt sort of left out by those assumptions that went into the tools that were made. And it’s great to see some more competition in the space, that exists to satisfy these folks that were left out. Because I really think that this is a huge – this is a great time for web developers right now, because we can build things how we want to build them, and it doesn’t need to sacrifice – just like you said, it doesn’t need to sacrifice the user experience. And yeah, I love to see zero JavaScript bundle by default tools succeed.

Break: [00:55:46.25]

Let’s switch gears quickly before we let you go, and talk about 11ty Conf. This was a big endeavor of yours over the last few months… It seemed like it was quite a hit. Of course, it had the Zach Leatherman thoughtfulness applied, and having run multiple conferences with you, I know how much you put into these things… You published a really cool retrospective, which we will link to. I think this is great for anybody who’s running events online, or considering it… You have analytics, you have your budget very public there… Tell us about it, and what you think went really well, and then we maybe we’ll talk about what you might do next time, or do differently… Not the full deep-dive, because people can read the blog post, but just to give us a taste.

Yeah, I mean, I think the conference was not my idea. It was not originally something that I wanted to do… Just because – it’s almost like the curse of knowledge that we just talked about. I know what goes into organizing your conference, and I know how much work it takes… And I couldn’t have done that as sort of a side project thing. That was something that CloudCannon thought it would be a great thing for me to do. And that was their idea, and they pushed for it, and - yeah, they gave me a ton of work time to do it, and that was a great arrangement. That was sort of a big gift to the 11ty project too, because we got a ton of momentum coming off of that. And it was pretty successful. I think we had 2,000 folks register for the conference, and I think we peaked at like 400 livestream simultaneous viewers… And yeah, it was amazing.

I think in a time where I was also just very reluctant to do online conferences, just generally, because I’ve had experiences as a speaker during the pandemic, where you’re just sort of speaking to this empty room, and you don’t get any feedback, and that’s not the best speaking experience by any means… And so I think for this style of project, where it’s just like a global open source project, where we don’t have a huge budget to run a conference, online makes the most sense. And it’s also the most accessible for anyone to visit.

Now moving forward, if we had unlimited money at some point, we might do an in-person conference, and then try and augment with online simultaneously… But - I mean, just to get the most people involved that you can, it really to me makes sense to have it online… Which I did not agree with originally. I don’t know, I maybe went off on a tangent there, but…

It’s all good.

Yeah, the conference I think went really great. I was delighted by it. We sort of used just streaming tools that have already sort of become very professional, to serve all of these people that are streaming content online now. We used StreamYard… And that was great for the conference. And we had just back to back, like six or seven hours’ worth of content, with very few breaks. We had a live captioner from White Coat Captioning, and they were great, and the captions went directly to YouTube, so you could basically have live-streamed, accurate captions, that understood all of the like the brand names that we were saying, and had a much higher rate of accuracy than auto-generated captions would. So yeah, I was delighted by it. I was really happy with the conference, I was really happy with how it went.

Are you gonna do it again? Or was that a CloudCannon sponsored one-time thing?

I think we’ll do it again. We have sort of all of the tools, and a bunch of the decisions made already… So we’ll probably repeat it next year. What that will look like next year, I don’t know yet. But yeah, I think we’ll absolutely do it. One of the maybe more unique things that we did for the conference is that we sold swag, instead of gave it away… And so I had to – I basically set up shop in my house, and was packing swag bags for everyone that wanted to buy swag, because I thought if people want swag, they can pay for it. And if people don’t want swag, then great. You don’t have to… Because I feel like people get swag and they just don’t ever do anything with it. It happens a lot with conferences.

[01:03:55.19] Right. I think especially at a virtual event… I don’t really know if swag is assumed, or usually part of virtual events. I think in a real life event it’d be weird to – I mean, when you go to a concert, you can go and buy some merch, if you’re that into it. I know how you feel, because we had a fulfillment company for our Changelog merch for years… And they were charging us a reasonable fee, but it was a monthly fee, regardless of how much we shipped out. And a lot of it is because they’re actually holding warehouse space for us. And it just got to be too expensive for what we were doing, and so I took Changelog merch in-house… And so like my house now has all of our inventory in it. And when people order stuff, I pack it up and ship it out, kind of grassroots style… Which I think is fun. It’s also obviously more of a chore than it is like progress… But I’m sure that was a big endeavor. Did you get the whole family involved? Did you call Nick over? How did you get everything shipped out on time?

Yeah, I mean, we – yeah, I’ve two kids, and a partner, and we all chipped in and helped him fill the swag bags, and sent them out. I think that was the best way to do it, honestly, because we were able to give free shipping to our Open Collective supporters… And we did charge I think $40 for the bundle, but it was all stickers, it was shirts, and we had like a special I think bonus hologram sticker for Open Collective supporters, too.

That’s cool.

There’s a ton of extra little touches that went into it, that I don’t think we could have done with like a white glove service.

Right.

So yeah, I was happy with that, too. And I’ll probably do that again next year. It’s just there’s not – once you have all of these decisions made, there’s not much upkeep to it.

Right. The first time is the hardest, because you have to put all that work in… But progressively less work each year. Is there anything you’d do dramatically different next year?

We would have communicated to more folks about sponsorship.

[laughs] There you go.

I don’t think I sent out any sponsor emails, or just like passively, “People want to sponsor. That’s great.” And we got, I guess – we got a couple of sponsors, but I think we could have gotten more participation if I had cold-emailed some folks out… But yeah, that’s maybe what I’ll try and do differently next time. Because it would be also great to have that be a fundraising push for the open source project, too. But we did end up losing a couple grand on the conference, but… I think it was money well spent, because it builds just a ton of project momentum. And yeah, I think it that momentum definitely paid off in terms of our fundraising efforts in the last week.

Well, I thought you were gonna say “Next year I’ll probably do it at a zoo.”

[laughs]

I have to buy a zoo first, like Matt Damon…

There you go.

Yeah, we did do our conference at the zoo, and that was amazing…

Twice.

Twice, baby.

Yeah, that was awesome.

We did it at a zoo, we did it at a train station, we did it at a cathedral… Is that what you call that place, a cathedral? Perhaps…

Temple.

What was the other location? What am I forgetting?

The place downtown. The glass place, the –

Holland Performing Arts Center.

Yeah, that’s it.

Oh, yes, at the Holland Performing Arts Center.

It was a space theme, which made sense.

An orchestra theatre. Yeah, that’s right…

That was the fancier one, I think.

That was fancy. You know, like, park special places, and stuff. The magic-themed one at the - I think was an Irish cathedral.

Scottish.

Scottish. The Scottish Rite. Yes. So it wasn’t a cathedral with like a big steeple and stuff… Or was there? I don’t remember. There was definitely an actively working religious worship there. But I don’t remember if it was a cathedral, or what that actually required for a building to be called a cathedral, but… Let’s just call it that.

I don’t think it was religious space. I think it was one of those –

Oh, like a mason?

Yeah. [laughs]

Okay, maybe it was like a Masons Lodge. Okay.

Yeah. I didn’t say culty. Take that out.

[01:08:03.09] [laughs] I was gonna say, that might also be religious-based. I don’t know. Anyways, we are out over our skis here… Closing that – well, first of all, Nick, do you have any directions besides the terrible direction you took the conversation earlier, that we all got super-depressed about? Do you have any other directions you want to go ahead with Zach before we wrap this?

Oh, man… How much time do we have? Because I can bring up Tailwind, and…

[laughs] Well, if we want to hop on some rage bait, we could get Zach to drop some hot takes on us, and then we could really get the listens…

You could title this episode “Top 10 reasons why I will never use Tailwind”, and then we’ll just never talk about it. [laughter]

Don’t tempt us.

I’m fine with that. Go ahead.

I don’t know, you’re an alum of NebraskaJS, and a few weeks ago we talked about Tailwind at NebraskaJS… Also, just randomly - I haven’t updated the NebraskaJS website since before the pandemic. But I assume that that is a pre11ty 11ty that it’s built on. Is that accurate?

Oh, that’s a good question. I don’t know, that might be Jekyll.

No. It’s JavaScript, I think.

Homebrew, custom?

I’ll have to look, but I think it is hosted on Netlify now, isn’t it?

What if it’s like a primordial version of 11ty in there? That’d be kind of a cool architectural history lesson.

Yeah.

It’s not a homegrown script. Is it?

I think it is.

No way…

Well, let’s look at the source code while we’re all here. Let’s find out. Let’s get to the bottom of this. If you want to see what 11ty looked like before 11ty…

Gemfile. Gemfile…!

Gemfile. Oh, it’s Jekyll.

Oh, really? Am I wrong?

Jekyll…

Come on, Nick. Do your research.

It does have a grunt file in it, though.

There’s a Grunt file in there, okay… So there’s some JavaScript…

I think that’s just static assets.

I just don’t see gemfiles… [laughs]

Yeah, it’s Jekyll.

Oh, well… That was an opportunity at amazing history, and it turns out to just be a gemfile. Oh, well… I’m glad we did of this.

I mean, I can spelunk, I think, and find maybe the earliest 11ty project for you if you’re interested, but… That’s probably 2017, early 2017.

Alright, let’s loop back to the beginning… Zach needs your help to make 11ty fully independent and sustainable in 2024. That’s the name of the blog post. Zach, for those listening, maybe 11ty users, maybe just web dev community folks… Like, how can we help you? What’s the best way to get involved?

Yeah, I mean, I think the big thing right now is to - if you are already in the 11ty community, and you get benefit out of 11ty and 11ty helps you build your websites and projects, and helps you in your everyday development, then hit us with a recurring contribution on our Open Collective, or our GitHub Sponsors. We’re trying to get to 6,000 recurring monthly. That’s sort of the goal. And yeah, I think once we get there, we’ll be in a great spot. And all of our funding is open. So you can check out our Open Collective if you’re curious about how we’re using the funds moving forward, and I’m always available for questions.

So yeah, hit me up on - Mastodon is probably the best way to reach me, but I’m on all of the other social media platforms. I may not want to be on all of the other social media platforms, but I am on all of the other ones. So yeah, just hit me up if you have questions. And I think the other thing, if you’re not already part of the 11ty community - just try it out. Just experiment with it. If it goes well, great. Tell me about it. And if it doesn’t go well, also tell me about it, because I want to know.

What’s the best way? Is it just vanilla 11ty? Or would it be to try one of the – what do you call them, like starter kits, or…?

Yeah, you can try a starter project. I really just am a firm believer of starting from scratch, and building from scratch, and knowing every single piece that goes into the project, so you can understand the entirety of what you’re building, and understand all of the different pieces that go into it. Because that’s the best way to maintain a project for 10 years.

You sound like a Vim user.

Yeah, I mean, we’re gonna hit the 10-year mark, where folks have been using 11ty for 10 years. It’s already on year seven right now, so… Maybe almost eight. So there’s a certain long-term investment that goes into the project, that I think will pay off if you put time into it. So… It’s great.

Very cool. Well, all the links to all the things are in your show notes. You already know that, because I say it all the time… We will hopefully get from Zach the video of his daughter, who is better at typing than you are, Nick…

True… [laughs]

And check out the blog posts, support 11ty and independent open source creators. I mean, let’s talk about those people, that one guy in Nebraska - not Iowa, but in Nebraska - who’s holding up the internet’s infrastructure with his open source project. It’s not Zach, he’s in Iowa, but it’s a guy a lot like Zach, or a gal, who knows… We need to support these folks, and Zach is certainly one of them. So check that stuff out.

Thank you for listening… On behalf of Nick Nisi and Zach Leatherman, I’m Jerod, and this is JS Party. We’re gonna talk to you all on the next one.

Keep building for the web!

There you go.

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. 💚

Player art
  0:00 / 0:00