skip to content
Podcast cover art for This Dot Labs with Tracy Lee and Dustin Goodman
Podcast

This Dot Labs with Tracy Lee and Dustin Goodman

Tracy Lee and Dustin Goodman of This Dot Labs discuss open source starter kits, framework comparison tools, Web3 education, and the future of JavaScript frameworks.

Open .md

Episode Description

Tracy Lee and Dustin Goodman of This Dot Labs discuss their open source starter kits, framework comparison tools, Web3 education initiatives, and the future of JavaScript frameworks.

Episode Summary

Tracy Lee (CEO) and Dustin Goodman (engineering manager) from This Dot Labs join the show to discuss how their consultancy balances client work with open source contributions. They introduce Starter.dev, a project born from the frustration of repeatedly scaffolding new projects, which ships preconfigured starter kits complete with linting, testing, and a GitHub clone showcase app demonstrating real-world architectural patterns. They also highlight Framework.dev, an Astro-built comparison tool that lets developers evaluate libraries and frameworks side by side, though the hosts raise valid concerns about the transparency of its "overall health" metric. The conversation shifts to This Dot's work with Chainlink on Web3 educational resources, including blockchain onboarding sites and a forthcoming DApp tutorial built on Solana, with a strong emphasis on teaching security best practices in a space rife with scams. The group also explores how This Dot provides training for companies transitioning between frameworks, particularly helping teams avoid forcing old paradigms onto new tools. The episode wraps with predictions about JavaScript's future, touching on the full-circle return to server-side rendering through tools like Remix and Next.js, Vue's growing integration with backend frameworks, and the emergence of framework-agnostic libraries like TanStack that may reshape how developers choose their tools.

Chapters

00:00:00 - Introductions and This Dot Labs Overview

The episode opens with casual pre-show banter about Remix stacks before the hosts formally welcome Tracy Lee and Dustin Goodman from This Dot Labs. Tracy introduces herself as the company's CEO, highlighting her involvement with the RxJS core team, her Angular GDE status, and her recent recognition as a GitHub Star. Dustin describes his role as engineering manager and his leadership of the company's open source initiatives.

Anthony asks how open source work fits within a consultancy model, and Tracy explains that building products and contributing to open source is a common aspiration for agencies. She notes that This Dot gives developers dedicated time for community contributions and has recently launched dedicated open source projects alongside their regular consulting and community event work around GraphQL, Angular, and React.

00:03:00 - Starter.dev and the GitHub Clone Showcase

Dustin explains how Starter.dev originated from an architect who was tired of repeatedly scaffolding Next.js projects and wished he could simply run a single command to generate a fully configured setup. Tracy notes that the project's timing nearly coincided with Remix's own stacks launch. Christopher highlights how these starter kits benefit beginners who struggle to assemble proper linting, testing, and project structure on their own.

The discussion moves into the showcase feature, where each starter kit ships with a deployed GitHub clone app demonstrating real-world patterns like dynamic nested routing, OAuth integration, and code viewing with Prism.js. Dustin explains how the project grew out of a partnership with the Angular team and Minko to build a GitHub clone highlighting Angular 13 best practices, which they then replicated across other frameworks to go beyond simple to-do app demos.

00:07:06 - Framework.dev and Data Transparency

A brief tangent about the confusing naming overlap between Prisma (the ORM) and Prism.js leads into a broader discussion of GraphQL history, including how Prisma evolved from its origins as Graphcool. Tracy then pivots to Framework.dev, an open source comparison tool that lets developers search and compare libraries across ecosystems, including metrics like testing coverage, weekly downloads, and GitHub stars.

Anthony raises a critical point about the site's "overall health" metric, questioning its transparency since the underlying calculation isn't clearly documented. Dustin acknowledges the metric is sourced from a third-party aggregation of issue counts, recent commits, and test failures, and Tracy agrees they should add tooltips explaining the methodology. The exchange underscores the importance of communicating data honestly in developer tooling.

00:13:37 - Building Framework.dev with Astro and Agency Dynamics

The team discusses the technical decisions behind Framework.dev, including the choice to build it with Astro during its early alpha phase and the migration difficulties they've encountered with Vanilla Extract CSS compatibility. Tracy reflects on the common developer temptation to adopt bleeding-edge tools, noting the tension between excitement over new technology and the practical wisdom of choosing stable foundations.

Christopher shifts the conversation to agency dynamics, asking whether This Dot started with traditional CMS frameworks before moving to JavaScript. Tracy explains the company was founded in 2016 with a focus on modern web technologies from day one, rooted in the founders' passion for community and frameworks like Angular, React, and Vue. She describes how clients typically seek help migrating between technologies, implementing best practices, or accelerating project velocity.

00:18:01 - Open Source Funding and Web3 Education

Dustin highlights notable client projects, including work with Cloudinary on Media Jams and contributing to the React documentation's component library. Christopher raises the broader question of how open source development gets funded, whether through corporate sponsorship, agency partnerships, or volunteer efforts. Tracy shares the RxJS core team's struggles with monetization and contrasts it with projects like Node that benefit from corporate sponsors like IBM and Red Hat.

The conversation then turns to This Dot's Web3 initiatives with Chainlink, where they've built educational resources including blockchain.education and Smart Contract Database, a comparison tool modeled after Framework.dev but for the blockchain ecosystem. Dustin describes an in-progress DApp tutorial that shifted from Terra to Solana following Terra's stability issues, emphasizing the team's commitment to teaching secure development practices.

00:25:47 - Web3 Security Challenges and Developer Training

Anthony and Tracy discuss the prevalence of scams in the Web3 space, from fake NFT airdrops to phishing schemes targeting people who publicly discuss cryptocurrency losses. The group emphasizes why trustworthy educational resources are critical in an ecosystem where searching for help can lead developers to malicious actors trying to steal private keys.

Christopher then asks about This Dot's training services, and Tracy explains how they help companies transitioning between frameworks, such as moving Angular teams to React while avoiding the common pitfall of forcing old patterns onto new tools. Their training model goes beyond traditional workshops to include embedded pair programming and participation in team planning sessions, helping developers find the right path for their specific technology adoption.

00:29:57 - Predictions for the Future of JavaScript

The final segment features predictions about where JavaScript is heading. Tracy believes Angular will persist and notes growing developer enthusiasm for Svelte and Solid, while affirming React's dominance as an ecosystem. Dustin highlights Vue's strategic advantage through Laravel integration and predicts that backend framework communities will increasingly adopt frontend JavaScript tools, with Next, Nuxt, and Remix competing as the leading full-stack solutions.

Christopher introduces an interesting thesis about TanStack's framework-agnostic approach potentially eroding React's dominance, since libraries like TanStack Query and Table now support Vue, Solid, and Svelte alongside React. The group closes with Tracy and Dustin sharing their social handles, mentioning that This Dot Labs is hiring for remote positions globally, and expressing their Web3 curiosity. The episode ends at 00:37:31.

Transcript

00:00:00 - Dustin Goodman

We were literally just figuring out our Remix stack. The day they announced stacks, I was like, we were a step ahead of them, I thought.

00:00:05 - Anthony Campolo

Did you end up having a similar stack to one of the stacks they had?

00:00:08 - Dustin Goodman

We could talk about it, but our stack is, I think, a little more interesting. We add more linting as well as testing and some of the things they don't give you out of the box with their stacks.

00:00:19 - Anthony Campolo

They'll give you just the basics.

00:00:20 - Dustin Goodman

They give you Jest, but they don't give you some standard defaults for other elements we found. There was no linting whatsoever, or their linting rules felt a little, what we thought were, ass-backwards.

So we actually backed it up and were like, oh, well, let's go configure these linters and these configurations and make them work. But we're definitely using the Grunge Stack deployment strategy because it was the only one that kind of worked for us. We do Amplify for all our deployment, and they don't have any SSR support. So Remix, Nuxt, none of that works right now. Neither does Next 12, which is really sad.

00:00:49 - Anthony Campolo

Is the Grunge Stack the one on Fly or the one on Architect?

00:00:52 - Dustin Goodman

The one on Architect?

00:00:53 - Anthony Campolo

We'll definitely speak about that.

00:00:55 - Christopher Burns

Do you want to introduce, Anthony?

00:00:56 - Anthony Campolo

Yeah. Tracy Lee and Dustin Goodman, welcome to the show.

00:01:11 - Tracy Lee

Thanks for having us.

00:01:12 - Dustin Goodman

Excited to be here.

00:01:12 - Anthony Campolo

Why don't you let our listeners know who you are and what you do?

00:01:16 - Tracy Lee

Sure. My name is Tracy. I am the CEO of a company called This Dot Labs. You can follow me on Twitter at LadyLeet. That's my work title, but community-wise I'm on the RxJS core team. I am an Angular GDE, just became a GitHub Star, which is pretty exciting, Microsoft MVP, and all the other things. I just love, love, love community, and I'm always happy to hang out and chat with people.

00:01:39 - Anthony Campolo

And podcast host.

00:01:41 - Tracy Lee

Oh yeah. Modern Web Podcast. Yeah, we have to have you all on too, to trade.

00:01:47 - Anthony Campolo

Yeah, totally.

00:01:47 - Dustin Goodman

And I'm Dustin Goodman. I'm an engineering manager at This Dot Labs. I'm not nearly as cool as Tracy, but I love talking tech and doing community stuff. One of the big things I'm doing is leading up a lot of our open source initiatives internally, which I think we'll talk about today.

00:02:00 - Tracy Lee

Yeah, it's really exciting. I'm stoked on that type of stuff.

00:02:03 - Anthony Campolo

I know that This Dot Labs has been around for a while and has a pretty significant staff, so I'd be curious how the open source stuff kind of interfaces with dev or consultancy-type stuff, and how does it all kind of fit together?

00:02:18 - Tracy Lee

So I think it's funny because every single consultancy I feel like you talk to is like, yeah, we're doing consulting, but it's our dream to actually do other stuff, and that other stuff could be like building product or doing open source. So in terms of that, we're not that different, right? It's always our dream to do more than that.

I think, generally, we do a lot of community things: events like GraphQL, Angular, React, Contributor Days, related things. But part of that also is just giving our developers time to give back to open source.

We've recently created two projects, and that's separate from the time and consulting stuff that we generally do. But yeah, Dustin's been leading up those two initiatives.

00:03:00 - Dustin Goodman

We have a third. We actually have our open source repo too that's maybe a little more related.

Our developers, of course, are working on these client projects, and they're also working on some of our other internal initiatives. They'll have these ideas that are like, man, it would be really cool if we could abstract this concept away from something we're doing.

One of our engineers was working on some routing for one of our internal projects. He's like, man, this is a little complicated the way it is. I feel like this could just be abstracted into a configuration at the Angular routing level. The next day, he just kind of whipped out a quick proof of concept, and that was our first ever open source project that we launched as part of our initiative. That's kind of how it comes together.

Usually it's like somebody does a thing like, man, it would have been really nice if this existed. I could definitely talk about some of the other key initiatives.

[00:03:45] One of them, Starter.dev. What's really cool about this is one of our architects was actually like, yeah, I've scaffolded probably like ten Next projects this month. That's a lot of Next.js configuration, setting up Jest, and doing the whole song and dance every time. He was like, it would be cool if I could just, like, npx start project. That's all he wanted to do. And six months later, here we are, having that as a reality for him.

00:04:06 - Tracy Lee

Starter.dev is the URL. But Remix came out with their stacks, and we were there first. No, we were probably actually thinking about it at the same time, because they launched it and we were like, oh, we're just about to launch the same thing. Very similar. Anyway.

So yeah, check out Starter.dev if you just need a really good place to figure out how to architect things, how to kickstart a project. It's been really, really useful, and there's more stuff. Oh my god, I almost just called them stacks. There's more starters coming out.

00:04:38 - Christopher Burns

I think stacks as an initiative is a really cool thing because not only do they help companies who want to start up fast, and people who are building many projects, but also beginners who necessarily struggle to put all the components together, create the correct, you could say, standards to write their code by, making sure there's a linter in there, a tester in there. In my early career as a React developer, that's actually what I needed the most.

Not necessarily that I couldn't glue all of these things together, but actually doing it in a way that seemed logical at first, without me going, hmm, how should this look, was, in my mind, one of the biggest benefits of these open source starters. They're not stacks. I'm dyslexic. I keep mixing them up.

00:05:23 - Dustin Goodman

Starter kits.

00:05:24 - Christopher Burns

Starters, open source starters.

00:05:27 - Tracy Lee

It's like Next, Next, Next starter stack. I mean, what do you do?

00:05:32 - Dustin Goodman

I think that's what's really kind of amazing about this particular project. That's kind of what the motivation was.

How many hours have we all spent starting a new project in a new technology stack and wanting it to just be this immaculate, amazing thing, but not knowing how to do it? What was kind of great is at the same time, we were partnering up with the Angular team to build a clone of GitHub with Angular 13.

We ended up using Apollo and Tailwind to kind of demonstrate architectural best practices given a bunch of different features that Minko really wanted to highlight, like routing, state management, and other features like that. And so we were like, why don't we do the same thing but with all of our other starter kits as well?

We had this great opportunity where we took this great idea we had just completed with him and expanded it. So now each of our starter kits actually ships with what we call a showcase. And the showcase is just a GitHub clone that we've deployed to Amplify.

[00:06:23] And you can kind of go click and play with it. We've actually stood up our own OAuth server that way. We didn't have to reinvent the wheel every single time we did one of these.

And what's great is now you have the kit, but then you can also see how do you actually use this kit in a real-world situation beyond just the basic TodoMVC. Because how many times have you picked up a new framework, like, all right, how do you build something? You go look at TodoMVC and you're like, well, that's basic. How do I do routing? How do I do anything with the router? How do I do...? You know that question? And we were like, let's do this.

So you have this really complicated dynamic route with the file explorer because every time you click into a new file or folder, the route changes. And it's this compounding route, which is, I think, a really cool feature to have implemented in the first place.

[00:07:06] But then you get more than just the basics of a simple display component. We have Prism, I can't remember if it's PrismJS there. They're so similarly named, but it's the code viewer, the file viewer. I think it's Prism, yes. I always get it confused because there's Prisma, which is behind GraphQL, and then there's Prism, which is the code viewer.

00:07:26 - Tracy Lee

Tech needs to just stop doing this to us.

00:07:29 - Anthony Campolo

Database people and the Prisma people behind GraphQL are the same people.

00:07:32 - Dustin Goodman

Oh, are they? Okay. Well, that makes me feel a lot better.

00:07:35 - Anthony Campolo

That used to be Graphcool, and then they kind of switched to being more of an ORM. So that's why it's a little bit confusing. They were called Graphcool originally and then changed their name to Prisma, but it's the exact same company.

00:07:44 - Dustin Goodman

Got it. See, that's helpful.

And I was just talking to the Guild about the new GraphQL Yoga that they're working with the foundation on. It's going to be so cool. That's exciting to hear that their work hasn't died. It's just changed names. But it still confuses me every day because I still know it as Graphcool.

00:07:58 - Anthony Campolo

And what's funny is Graphcool was the original creator of GraphQL Yoga, which they then passed on to the Guild to maintain.

00:08:05 - Tracy Lee

Oh my god, life is so confusing. It's just all one big blob.

I totally agree with you, Christopher. The idea that the starter kits are really helpful for junior developers because everybody just needs an example of how to do things the right way. I feel like that type of content is definitely missing on the internet.

00:08:23 - Anthony Campolo

Yeah, this is something Ryan Carniato is really good at. He has his Hacker News clone, and he's built a Hacker News clone in every single framework. And so that's a bit more involved than a to-do.

00:08:33 - Christopher Burns

I feel like you need to hot take it and put every single starter kit into a best use case list. Because yes, there's Remix. Yes, there's Next. Yes, there's Angular. But which one should I use for an e-commerce app, and which one should I use for a dashboard?

Nobody wants to say which one is better and what frameworks are better at what. They just say, oh, it can be used for everything. And it's like, no, we need to start defining frameworks by what they're good at and leave other frameworks to do other things better. That's my hot take. I'm very passionate about this, obviously.

00:09:06 - Dustin Goodman

I was about to say that is a very hot take.

00:09:08 - Tracy Lee

But that's actually really funny because I feel like we should add that into our other open source project that we just started, or that just kind of launched. So it's called Framework.dev, and Framework.dev, one of the features that I feel like is sort of hidden, that I feel like we need to kind of fix the UI on, is you can actually go and search, let's say, state management libraries in React. Then you can actually click on the compare button, and it'll let you compare the different libraries.

Yeah, maybe it's like, well, this is good for X, but then, again, hot take, right? Could be a hot take.

00:09:42 - Christopher Burns

It is very much a hot take. But it really gets me where it's like, I think it's from my days of Gatsby 2 where I was like, oh, Gatsby is the source of everything, like Gatsby for everything. And it was like, yeah, it was good at blogs, but don't build a dashboard in it.

And I think it's very much still true today. Each framework 100% has unique use cases and some will excel more than others. But actually trying to highlight them in one place, when you're building with that framework, and also when you're 10,000 pages into the framework, they really start showing their differences at both stages.

If we all looked at the internet today, it would be saying, just start building everything in Astro. They've got everything figured out. When you go to start something, you normally have a specification, I'm building a dashboard or a store, and if you take it that high level and go, what framework should I use for a store? Well, you can make good decisions and bad decisions.

[00:10:40] I would say Gatsby is still probably a good decision for an e-commerce store. Or is it a bad decision? We all would have different opinions there though.

00:10:47 - Dustin Goodman

I'll share my fun hot take, which is the only acceptable solution for that is something that's fully server-rendered. And that's just because of cart security and all the other stuff that e-commerce stores are doing for you.

I spent a lot of years in the Magento and Shopify ecosystems. If you're not familiar with them, Magento being built upon Laravel and PHP, Shopify being built upon Rails, there's a reason they're built that way. Front-end JavaScript frameworks and those particular ecosystems don't usually mesh.

But I think Next, Nuxt, and Remix specifically with their SSR are kind of the future of front-end frameworks that could be good at that. I don't think Gatsby is quite there.

00:11:24 - Anthony Campolo

I actually saw this Framework.dev thing that you had put out, and I think it's a really great idea to be able to easily compare different projects against each other, like different kinds of open source metrics.

And this is kind of what Bdougie is getting at a little bit with open source. I'm kind of curious because I'm looking at, right now, the framework comparison, and I'm looking at like Astro, Gatsby, Next, and Redwood. And you have four things. You have testing coverage, so how much the framework is tested, weekly downloads, stars, and then an overall health metric.

So the stars and the weekly downloads make sense, and then the testing coverage makes sense. But then there's the overall health one, and the numbers don't necessarily correlate with all the other ones. So it's hard to know what that one overall health metric actually is, where it's coming from. And kind of like boiling everything down to just a single number, just being like, it's this healthy without really knowing what's behind that number is something that can be kind of problematic.

00:12:22 - Dustin Goodman

I think our numbers are based off of, I want to say, npms. I gotta find the exact website, but we're actually using a third party to source those numbers, another open source initiative and project, because why not use all the amazing tools that already exist?

And I believe I remember the aggregation there. It's a combination of issue count, last commit, and number of test failures over the last 30 days. So it's kind of this aggregate. I don't know exactly what their calculation is, to be completely forward about it, but it's some combination of those three things.

00:12:53 - Anthony Campolo

And so if you don't know that, no one knows.

00:12:55 - Dustin Goodman

I need to go document that a bit better.

00:12:57 - Tracy Lee

Basically, you should trust everything that's on the internet because this project told us it was right. No, but I mean, that's a really good point, right? We should definitely be adding a little tooltip to show people what overall health score actually means to make it more trustworthy information. So thanks for pointing that out.

00:13:15 - Anthony Campolo

I'm big on data and communicating data correctly. It's so easy to just use quote-unquote data.

00:13:21 - Tracy Lee

No, I mean, you have a totally good point. Both of these projects are open source. So we've been getting a few people sending issues and saying, like, hey, what about this? What about that? And that's kind of the feedback we're looking for, right? We're always trying to improve it and make it something that's really useful for people.

00:13:37 - Anthony Campolo

So we also got to add FSJam to the podcast list.

00:13:40 - Tracy Lee

You can submit a PR.

00:13:43 - Anthony Campolo

I probably will.

00:13:44 - Tracy Lee

No, love it.

00:13:45 - Dustin Goodman

Yes, it's very easy to add. What was great about this project, speaking of Astro, we built it with Astro when it was still very early alpha, which was possibly a mistake. I'll admit that we're having a lot of trouble upgrading.

We actually tried to get all the way up to 1.0 recently and kind of fell flat on our face because we use Vanilla Extract as our CSS system. Let's just say it doesn't work until they actually fully release 1.0. So we're kind of stuck for a minute.

But it was nice because we got to do a lot of the static kind of site generation, which really helped with some of those optimizations. It was really neat using some of that new technology and then kind of being like, hey, we're able to do some of the same comparison stuff.

00:14:20 - Christopher Burns

Astro is a super cool technology, and I feel you because I implemented Gatsby 2, and we all know how hard it was to migrate off of that one.

00:14:29 - Tracy Lee

It's so funny because I feel like, as developers, we want to be on the bleeding edge of technology all the time. So it's like, oh, there's this shiny new thing, and you're like, man, I built this in the shiniest new thing ever. And then you're like, oh no, now it's coming out of alpha. Oh God, what do I do now?

I think it's really funny talking to developers who, again, are all of us. But I feel like a lot of junior developers are like, dude, I'm going to build it in the newest thing ever. And then some of the more seasoned developers are like, maybe you should chill out a second. Maybe we should use something a little more stable, potentially.

00:15:02 - Christopher Burns

A bit of PHP, am I right?

00:15:04 - Anthony Campolo

Well, I think the mistake you made was doing a hip framework and a hip CSS thing at the same time. That's where it always gets you. That got Chris, who tried to use twin.macro with Redwood.

00:15:13 - Dustin Goodman

Twin's pretty great. Don't hate on it.

00:15:15 - Christopher Burns

I didn't hate on it. I had problems. I had performance problems that I was very much pointing a finger into this gray blob, thinking it's one of these. Which one is it?

There are actually some questions I really want to ask. You are one of our first agency guests, and I've actually had quite a lot of experience with agencies in my time, but never with agencies that focus on JavaScript technologies. All the agencies around me that I communicate with often all use, say, WordPress and all these other things.

One of the big questions I want to ask is, did you start with more of the traditional frameworks like WordPress and then move into JavaScript, or was the agency set up as we're just going to focus on these next-generation, current-generation technologies?

00:16:03 - Tracy Lee

You mean the modern web?

00:16:05 - Christopher Burns

Yes.

00:16:06 - Tracy Lee

The company was actually formed in November 2016, I think. It was right around when ES2015 was coming out. All the new stuff was happening. I can't remember where Vue was.

We actually started the company because we were really passionate. I'm on the RxJS core team. Ben Lesh from the RxJS core team was one of our other co-founders. We were just really, really passionate about community generally, right? It was like, okay, well, maybe we should do something interesting and useful. So we got this company started.

It's always been Angular, React, Vue. We've chosen not to be a specific framework or library. In the very early days, which is not that long ago, we were doing a lot of Ember work as well. Anything that's modern and exciting like Node, GraphQL, React, Ember, Svelte, Lit, whatever is things that we focus on. We've never done WordPress stuff.

00:16:58 - Christopher Burns

And have you found that when it comes to a typical client as an agency, you get people want to move over from more traditional monolith systems to this modern web, or they just pick you guys and you're like, this is how we do it compared to what everyone else traditionally does?

00:17:16 - short split/interjection

I feel like people find us because we do work on those modern technologies.

00:17:17 - Tracy Lee

It's either, hey, we're looking to migrate from something to something else, or, hey, we're using this new technology and we need help with it. Or, hey, we need somebody to help us from an architecture perspective because we're stuck. Yeah, there's a lot of that.

A few years ago, I feel like there was a lot of migrating, but nowadays I feel like there's more people who are using the technology. The technology has been adopted, and they're trying to make sure that they have best practices in place or increase the velocity of their projects. I mean, granted, again, we still do have a lot of people who are looking to migrate. I feel like maybe the enterprise companies have kind of jumped through those hoops already and have those conversations.

00:18:01 - Dustin Goodman

I think there's also a good bit of people looking to expand upon their existing solutions and solve problems that they haven't really seen. We've just been in a fun and unique position where we've worked with people to develop some of those solutions or have done it in a bunch of different ways, like Media Jams with Cloudinary.

Last year was a really phenomenal project we got to work on, and we really got to start exploring the world of MDX. I think that really made it a great opportunity for us to work with Dan and Rachel on the React docs, creating the component library that backs the new beta site.

00:18:31 - Christopher Burns

And this is actually a really interesting moment of the industry, I think. Where does money come from to work on open source? Is it companies spending money on employees, agencies to help them, or is it just relying completely on volunteers and Open Collective? These are really big questions.

Not that I'm asking you because I know some of the answers in my head, but sometimes it's better to get external help from another company.

00:18:58 - short split/interjection

I think it's definitely difficult.

00:19:00 - Tracy Lee

Certain library authors have done really well figuring out how they get paid for the work that they do, and certain library authors have not. The RxJS core team, for example, we've never figured that out. Every time it's been brought up, like, hey, maybe we should start something to get money, it's like, well, where is this money going to go? Do we need the money for us as a core team? It's just gotten too complicated to ever revisit from a serious perspective.

But again, there's some libraries that have done it so well. Henry from Babel, I don't know if you all remember that drama. What was it, like a few months ago or something? So, I mean, they did it really well. They were supporting themselves and then they were having difficulties. And then there's all this Twitter drama and whatever.

So I don't know. I don't know. But I think companies are more willing to pay for work in open source, and it's more relevant, I think, in some projects, like for example, Node, right?

[00:19:55] I mean, you have Red Hat and you have IBM and a bunch of other companies paying for full-time staff to just be on the technical steering committee and do amazing things because they want that technology to live on. You see it the same, I feel like, in GraphQL as well, but some of the other technologies, I think you don't see it as much.

00:20:15 - Christopher Burns

Very much so. And it's that thing about also talent. Talent is such a hard subject to cover.

I think one of the main things that I think about often when I think about agencies, when you work in a company on specifically a product, your knowledge area gets very defined by that product. You know what you can do, what you necessarily can't do, as in your knowledge of, say, the frameworks and all these things.

But when you work in an agency, you more have the choice to explore more projects, more use cases. I've built an e-commerce store this month. Next month I'm building a dashboard, for example. And I think that is something that some people relish.

It feels like a catch-22 where some people would say, oh, I wish I could just work on 20 different projects in a year, and then you feel the other way of like, I wish I could just work on one big thing. I think you're always swapping between both of them.

00:21:07 - Anthony Campolo

This kind of somewhat segues off of this because there's a big question of how do we fund developers. And in the blockchain, Web3 world, questions of how do you build incentives into the system is really important. And that usually involves having some sort of governance mechanism that allows people to allocate funds in certain areas.

But I was actually curious to ask you about this, Tracy, because you did some podcasts, I think towards the end of last year, about Web3 that I thought were really good and really interesting. And it seemed like you were dipping your toe in there a little bit, but I wasn't sure if this was going into it or if it was just kind of you doing it in your free time for fun. What is the context of kind of like Web3 for you?

00:21:46 - Tracy Lee

I'm excited about Web3. You know, a lot of my friends have obviously gone from the Web2 to Web3 world, if you want to put it that way. The thing about Web3 is that I think it's really scary for people, right? Like developers, JavaScript developers are like, what is this Web3 thing?

What I'm really passionate about is just educating developers on, hey, you know what? This is actually pretty easy. It's not scary. Look how easy it is to do. I kind of stuck my toe in and I was like, wait, I mean, I don't know why I was so scared. It did not take that long to write a simple smart contract. It feels very natural.

I'm hoping that This Dot can help educate developers generally by getting JavaScript developers Web3-curious. In a sense, there's still a lot of education that needs to happen, but we are doing things like working with Chainlink, for example.

[00:22:37] If you're familiar, we've built out quite a few projects. Dustin's actually been leading those developer portals. And then there's another one.

00:22:46 - Dustin Goodman

It's not released yet, so I don't want to quite put it out there.

00:22:48 - Tracy Lee

Oh, whoops.

00:22:49 - Dustin Goodman

It's kind of in a weird state right now, so I don't want to ship that one before they're ready.

We have helped them build two resources so far. The first one is Blockchain Education. That's what they called it. And it's a website focused on teaching developers new to the blockchain and Web3 space how to get started safely and securely. It's been a great opportunity for that.

The other thing we've built with them is Smart Contract Database. This is similar to our Framework.dev. It was funny. We actually developed Framework.dev, and Chainlink was like, hey, we want to do something very similar, but for the blockchain ecosystem. And so we've created a database for the blockchain and smart contract ecosystem where you can go look up different libraries, technologies, groups, communities, all the education materials you might need in order to be successful inside of the Web3 ecosystem.

These are just two really great products that we've been able to help them produce and publish. And we're building one more.

[00:23:48] I'm leaving it in stealth because I don't know if it's going to make it or not. I'm hoping it does. There's been a lot of back and forth on it, but we are also starting to build a DApp for them. Kind of excited because it's intended to be this exploration and education thing, where it's going to be a step-by-step guide on how to build your first app using a bunch of their technology, as well as just general things.

We're actually going to use the Solana blockchain. We were going to use Terra, but then Terra had all of that incident stuff. The last few weeks we've decided to shy away because it's a little bit of a security risk.

And part of the process and part of this whole development cycle is we want to teach developers how to be safe while developing in Web3. Like, yes, there is this scary factor because there's security and things you have to be concerned with, but we don't want to be the Wild West of development and be like, yeah, it's so easy to make smart contracts, here, stand it up, send it out.

[00:24:38] And what we want to do is show them, like, hey, here's how we did it. And here are the security measures we took to secure the application we built. And here's some very important decisions we made along the way to help you not shoot yourself in the foot later and be a victim of a scam on the Terra platform, which we're hoping they fix soon. Fingers crossed for them, but it's been a little dicey over there for a minute.

00:24:57 - Anthony Campolo

Yeah, the whole kind of debate around stablecoins is its own subject unto itself. I think the point about it being scary for JavaScript developers and confusing comes from the terminology and especially the fact that it's based around cryptography. It's also based around finance to a certain extent, and then just incentive systems and economics and all this kind of stuff, which, even though programmers are nerds in a specific way, they tend not to be into some other kind of nerdy stuff.

I find once you kind of get past all that and you start learning the terminology, I think it's not really that complicated. I know for me, I'm kind of lucky that I got really interested in blockchain and cryptocurrency years ago, before I even knew how to code at all. So then once I learned how to code, I already had all that context. I could just be like, all right, well, you just go learn Solidity because that's what everything's written in.

[00:25:47] So you should go learn some Solidity, and then you figure out what's the tool you use to deploy the smart contract, and then you can kind of get up and going.

I agree that the really nitty gritty, smart contract vulnerability type stuff is really hard and not well taught. And it tends to be you just write something and then you take it to a firm that audits for you and then it's like, all right, pay us 100 grand.

00:26:07 - Tracy Lee

Yeah, that is very true. I think security is the biggest thing that developers kind of run up against.

00:26:14 - short split/interjection

Like, if there's more education in the world just about how to do things right.

00:26:15 - Tracy Lee

Also with Web3 stuff, the resources out there, it's like, is this relevant? Is this shady? Is this going to try to steal my private key? Who knows? It's kind of like the wild, wild West out there.

So what we're trying to do with Chainlink is just develop really high-quality websites that look very legitimate and that are very legitimate, so that hopefully developers have a really good place to go versus just trying to Google and, again, getting stuck in this. Like, for example, if you say you've been scammed, you've been in a Bitcoin scam, I don't know if you've ever posted that. I posted that once. All of a sudden, all these people are posting like, oh, I can help you, just fill out this form. Oh, this person can help you, just fill out this form. And the form is actually trying to scam you and get your private key so that they can get more of your money.

[00:27:02] So that's life.

00:27:04 - Anthony Campolo

Yeah, I get constantly tagged with a tweet, something with like 15 people tagged, and then it links back to like an NFT thing. Basically, they're trying to get you to connect it thinking they're gonna airdrop you an NFT, and then they actually will take an NFT out of your wallet or something like that.

00:27:19 - short split/interjection

Yeah.

00:27:20 - Tracy Lee

It's so terrible. But like, how do you know? Right. That's the scary thing.

00:27:24 - Dustin Goodman

I've gotten two of those on Twitter in just the last week. I'm like, huh, I don't even have a wallet. I'm wondering how they're gonna get my money.

00:27:31 - short split/interjection

Go ahead and start a conversation in your DMs on Twitter.

00:27:32 - Tracy Lee

I'm curious to see where that goes.

00:27:36 - Dustin Goodman

I kind of am, too. I'll report back.

00:27:39 - Anthony Campolo

Are there any other topics you want to get into, Chris?

00:27:41 - Christopher Burns

There was one more topic that I think is super useful: not only as an agency do you provide coding, you also provide training. How does training look? You know, as a developer, I think, why would I need training? But how does training on frameworks and tools actually look?

00:28:00 - Tracy Lee

Okay. So I'll give you a great example. There was this one company, they do Angular and .NET. So you have all these developers that do Angular, .NET, and Vue. But they've decided, the engineering management team has decided, that they're actually going to go with React. And so you have all these .NET, all these Angular, and all these Vue developers are like, well, okay, we're going with React. What the heck do we do? Right.

So once you start going down that path, just like you said, Christopher, right, even if you're a seasoned developer and you're going through a new technology, you're like, am I doing this right? Is this architected right? And what we see actually is, when you see this transition from Angular to React, for example, a lot of Angular best practices kind of trying to be shoved into React. And so those types of things are things that we try to help people with from a training perspective.

But also our training is a little bit different. While we do provide just general corporate training, we also provide kind of on-staff training, if you will, where we're kind of pair programming with people on an ongoing basis, attending their weekly planning meetings, and just helping them get on the happy path. You see this a lot with RxJS as well. I mean, hot, hot, hot messes with RxJS. So that's the type of training that we do, if that makes sense.

00:29:19 - Christopher Burns

Very much so. You can kind of say sometimes these fall into workshops as well. I did the Remix workshop where it was like, so you understand all these things, and we're going to help you through these things as a company. If you can help companies avoid making a tangled mess later and they have the resources to pay for it, it definitely shows its dividends, for sure.

My last question is what are your predictions, as an agency, for the future of JavaScript? Are you making any bets? Is Remix the go-to for you? Is Angular still living on forever?

00:29:57 - Tracy Lee

I don't think that Angular is going anywhere. I think our developers right now are very excited about Svelte and Solid. However, we haven't seen much work come out of that yet coming our way.

React, in my opinion, has built such a great ecosystem. React isn't even a library anymore. I feel like it's more of an ecosystem than anything. I feel like React is really, really here to stay. Dustin, what about you?

00:30:21 - Dustin Goodman

I actually want to hedge my bets on Vue a bit more. I think they made a very good decision and I love all the work Evan's been doing. Their integration into the Laravel framework out of the box, I think, is pivotal to their future.

But I also think it's going to show other kind of existing backend-type framework teams, like people who are still doing Rails, Django, Spring. I think they're all going to start yielding toward these front-end frameworks more, and I think they're going to start finding things like Vue is a good place to hedge bets.

I think Remix and Next are going to be the bidding war of the future for some time. We'll see how long it lasts.

It's interesting because we've seen this history of ten years ago. We were doing things like Rails, where everything was server-side and we were doing all server development, rendering plain HTML, not doing a lot of fancy JavaScript. And the trend's gone more towards front-end JavaScript over the last five years or so.

[00:31:09] Maybe a little longer than that, but it's like, hey, build a SPA, build on the front end. Everything should be front-end rendered, loading states, etc. And now we're getting back into this game of everything should either be static or server-rendered again, and it's almost like we've come full circle. But we've come full circle in a different way, where the front-end frameworks, like, it's still about the UI, it's still about the user experience, but then the back ends are more about being closer to what we know as front-end developers, making us more capable in what a lot of people think of as full-stack development these days.

You're still going to have your back-end specialists. You're building your microservices, your machine learning and data science based algorithms, and running your processes. But for the key API front-end interactivity, I think you're going to see Next, Nuxt, and Remix being strong players in the future.

I'm with Tracy. Angular's not going anywhere, and it's going to be here for a long time. And I think they're about to make some really cool pivots, especially with this new release for 14, that they're getting ready to really wow the world with it.

[00:32:04] And I'm really excited for that. That's kind of my bets. It's all going to be here. It's just going to be in a different shape or form.

00:32:10 - short split/interjection

Well, it's really funny.

00:32:11 - Tracy Lee

Especially with React, right, for many, many years it's like, oh, React is just a library. Like that's all it is. That's all it is. And, you know, oh, we don't like Angular because it gives you everything out of the box. It's too opinionated, this and that. But now what's becoming popular in React is all these full-stack frameworks. So it's just funny how, you know, the world keeps going around and around and around.

00:32:36 - Anthony Campolo

I think with Angular, it was very opinionated to an extent, but it still wasn't really opinionated on the back end. So it's like you ended up with a really opinionated front-end framework specifically, which I think is kind of a weird place to be. But honestly, I've never done any Angular dev. I'm talking out of my butt here.

00:32:53 - Tracy Lee

I mean, good point.

00:32:54 - short split/interjection

Good point.

00:32:56 - Christopher Burns

I do see a future of what we're saying about React staying around forever, and I very much think so, but I think React is going to be eroded over time with adoption of other frameworks. And I think where we really see this starting to take off is in most of Tanner Linsley's frameworks.

Well, his libraries, he's renamed them all to TanStack and removed the React prefix, and also is going to have adapters for Vue, Svelte, Solid, and React. So is this where we're going to start seeing that React layer erode to that level where the React is no longer the first? You can use things like Remix and Vue, because there's also Vue bindings to Remix coming, from what I've seen, and probably Solid.

So what makes React, React? That is going to be a really good question, and I think in the next few years, if I can use Remix plus TanStack, why should I use React? Why shouldn't I use Solid or Vue? I think these are the questions that we will see in the next year for sure.

00:34:05 - Dustin Goodman

I think that's a great point. Although didn't he only do that with what was formerly React Table? Isn't it just TanStack Table and everything else is still pretty specific? Or did he change something else that I missed?

00:34:14 - Christopher Burns

It's TanStack Query today in Vue and Solid and Svelte and React. TanStack Table and also TanStack Virtual are the three that he's converted so far, but I suspect that he will convert all of them to multi-framework bindings.

00:34:35 - Dustin Goodman

That's actually really cool. I missed the other ones. I had seen him rename React Table to TanStack Table, which I was really excited for. I mean, you're right about Remix wanting to do Vue bindings, but I also think Astro is another good example of this where, out of the box, you can do Preact, you can do React, you can do Vue, you can do Svelte. They're already thinking the same thing.

And I think we're going to have library-agnostic frameworks but still have library-specific implementations in those frameworks.

00:35:02 - Christopher Burns

Very much so. And then it's going to make what choice to pick even harder.

And then it goes back to my highest principle. What's the best use case for this? If you're going to create an enterprise dashboard, well, you probably want to use React or Angular at this point because they're the most well-used. Using something like Astro with Vue to create an enterprise dashboard, I think, would hurt a lot in the long run. It would hurt the developer a lot.

00:35:32 - short split/interjection

I think that's a really good thing to do.

00:35:33 - Tracy Lee

I want to start interviewing all the library authors and ask them, like, what do you use it for? But what don't you use it for? Because I feel like we would get a lot of strong opinions that are also valid on the internet, so that would make the hot take even hotter.

00:35:50 - Anthony Campolo

Yeah. We've interviewed, I think, almost every framework at this point. We ask all of them that specifically. Quite a few of them we did. So if you check out the backlog, you can hear quite a few framework authors talk about the trade-offs of their frameworks.

00:36:03 - Christopher Burns

I think that's roughly all my questions. Have you got any more questions, Anthony?

00:36:07 - Anthony Campolo

I think I'm good. Why don't you go ahead and let our listeners know where they can find both you two on the socials and then where they can find This Dot Labs.

00:36:15 - Tracy Lee

Sure. You can find me on Twitter again at LadyLeet. I'm always happy to chat on Twitter.

You can actually find us at This Dot Labs on Twitter and then the websites, just if that isn't confusing.

00:36:30 - Dustin Goodman

And you can find me on Twitter, it's dustinsgoodman. There was already like three other Dustin Goodmans. They all beat me to the punch, unfortunately. Ping me on Twitter about just about anything. Love talking tech.

00:36:40 - Tracy Lee

And we're hiring. So if you want to come work for a company like ours, it's 100% remote and global. And we're also Web3-curious, not doing a lot of Web3, but at least Web3-curious.

00:36:53 - Anthony Campolo

Very cool. Well, thank you so much for being here, and hopefully we'll get a chance to chat again soon.

00:36:58 - Tracy Lee

Thanks for having us.

00:36:59 - Dustin Goodman

It's been a lot of fun. Thank you.

00:37:00 - Christopher Burns

Bye.

[00:37:31] We've never had anyone from Next.js because Next.js is great at everything. Cut that out.

On this pageJump to section