
Talking Stacks on Stacks on Stacks
JavaScript Jam Live discusses tech stacks, Prisma's data platform, PlanetScale's edge driver, Bun's funding, Tauri vs Electron, and Go vs Rust.
Episode Description
JavaScript Jam Live discusses tech stacks, Prisma's data platform, PlanetScale's edge driver, Bun's funding, Tauri vs Electron, and Go vs Rust.
Episode Summary
This episode of JavaScript Jam Live opens with casual banter before diving into a wide-ranging discussion of modern development stacks, starting with the MERN and PERN stacks and how Prisma serves as a unifying ORM across different SQL flavors. The conversation touches on PlanetScale's new JavaScript edge database driver and how it complements rather than competes with Prisma, with Matt Gilbertson from Prisma's DevRel team offering insider perspective on the company's roadmap for a unified data platform inspired by internal tools at companies like Facebook and Twitter. The hosts promote their Composability Summit and upcoming JavaScript Jam newsletter before shifting to news about Netlify's Next.js middleware announcement and the confusion around what differentiates it from Vercel's existing middleware. The discussion then moves to Bun receiving $7 million in funding to form a company called Oven, drawing comparisons to other VC-backed JavaScript projects like Astro and Remix. A listener introduces Tauri as a Rust-based Electron competitor, sparking a broader debate about Go versus Rust and when different languages are better suited for different tasks. The episode wraps with a discussion of the T3 stack and TRPC's approach to end-to-end type safety, reinforcing the theme that real-world projects often require stacks on stacks rather than a single prescribed set of tools.
Chapters
00:00:00 - Welcome and Getting Started
Scott opens the show with the standard JavaScript Jam Live introduction, explaining the weekly Wednesday format and encouraging audience participation. He notes that another Twitter Space on front-end topics is running concurrently, with some regular attendees likely to join later.
Daniel calls out Scott on his promised 100 Days of Code challenge, which Scott admits he hasn't started yet due to a recent move and wanting to properly set up his recording environment. The group briefly discusses how fall tends to be a better time than summer to start new commitments, with Scott teasing plans for a basement office build-out he intends to document publicly.
00:04:25 - PlanetScale, Prisma, and Database Stacks
Anthony recaps the concurrent Twitter Space he attended before pivoting to a discussion about PlanetScale's relationship with Prisma. He pushes back on hot takes claiming PlanetScale's new JavaScript edge driver makes Prisma obsolete, pointing out that Prisma's own site features a PlanetScale integration page. The conversation expands into the broader database ecosystem, covering CockroachDB's Postgres-compatible serverless offering and how Prisma works as a unifying ORM layer across MySQL, Postgres, SQLite, and more.
Bro Nifty brings up the MERN and PERN stack naming conventions, and Anthony shares that the PERN stack was essentially what he was taught in school without the label. The discussion highlights how Prisma's adapter-based approach lets developers swap database providers without changing their query code, making the choice of underlying database less of a permanent architectural decision.
00:10:06 - Composability Summit and Newsletter Announcements
Scott transitions to promoting the Composability Summit and the upcoming relaunch of composability.dev, describing it as a community effort to unify trends in microservices, APIs, and micro front ends under one umbrella. He notes that the composability terminology is gaining broader adoption across the industry and that talks from the summit are available on the JavaScript Jam YouTube channel.
Daniel follows up with details about a new JavaScript Jam newsletter that will tie into the composability initiative and future summits. He emphasizes the community-driven nature of the newsletter, encouraging listeners to suggest talks, speakers, and topics. Both hosts frame this as an effort to make the audience active participants rather than passive consumers, with the first issue expected within a couple of weeks.
00:14:15 - Netlify's Next.js Middleware and Edge Runtime
Anthony brings up Netlify's same-day announcement about Next.js middleware support, sparking a discussion about the ongoing dynamic between Vercel and competing deployment platforms. He explains how Vercel builds features tightly integrated with Next.js, which other hosting providers then have to replicate to remain competitive, creating a complicated ecosystem dance.
Daniel adds context, noting the announcement seems to build on Netlify's Next.js runtime released the previous April, though the actual differences are unclear from the blog post alone. Matt mentions an upcoming stream by Jason Lengstorf that should clarify things, and Bro Nifty reads from the article about rewriting response objects at the edge rather than relying on client-side JavaScript or complex SSR strategies. The group agrees they need more information before forming strong opinions.
00:19:07 - PlanetScale Edge Driver Deep Dive with Prisma's Matt Gilbertson
Matt Gilbertson from Prisma joins the conversation to offer his perspective on PlanetScale's new edge database driver. He clarifies that while the driver is comparable to the Prisma client in that it handles database communication, the Prisma ORM is just one component of a much larger toolset, making direct comparisons somewhat misleading.
Anthony draws a parallel to Supabase's client library and highlights how Prisma has invested heavily in making its client capable of running on the edge via the data proxy. Matt shares that PlanetScale and Prisma development teams communicate regularly about feature releases, suggesting collaboration rather than competition. The discussion naturally leads into what else Prisma has on its roadmap, with Matt describing the Prisma Data Platform as a new layer for managing data access, authentication, and team coordination across microservices — inspired by internal tools like Facebook's Tao and Twitter's Strata.
00:28:25 - Midpoint Check-In and Community Engagement
Scott pauses to welcome newcomers and re-introduce the JavaScript Jam Live format, encouraging listeners to participate regardless of experience level. He reiterates that the most valuable conversations tend to happen when the audience gets involved with questions, opinions, or comments.
The brief interlude serves as a natural break between the database-focused first half and the broader technology discussions that follow, with Scott inviting anyone in the room to share what's new in JavaScript or web development more generally.
00:29:55 - Bun, Oven, and VC Funding in JavaScript
Matt introduces the topic of Bun, the new JavaScript runtime built for speed, and the company Oven that was formed around it with $7 million in funding. Anthony provides context, explaining Bun as something distinct from both Node and Deno that promises dramatically faster performance, following the trend started by esbuild of rebuilding existing tools for speed.
Daniel broadens the conversation to the larger trend of open-source JavaScript projects successfully raising venture capital in 2022, citing Astro and Remix as additional examples. Anthony offers a cautionary note by referencing Rome, which raised money but struggled to ship and build community, while arguing that Bun's advantage is that framework authors are already actively evaluating it. The group discusses how these funding rounds could either accelerate innovation or change the culture around these projects.
00:35:08 - Tauri as an Electron Alternative
A listener named Ryan introduces Tauri, a Rust-based desktop application runtime that competes with Electron by using native web rendering libraries instead of bundling Chromium, resulting in dramatically smaller binaries. Anthony asks for an Electron primer, and Ryan explains it as a platform for building cross-platform apps with web technologies.
Matt shares his past experience building Electron apps and the performance and binary size challenges he encountered, expressing excitement about Tauri's potential. Bro Nifty takes a more conservative stance, noting that VS Code proves Electron works well and that Tauri still feels experimental. Ryan counters that Tauri could be especially useful for lightweight tray applications where shipping a full Electron binary is overkill.
00:39:20 - Go, Rust, Kotlin, and Language Trade-offs
Bro Nifty steers the conversation toward Go, noting its role as the backbone of Docker and Kubernetes. Daniel shares his experience comparing Go, Rust, and Kotlin for larger projects, noting that Go required significant upfront effort for big teams while Kotlin benefited from the Java ecosystem's maturity and talent pool.
Ryan offers a philosophical take on Go's design philosophy of making everyone's code look the same, contrasting it with JavaScript's expressiveness. Matt connects this to Angular's similar design trade-offs as a Google product, where boilerplate overhead pays off for large teams but can feel burdensome for smaller ones. Daniel adds that Go excels in ops tooling and scripting, largely replacing Python and Ruby in those domains, while acknowledging it has improved since his earlier experiences.
00:46:27 - Twitter Spaces Struggles and PHP Nostalgia
The group briefly commiserates about Twitter Spaces' technical issues, including accidental muting and kicking speakers. A new listener named Jimka joins to ask what "stacks on stacks on stacks" means, prompting Scott and Anthony to explain the concept of development stacks and how Prisma enables full-stack development by connecting front-end and database layers.
Bro Nifty shares his frustration with implementing S3 multipart uploads in JavaScript compared to PHP's simpler approach, and Ryan — a former Dropbox employee — notes that Dropbox actually moved off S3 years ago despite being famously built on it. The exchange reinforces the episode's recurring theme that different languages and tools have different strengths, and rigid adherence to a single stack can be limiting.
00:52:46 - The T3 Stack, TRPC, and Wrap-Up
Matt brings up the T3 stack as an example of a more flexible, starter-pack approach to development stacks. Anthony gives a detailed breakdown of create-t3-app, explaining how it combines Next.js, TypeScript, and optionally Prisma, NextAuth, Tailwind, and TRPC to achieve end-to-end type safety without GraphQL. He highlights that the project was created by a 17-year-old developer named Nexel.
Matt connects this to older technologies like ColdFusion and PHP that pioneered similar patterns like RPC, noting that modern tools are reviving those design approaches in more sophisticated ways. Scott wraps up the hour-long episode by thanking participants, promoting composability.dev and the newsletter, and encouraging listeners to follow speakers they found valuable. Ryan teases his own upcoming Twitter Space as the show closes out with Scott's signature beatbox outro.
Transcript
00:00:00 - Scott Steinlage
Yo, what's up, everybody? Welcome, welcome, welcome. We're just getting started here. Let's see, sending a co-host invite to Daniel there and Bro Nifty. What's up, man? All right, everybody, welcome. Looks like there's another Space going on currently about front-end talk. That's interesting. Not sure if it'll be ending here shortly or not, but there's a couple people in there that normally join us here too, so they'll probably jump on over shortly. But yeah, welcome to JavaScript Jam Live, where we do this every week at 12 p.m. Pacific Standard Time on Wednesdays, and we talk about anything and everything JavaScript and/or web-dev related. One of the ways that we drive the most value and get some of the best conversations out of this is when the audience is participating in the talks as well. So if you have a question, feel free to request to come up and speak and we'll bring you on up. If you want to participate in the current conversation and don't have a question, you just have something to say, feel free to do the same thing.
00:01:29 - Scott Steinlage
We'd love to hear from you. Awesome.
00:01:33 - Daniel
So, Matt Gilbertson, let's dive in. Have you started with your 100 Days of Code, or when are you going to kick all that off?
00:01:45 - Scott Steinlage
Yeah, absolutely. Well, I'm just getting settled in after moving here. Still have some boxes to unpack. I don't even have my... There's Anthony. I don't even have my RODECaster set up yet or anything, so I need to get my...
00:02:05 - Anthony Campolo
You're in a new place.
00:02:07 - Scott Steinlage
Yeah, I need to get my desk all situated right now. It's very minimalistic, to say the least.
00:02:15 - Anthony Campolo
Minimalism is a good thing when it comes to workspaces. I find the more minimal, the better.
00:02:21 - Scott Steinlage
Yeah, definitely not bad. But I do need to get that all situated before I can start that process because I want to really capture it all with video and going live and all that fun stuff. I know taking action is better than being perfect, but I do really want to capture this well, is all I'm saying, I guess. But yes, I know I've promised, and I appreciate you calling me out there, Daniel, because I said it probably, I don't know, three weeks ago or something like that. Maybe a little longer even.
00:03:02 - Daniel
I see. I believe that starting something in the summer is the worst. I know everybody's like, "Oh, summer's coming. I have so much more free time. I'm gonna feel like doing stuff," but I feel like nobody can consistently stick with anything when they start in the summer.
00:03:17 - Matt Gilbertson
And the fall is often the best time.
00:03:20 - Daniel
So you're coming up on prime time.
00:03:22 - Scott Steinlage
Here we go. Prime time coming up. So true. The end of August is here. September is coming. Yes. The days have been a little less hot. It's definitely showing, so very soon. How's that? I can't put a finger on the exact date yet, just because I want to get more situated here, but very soon. And I'm also going to be building out an office in the basement, so I kind of get to design my whole space, and I'll probably have multiple recording areas in that room, and that's gonna be exciting too. I think I'm going to put that all out there as well, just to kind of share it and show the journey, right? So, all right, enough about me though. There's some fun stuff going on. Where were you just at, Anthony? What was going on in that front-end talk?
00:04:24 - Anthony Campolo
Oh, that's one of my old co-workers, Lucia. We worked at StepZen together for about a year, actually. She was hired right after me. We were both juniors together, and she is now on the market again looking for a job. So she's also kind of experimenting with some new stuff. She was hosting her second Twitter Space, and I host a Twitter Space every single week now, so I love Twitter Spaces and just hopping on there to kind of support. She had some people on to talk about deployment platforms and front-end frameworks. She had Ben Holmes, Nick Taylor, and Dan Ott. So yeah, it was a good lineup of people. I was just hanging out.
00:05:08 - Scott Steinlage
Gotcha. Cool. Yes, AJ Dash was in there too. Awesome. Saving the world one day at a time. What's up, dude? How are you? Long time no see.
00:05:22 - Anthony Campolo
How are you saving the world?
00:05:27 - Scott Steinlage
How are things over at Prisma?
00:05:31 - Anthony Campolo
Yeah, I heard that Prisma is dead now because PlanetScale just has this super dope JavaScript runtime. It's like, why would you even use Prisma? Oh no, that's definitely what they're saying right now.
00:05:43 - Daniel
That's fighting words, right?
00:05:46 - Anthony Campolo
What I find funny about it is that's the really dumb hot take on it. But then you go to Prisma IO PlanetScale and you see there's an entire PlanetScale integration page on Prisma's homepage. It's like, okay, I don't think there's a battle here. I think these are just gonna become the same thing one day.
00:06:07 - Scott Steinlage
Interesting. Saban, would you like to speak? Maybe you can't speak, I don't know. But if you want to, I have invited you up. If you can't, we understand. No worries. It is a different time zone there where you're at.
00:06:25 - Anthony Campolo
Okay.
00:06:27 - Daniel
I'm curious, Anthony, have you had a chance to dive into PlanetScale?
00:06:31 - Anthony Campolo
So I've used PlanetScale in the past. I've not used this new JavaScript edge driver that people are talking about because that thing is literally hot off the presses. It's not even been widely available for longer than a week or two, so I've not tried that yet. But I think PlanetScale is dope, and I think it's great that there's someone out there building a really awesome MySQL solution because, I remember, back in my day, I tried to run MySQL and there was no good way to do it at all, period. I think that's pretty cool. And it just makes Prisma's story even stronger because Prisma allegedly works just as well across Postgres, MySQL, SQLite, even Microsoft SQL Server. My God. You shouldn't really have to think about the flavor of SQL, but if you do, there's now an extremely nice, globally distributed MySQL version out there. So yeah, I think that's cool, and I definitely recommend people take a look if they're interested in database technology. They did lay off James Q. Quick, though, which was a huge bummer, and I don't understand...
00:07:39 - Scott Steinlage
That is true.
00:07:41 - Daniel
Yeah, I saw the hackathon on Hashnode, and I missed it by a couple of weeks and just didn't have a chance to dive into it. It looked pretty interesting.
00:07:53 - Bro Nifty
So would that be part of the MERN stack too? MySQL, Express, React, Node?
00:08:00 - Anthony Campolo
The Troll Mern Stack?
00:08:02 - Scott Steinlage
Yes.
00:08:04 - Bro Nifty
I saw someone using the PERN stack, and I thought, you know, that's unfortunately named, but it's really excellent. The Postgres, Express, React, Node is absolutely fabulous.
00:08:17 - Anthony Campolo
That was literally the stack I was taught in school. They never told us that's what it was. That's what they taught us, and that was the exact set of technology. They just didn't label it the way MERN was always labeled. They just kind of taught it to you as the assumed stack.
00:08:36 - Bro Nifty
Yeah, I was just messing around, looking at NATS for whatever, and they are partnered up with Cockroach, and they're like a Postgres serverless. And you get a nice free tier on that too. I was just checking it out. It's pretty nice. I don't know how you hook up to it, though, with the Prisma discussion and stuff like that. I haven't gotten that far yet.
00:09:06 - Anthony Campolo
Yeah, Prisma does work with Cockroach. This is something that we were watching with Redwood, and there was a point when they did not work. But I think that there's an actual Cockroach-specific setting in your Prisma schema file that you'll use to get it working. But there's been a collaboration there going back a while. So that's another thing. This is the cool thing about almost any of these database providers: at the end of the day, they can work with Prisma. And now that that's kind of how I assume I want to work with the database, I'm allowed to just plug that into any of these database providers that I want. And the team put a ton of engineering effort into actually making that feasible.
00:09:47 - Bro Nifty
Yes, yes, I agree.
00:09:53 - Scott Steinlage
Awesome. So I think we're talking stacks on stacks on stacks today. That's what I changed the title to now it's official. So we have to continue this stack conversation.
00:10:06 - Anthony Campolo
Keep stacking it. Stack the stacks.
00:10:10 - Scott Steinlage
That's a great segue into maybe what we're up to with some things that happen with Composability Summit here. Some of you may or may not know about.
00:10:21 - Anthony Campolo
Tell me about Composability Summit, Scott.
00:10:26 - Scott Steinlage
The Composability Summit, actually, we're revamping some awesome things having to do with that, including the site as well, because this is more of an evergreen position. We're keeping this thing going. In fact, we have people still submitting talks and things, which is crazy awesome, to think about people wanting to still be involved with it. But it's about future-proofing your stack, right? Composability Summit is basically an online community that we're creating, and not even just the summit, but composability.dev, if you go there. Soon, very soon, we're gonna have a new site here focused not just on the summit, but composability as a whole, and lots of that lovely stuff there. But basically it's unifying the common trends of microservices, APIs, and micro frontends under this universal theme that we call composability, right? And the cool thing is that I've seen a lot more companies using this nomenclature of composability, which is super exciting. So really looking forward to seeing the continued growth of that and being the head and pushing forward with it, along with all of the people that were involved with the Composability Summit that we had as well.
00:11:58 - Scott Steinlage
Which, by the way, if you go to JavaScript Jam YouTube, you can find a lot of the talks there. In fact, Sabin was on there, Anthony was on there, several people. So you can check out their talks there, as well as all the other speakers that participated in that. And the YouTube channel is JavaScript Jam, so just search that. You'll find it along with a bunch of our other talks. Now another thing we have coming up too is, and maybe Daniel, you want to jump in and talk about this super exciting newsletter that we got coming up. If not, I can continue.
00:12:39 - Daniel
No, yeah, for sure. I mean, we definitely have a new newsletter coming out. It's hosted by JavaScript Jam, but composability is definitely a huge part of it. And other future summits that we'll potentially do that are hosted by JavaScript Jam will also be involved down the road. One of the cool things about it, for anybody who's part of the JavaScript Jam Live, is if you're on the newsletter, you can actually interact with JavaScript Jam Live, suggest talks, suggest speakers, and really kind of drive the direction of the conversation, whether it be about composability or anything JavaScript. It's all welcomed, and we definitely want contributors making those submissions. We want everybody to be part of a community, not just us talking to you, but everybody involved. It's a pretty exciting thing that's coming up. If you've already come in through composability.dev, then you're on the newsletter and you'll get the first issue of it. Other than that, it's going to be growing and expanding. The first one is hopefully going to be going out in the next week or two, so keep your eyes out for it.
00:13:41 - Scott Steinlage
Absolutely. Awesome. Thanks for that, man. Yep. Yeah, we're super excited about that, guys, and super excited to get you guys even more involved in that, and you know, helping to grow everything around this. So super exciting. Anything else new with anybody? Anything cool come up? Anything truly crazy that has been going on lately.
00:14:15 - Daniel
Don't all speak at once.
00:14:18 - Anthony Campolo
I mean, the thing that just came today was Netlify launching some Next.js middleware thing.
00:14:27 - Scott Steinlage
Yeah.
00:14:29 - Anthony Campolo
Yeah. I mean, this is something that I don't know a ton about, but I remember when Vercel first launched their middleware thing, and it's to modify requests and responses and headers and stuff like that, and ways to do clever redirects or authentication or AB testing. There's a kind of suite of different functionality that comes along with this. So I don't know what Netlify is doing here that's different from what Vercel is offering with their middleware, because it was first created as a Vercel and Next.js feature that kind of existed in both of them. This is what happens with everything with Next.js, is that Vercel builds something into their platform that is super dope and gives Next awesome abilities, and then that funnels down to other frameworks that are also hosted on Vercel. And then other places that are trying to host Next have to build those features into their deployment platform to be able to do it. So it's this weird kind of song and dance that everyone's playing here, and allegedly Netlify is doing something that hasn't been done before, which I don't quite understand.
00:15:38 - Anthony Campolo
I think it might be kind of a marketing angle they're going for, but I think it's an interesting play, and so I'll be curious. I don't know if anyone here has used any of this stuff. I haven't used...
00:15:47 - Daniel
it, but I was reading about it. Looks like it's mostly focused on transforming content at the edge using Netlify's Next.js runtime, because the Next.js runtime was released back in April. They just worked off the middleware from Next. I think that's the big difference, but I might be wrong.
00:16:09 - Matt Gilbertson
Yeah, I was confused about some of that stuff as well when I saw the post, just being Netlify putting something out for Next. But I think I saw Jason Langstorf from Netlify is going to be having a stream soon where he kind of goes through how that's working. So I'll definitely be curious to see what he has to say there.
00:16:32 - Daniel
Yeah, definitely. Because when you read through the content, I mean, you can't really differentiate what's different from the April release, like what's actually going on. So that definitely would be helpful.
00:16:44 - Bro Nifty
Yeah, I'd like to hear Jason Langstorf. That's a hard name to say.
00:16:51 - Matt Gilbertson
I had to look it up to make sure I got the pronunciation right.
00:16:54 - Bro Nifty
He's got, he's got a beautiful, beautiful website.
00:16:58 - Matt Gilbertson
Oh yeah.
00:16:59 - Bro Nifty
And wow, does he know a lot in terms of tech. I want to be like that guy someday. And he's got all courses and all, so many courses. That's crazy.
00:17:07 - Matt Gilbertson
He...
00:17:08 - Bro Nifty
He knows everybody. That's cool. So anyway, yeah, I would like to hear his point of view on that. So it was his article? I guess so. It said it was. I just grabbed it real quick. It would say rewrite the response object. Instead of using client-side JavaScript to build the unified global data object that basically represents your front end and your data, or instead of what they call a complicated SSR strategy, it says just grab the response object, and then I guess you're going to be in charge of how you write out your HTML by hand or something. I don't know. It's like really customized or something.
00:18:06 - Scott Steinlage
Yeah, that's interesting. I'm not sure. I guess we'll just have to see what Jason has to say, what they have to say, more on all that. So excited to hear about all that. All right, so we're about 20 minutes in here. Just wanted to thank everybody for joining us today. So far we've talked about different stacks out there and the fun things having to do with that, the MERN, the PERN, everything else in between. And yeah, we talked a little bit about the middleware that Netlify is just putting some PR stuff out on, so we'll see what that all has to do with soon. Yeah.
00:19:07 - Anthony Campolo
I'd be curious to get his take on the PlanetScale stuff.
00:19:12 - Scott Steinlage
Oh yeah, what do you have to say? I don't know if you heard us earlier.
00:19:16 - Matt Gilbertson
I heard a little bit of it. I had to run off for a second, but I think you were referring to PlanetScale. Didn't they recently release a client similar to Prisma Client?
00:19:28 - Anthony Campolo
It's specifically a JavaScript edge database driver thing. I haven't tried it out yet, but it's getting a decent amount of buzz. And I've heard some people kind of comparing it to Prisma a little bit, but obviously it's not super comparable because it's just a client, not the entire toolset that goes along with Prisma. If you don't know Prisma very well, you'll probably actually be confused by that comparison, but I get what people are getting at.
00:19:56 - Matt Gilbertson
Yeah, no, that's exactly the point right there, is that it is another database sort of client like that. So in that way it is like Prisma. But Prisma and PlanetScale are still intended to sort of work together very nicely. And I think this tool that PlanetScale has put out is maybe just an alternative to using the Prisma Client itself. But like you said, Anthony, a lot of the misconception there is that Prisma ORM is just one small piece of everything that Prisma offers, and the toolset's growing. So there's some difference there. But as far as the clients go, I guess they would be sort of competitive technologies, just depending on your use case. I think they have benefits on both sides.
00:20:39 - Anthony Campolo
Yeah, it's a little bit like how Supabase has their own client library as well. But this, I don't think Supabase's is necessarily meant to run on the edge. So this is where it has kind of an edge here, because it can run on the edge, whereas with Prisma... Yeah, right. I didn't even think of it until it happened with Prisma. You all have put a ton of work into making the Prisma client kind of capable of running on the edge if you use the data proxy. So I would be very curious to see if these two could kind of work together. I know there is, as you say, a lot of integration already happening between PlanetScale and Prisma, so I will just throw that out there, that I think that would be a cool thing to collaborate on. I'm sure there's a lot of interesting politicking between different companies and whatnot, but it seems like you're mostly on good terms with them, from the integrations I've seen so far. Yeah.
00:21:32 - Matt Gilbertson
And I'm not necessarily deep into the conversations between development teams, but I do know that the development teams between PlanetScale and Prisma do communicate fairly often with feature sets they're putting out. So I'm sure there has been some collaboration and sort of, you know, putting brains together there.
00:21:52 - Anthony Campolo
Very cool.
00:21:57 - Scott Steinlage
Awesome. Thanks for sharing that. It's always good to hear from the inside.
00:22:03 - Daniel
I'm curious, what else is in the pipeline over at Prisma while we got you?
00:22:09 - Matt Gilbertson
Yeah, there's actually quite a bit. Our roadmap on our website shows a lot of it, but we're really expanding on the Prisma Data Platform right now, which is one of the bigger things we've sort of released to the general public recently. What we're doing at Prisma is really creating a new piece of your data layer stack that doesn't really exist yet. It's sort of a unifying piece that gets all of your infrastructure put together in one place. And so our main push right now is sort of defining what that is and talking to a lot of big tech companies who are struggling to keep their entire data layer in a manageable state. With big teams and microservices and all of that, it gets all dispersed. So we're pushing toward unifying that and creating a platform for people to easily be able to scale up and manage large teams.
00:23:05 - Daniel
Got it. Very cool.
00:23:09 - Matt Gilbertson
Yeah, it's exciting stuff. It's definitely been fun. I'm fairly new on the DevRel team there, so it's been fun jumping into the product and being able to work on a team that's building something that technically doesn't really exist right now. So it's cool to be able to define that sort of market and definition around the whole product itself.
00:23:28 - Daniel
Yeah, it's funny because Prisma, ever since it was GraphQL, it's always been a reference point of mine. I'm like, these are the people who are doing it right. I always love the direction that that team has taken. No matter what road you guys have gone down, it's always been very good and very community-focused. And I think that so long as it continues, I mean, it's just exciting stuff every time I hear something surrounding the team.
00:23:55 - Matt Gilbertson
Yeah, I totally agree. That's why I was so excited to join the team, is that the team within Prisma, they're really open to the community, input, and collaboration with other companies. So it's nice being able to talk to the different companies out there and just sort of bounce ideas off each other. And that's sort of where we get our direction a lot of times, is talking to other companies and seeing what the needs are currently in the ecosystem.
00:24:21 - Daniel
Right.
00:24:22 - Matt Gilbertson
Totally makes sense.
00:24:23 - Daniel
And I mean, you can tell that's definitely a major focus. It always has been. It seems like Prisma, since the early days, has always been ahead. They've really stayed in tune with the market so much, and that's really why they stayed relevant. Think of how many solutions have come and gone since that team's original existence. And you guys have always stayed at the top of relevancy, and it seems like it's becoming more and more an essential piece of architecture. Anybody who's going to build these days, Prisma is always in the conversation, so it's awesome.
00:25:01 - Matt Gilbertson
Yeah, for sure.
00:25:04 - Bro Nifty
I don't know if, to add to your guys's conversation there, I don't know if there's a rule for it yet, but I would say there's some kind of rule that the older and bigger companies get, the more they rely on data and the more data-related jobs there are. And so, yeah, that's what I do, that's how I make money. I work in data. But what I was thinking of is Prisma as sort of a provider, or I like to think of it as a database driver. Like it's an ORM. It's a layer between the users to make the connection and get access to the database, and it provides that unified layer where it's different adapters, whatever, you just change the parameter. But it's the same connection, same API, same query. And so it gives you this access to a unified data layer. And I was thinking how similar, or like what... I don't know if this is kind of crazy talk here, but Google BigQuery has this new BigLake in there combining, so that now not only can they query like a database, but also from object storage, like your file system, whatever, like how Hadoop works, but it can also do AWS, Azure, and Google Cloud.
00:26:29 - Bro Nifty
Like one quick query can query all of them and pull it all in together. So that's kind of like a unified query structure too. I don't know if there's any relevance to any of that. I guess you guys are just databases, so it's probably not related to objects, or if there's cloud stuff, or just database connections, or if there's any cloud overlap there. But I don't know, I'm just throwing stuff at the wall. See what sticks.
00:26:59 - Matt Gilbertson
Yeah, definitely. And those are all valid things to consider between differences between Prisma and what other people are doing out there. And yeah, as far as I know on the roadmap, things like file storage, querying, and things like that aren't really on the roadmap at the moment. But what we're sort of focusing on is providing different layers on top of what you just described. So what you just described is sort of just the data layer where you're communicating with your database and querying data. However, especially in larger teams, if you look at Facebook's, I think it's called Tao, and Twitter has Strata, those are the different data infrastructures that run Twitter and Facebook that they've built internally. They've spent a ton of time and a ton of resources building these layers where you can control access to your data across different microservices, different authentication between different microservices, and different sets of data between different teams. And they may be working with 20-plus teams. And all of that is something that has to be managed by an entire team. So the goal here is to sort of unify all of that together into one spot.
00:28:10 - Matt Gilbertson
That way, you know, it just makes the lives of the whole development and infrastructure teams easier.
00:28:25 - Scott Steinlage
Absolutely. All right, well, we're about halfway through today so far. Thank you all for joining us. Who just jumped in the room? If you're not familiar with us, this is JavaScript Jam Live. We do this every Wednesday at 12:00 p.m. Pacific Standard Time, where we talk about anything and everything JavaScript-related and web development as well. So super exciting stuff. We've had a lot of great conversations going on today and wish to continue doing so. If you want to partake, please feel free to do it. In fact, we don't want to just stand up here and chit-chat ourselves to death. We love to hear from you guys because that's where the most value happens, typically, is when the audience partakes in it. Whether it's asking a question, making a comment, or giving your opinion, whatever it might be, we love to hear from everybody. And it doesn't matter if you're a beginner or if you've been doing this for a long time, we'd love to hear from everybody. So yeah, feel free to request to speak, and we'll bring you on up.
00:29:30 - Anthony Campolo
No problem.
00:29:31 - Scott Steinlage
All right, thank you all so much. Let's continue this fantastic conversation. Let's see what else is new in the world of JavaScript and/or even just web development. Anybody have anything?
00:29:54 - Matt Gilbertson
Yeah, yeah, I've got something. I just jumped on a little bit late. Has the whole Oven company been discussed yet? Bun is now hiring.
00:30:03 - Scott Steinlage
No.
00:30:04 - Matt Gilbertson
Yeah, that's a spicy one there.
00:30:07 - Anthony Campolo
I mean, it's shocking, but not shocking. So for anyone who pays attention to the minutia of JavaScript build tools or JavaScript runtimes or general JavaScript madness that either you have a certain fondness for or you run away from because you find it terrifying, Bun is kind of the new hot thing that lets you do JavaScript but like way, way, way, way faster, because that's the only thing we care about when it comes to our build tools, is can it do the thing it already does, but like 10 times faster? So that was kind of the whole pitch of esbuild, and now it's the pitch of Bun to a certain extent, but it's not Node and it's not Deno. It's something else entirely. So it's hard to kind of give it a mental framing until you've actually used it. And now it's gotten so much hype that everyone's kind of expecting some sort of company to be built around it. So they gave the creator like $7 million to build a company around it called Oven. And yeah, no one really knows what it's going to be or how it's going to make money, but it's definitely interesting.
00:31:17 - Matt Gilbertson
Yeah, I'm excited to see that growing because, I mean, I'm not super well versed in runtimes and all those nitty-gritty underlying pieces of JavaScript and how those pieces of the web work. But it definitely interests me, and I've been trying to get into it more, and all of the people involved in Bun are really active with sharing their findings and their thought processes on Twitter. So it's been really cool to watch them sort of work through this.
00:31:46 - Anthony Campolo
Yeah, there's an epic GitHub repo just for it. I remember going back about a year ago, Danny on the Redwood team was telling us about it. He was like, yeah, this thing doesn't work with Redwood right now. It's not for a while, but when it does, it's going to be tight. And so he was already kind of looking at it. And so I scoped it out back then, and some of what's been building in the open this whole time is just that some people are more attuned to the things kind of happening under the surface than others. But it's good if you don't really want to have to care about all these millions of projects, and then once they bubble up like this, you're like, okay, now it's time for me to pay attention to this. So Bun's at the stage now where it's like, yeah, you should probably at least read what it is and try to get the one-line explanation of it. But you're not about to migrate your whole company to it now, or even in like a year. So you don't really need to worry about it at that kind of level yet.
00:32:46 - Daniel
Not to sidetrack, but I think that this year has been the most interesting year for projects, getting a lot of hype and then funding through unique ways. Like [unclear] in the GitHub survey or the Stack Overflow survey, and now they're able to raise money. Back in May it was the same thing. I think it was either Deno, or I don't remember which specific company it was, but same thing: got a lot of hype, immediately raised funds. Whereas projects in the past, no matter how popular they got, they struggled to raise funds. So I think it's awesome to see the investor dollars going into it. I hope it just doesn't change the opinions of it too much.
00:33:22 - Anthony Campolo
Yeah, Astro and Remix being two other examples of that that got some VC funding. And yeah, it's going to be interesting to see how it goes. I think if you look at a company like Rome, they did this like two years ago, and they've not been very successful in actually shipping anything or, in turn, being able to build a community, because if you have nothing to ship, you have nothing to build a community around. So all of these tools actually have things that people are using, which I think is a very, very good sign. With Bun, it's not necessarily that there's a ton of usage so much as the people who are likely to actually integrate this thing into a framework are already looking at it. So that shows promise. That may end up as a building block where it may be kind of invisible to people, but it's going to enable a lot of really cool higher-level tools.
00:34:14 - Daniel
Oh, for sure. And I mean, I wouldn't even discount things like Rome. Think back when Meteor JS was in popularity and now it's Apollo, like the pivot in the long term from the dollars definitely helps out when they can do it.
00:34:28 - Anthony Campolo
Yeah,
00:34:38 - Scott Steinlage
Very good. Yeah, I see we got some new people in the room. I see Jacob Dunn, looks like you are a veteran as well. Man, that's awesome. And a developer sometimes. I love to hear people's stories on how they came about being a developer, what they're currently doing, and what their passion lies in, because typically a lot
00:35:05 - Anthony Campolo
of people can relate with that.
00:35:08 - Scott Steinlage
And yeah, I don't know if Jacob would be willing to share, or anybody else in the room, Zach, or...
00:35:14 - Anthony Campolo
Well, we added Ryan as a speaker, right?
00:35:18 - Scott Steinlage
Yeah, or Ryan. Oh yeah, that's right. Ryan, we brought you up as well. Did you have something that you wanted to contribute here, Brian?
00:35:27 - Ryan/Brian
Yeah, I did actually. I'm happy to talk about my story if you want, but there was something new. You asked for new things in the JavaScript world, and I don't know if this is actually new, but maybe people have heard of it. It's new to me. A frontend-oriented desktop application runtime called Tauri. Has anybody heard of this? It's Rust-based, and the real innovative thing is that it uses the native web-rendering libraries from the different operating systems it runs on, and it's built in Rust, and so it creates...
00:35:58 - Anthony Campolo
This is like an Electron competitor, right?
00:36:00 - Ryan/Brian
It's an Electron competitor, exactly. So the idea is that it creates binaries that are way, way, like four times, 10 times smaller than Electron apps. I've seen something like 97% even. Go ahead.
00:36:17 - Anthony Campolo
Electron 101 for people. I know what Electron is. I've never actually used it or built anything with it.
00:36:23 - Ryan/Brian
Yeah. So Electron's a platform for creating cross-platform applications, or a runtime, I'd say, for creating cross-platform applications using front-end technologies as well as Node technologies, I guess, as well. So JavaScript, HTML, CSS. And so Tauri, or... I don't actually know how to say it, but it's basically the same thing, using a different set of underlying runtimes to create this distributable software that's smaller and faster. But yeah, it's just something I learned that's new.
00:36:56 - Anthony Campolo
Yeah. I'd be curious if either Danny, Saban, or Bro Nifty have done anything with this, because it's something that I've always had in mind. It's like React Native is something that I know is only one step removed from what I do, but I've not made that leap yet to actually sit down and learn it. But it looks really interesting.
00:37:15 - Matt Gilbertson
Yeah. So I actually just saw that for the first time yesterday. I think swyx posted about it, and I started to look into it, and it's definitely something I want to play with. I, in the past, have written quite a few Electron apps. One of the past companies I worked at, I was working primarily in an Electron app, and there were times when it got pretty slow and when the binaries got really big, and it was really hard to manage and ship out products in a timely manner working in that way. So it'll be really cool to see what Tauri, however you pronounce it, does. I guess I'll need to ask the person who made it, but it'll be cool to see how that competes with Electron and what's different there.
00:38:00 - Ryan/Brian
I mean, naming is the hardest problem, right? I've made a couple libraries myself where I just... People are always like, how do you pronounce that? And I'm like, well, that's the problem, right? I shouldn't have named it that.
00:38:11 - Matt Gilbertson
Yeah,
00:38:17 - Bro Nifty
Yeah, it seems pretty experimental. I think I'll stick with Electron for now, even though I haven't really gotten into it too much. I bought a few courses. I haven't taken them fully yet, but Brad Traversy has one and some other ones have some Electron stuff, because VS Code is Electron, and that thing is dynamite. I mean, that is the best app known to man besides Excel, which is also Microsoft. I don't really like the vendor lock-in of Microsoft products, though. But I do like Excel, and I like VS Code for sure. But Electron, I think, is fine. I don't see the need to go anywhere else, at least not for now.
00:39:04 - Ryan/Brian
I think where this would be really useful is, people make tray applications in Electron where it has very minimal UI, but you're shipping a lot of code to create a little tray app. It'd be interesting to use something a little smaller, a little faster for such a minimal application.
00:39:20 - Bro Nifty
That sounds appealing. Do you have any opinions on the idea of Go being a single binary, and it can nest a database in there like SQLite, and you can kind of just double-click the executable? It's like all in one little binary, though. Do you have any opinions on that? On Golang?
00:39:47 - Ryan/Brian
Yeah, I mean, I love Golang. I've used it a good amount, but I don't have an opinion exactly on that. I'd love to hear other people's.
00:39:55 - Bro Nifty
Yeah, I'm starting to get into it. Docker and containers and all the Kubernetes runtime stuff, it's all built in Go. It's all Go-based. So Rust is brand new. I think Rust is cool. It's a C++ competitor. I think Deno is based on it, and I think Deno is amazing. And I think I'm starting to use Deno just because you don't have to set up a TypeScript compiler thing. It's all out of the box or whatever. So I'm starting to use that. But yeah, Rust is definitely amazing. But Go, I would not sleep on Go if you're into the containers and networking space. There's some cool stuff going on there.
00:40:44 - Daniel
Yeah, I haven't used Go specifically for that use case, but I've used it in the past. And I will say, for larger projects, it's definitely a lot of upfront work just to kind of get things moving in the right direction. If you have something smaller, it's fine, but if you're working with a larger team, it's definitely more difficult. And you got to think, my experience was like four years ago. It might be better now, but there's a lot of underlying work that's required to really get things moving. Whereas Rust is kind of similar in that way, or at least it was. I mean, I've always really enjoyed Rust, so that's kind of the difference. I don't enjoy Go as much. But back in the day, when we were comparing for us, it was Kotlin or Go or Rust. Where do we want to go with that specific use case? And Kotlin just had so much more support because it taps into the Java ecosystem. But I'm sure it's gotten better. But I just remember Go being such heavy lifting to get a large project going. It just took a lot of time.
00:41:42 - Bro Nifty
We had a conversation earlier. You're a Java guy. Okay. Yeah, I always feel put off by Java. I feel like that's just forbidding, such an imposing figure, that the whole system feels so big and heavy and crazy. I don't know. I never really...
00:42:03 - Matt Gilbertson
I never really caught on with it 100%.
00:42:06 - Daniel
Yeah. Choosing anything Java-related is definitely a job-market choice. It's so much easier to find talent, especially if you're scaling up a team or starting a larger project and just need something dependable to tap into without paying obscene amounts of money to build the team behind it. And that's the only reason I've kind of been in those projects. I'm not specifically an advocate for Java or anything like that. I do love Kotlin just because, to me, it's so similar to JavaScript, and I'm a big fan of JavaScript. But Go was just one of the more difficult languages to really implement in a larger team. That was like the number one learning. I was an advocate for it. I played in the Dart/Flutter land before they really got kicked off. And I've always supported Google whenever a new project's going, but I never felt the pain points as much as when I started with Go on a larger project.
00:42:56 - Bro Nifty
Google is definitely the boss. Go ahead, whoever. If somebody was going to talk, I don't want to hog the mic.
00:43:05 - Matt Gilbertson
I think a lot of the reason for the high entry point for languages like Go is the people who created them. So if you think about Google, they're such a big company, and they created this language really to fill their own needs. And while the resources they have may make it really simple to get up and going with Go, smaller teams, it may be a little bit more difficult because there's just so much to do. I think the same thing sort of applies to Angular, which Google's working on. It's the same sort of thing with that, where it has a lot of boilerplate setup that you have to get ready before you start working on a project. And it can be daunting. But if you are working on a large team, it may be worth the extra time put in in the beginning. So it really just depends on what the context is of who's working on it.
00:43:55 - Daniel
Oh, absolutely. And especially if you have a team that's ready to transition to it and you're not bringing that team into a completely new learning environment and they're all fresh to the company as well, then I think that would definitely help out for sure.
00:44:09 - Ryan/Brian
I mean, the need that Go was really made to fill, which is different from JavaScript, just to bring it back to the topic, is the idea of making everybody's code sort of the same. It's tough to be very expressive in Go. Everything sort of looks the same, which is kind of great if you're a big company. But if you're doing TypeScript or JavaScript, there are so many different directions you can go with things. But I wonder if anybody else has an opinion on that.
00:44:35 - Bro Nifty
I think I was the one who brought up Go, and I can't speak much to it. I'm just getting started with it. I got the Ardan Labs, all their courses or whatever, and I go soup to nuts and figure it out because they've also got the Kubernetes stuff, which I'm interested in. And because Go is kind of the backend for that, I figured, well, let's do it all anyway. And the guy, Bill Kennedy, who teaches the course, and I think it's his company...
00:45:02 - Matt Gilbertson
I don't.
00:45:02 - Bro Nifty
I don't know the whole etymology of it, but he's got very strong leadership qualities. I can't think of the word. But yeah, I don't know a lot about Go. I'm just getting started with it, but all I know is it's the backend for the container networking runtime of Docker and the Kubernetes infra stuff. So I figured this must be... was...
00:45:23 - Anthony Campolo
Must be useful for microservices.
00:45:25 - Bro Nifty
Yes.
00:45:26 - Daniel
Yeah.
00:45:26 - Anthony Campolo
And macroservices too. Like all of StepZen was one giant Go server. So it could be used for all sorts of stuff.
00:45:35 - Daniel
Oh yeah. I mean, from a tooling perspective, if you ever worked on the ops side, Go is bar none. I feel like it's so much simpler. Back in the day, if you were working on something automated on the scripting side or tooling for ops, you would be in Python or Ruby, and Go kind of eliminated a lot of that, and it's made it more consistent. I do love it from that perspective especially. But yeah...
00:46:00 - Ryan/Brian
Yeah, I always felt like JavaScript is like painting. It's very expressive. It can take different forms, and it expresses the creator a lot, which is going to be a good thing and a bad thing. Having used a couple languages myself, I...
00:46:16 - Scott Steinlage
I think you just came up with a pretty good tweet there. JavaScript is like painting.
00:46:20 - Ryan/Brian
I think I've tweeted it years ago, but you feel free to take it yourself. I don't think it's an original idea.
00:46:27 - Anthony Campolo
That's true. That's why the paintings can be beautiful or the paintings can be eh.
00:46:34 - Ryan/Brian
Or all art is beautiful.
00:46:37 - Anthony Campolo
Yes. In the eye of the artist, in
00:46:41 - Ryan/Brian
the eye of the interpreter.
00:46:42 - Scott Steinlage
Yeah, exactly. Right, absolutely. Wow. Awesome conversations going on. Jacob, what's up, dude? You wanted to come up to the stage. I think you're on mute, by the way. There you go. Well, you came off mute for a second and then went back.
00:47:13 - Ryan/Brian
Spaces is alpha. You know, Spaces is alpha software.
00:47:20 - Bro Nifty
In the house.
00:47:22 - Ryan/Brian
I know, I know.
00:47:28 - Anthony Campolo
I just.
00:47:29 - Ryan/Brian
I get booted out of Spaces. I get muted in Spaces. It's like you can accidentally kick someone out so easily and then they can't come back. I think it's a great feature. To me, it's like a walkie-talkie, but I really think it just needs some work, and there's nothing wrong with that.
00:47:43 - Daniel
What trips me up the most is when you have it on mute and your icon's not next to your name, and then you go to unmute and the icon appears on your screen. So you think you're muted, but you're not, or vice versa.
00:48:00 - Scott Steinlage
I'm.
00:48:00 - Bro Nifty
I'm gonna let you finish, but Trash Dev is the best poster of all time.
00:48:08 - Anthony Campolo
Yeah, we got another, also Prisma person in the crowd, Austin.
00:48:12 - Scott Steinlage
What up?
00:48:12 - Anthony Campolo
What up? Yeah, people who I frequently see speak in Spaces. So if anyone wants to hop up and join us, feel free. We still got like 10 minutes left here.
00:48:25 - Ryan/Brian
Prisma. What a great piece of software.
00:48:29 - Anthony Campolo
Prisma.
00:48:29 - Scott Steinlage
Never heard of it.
00:48:33 - Ryan/Brian
I used to kind of trash on Prisma in the original one, and even in the newer version. Sorry, background noise. I'll stop.
00:48:43 - Anthony Campolo
Yeah, the Prisma 1 days.
00:48:46 - Matt Gilbertson
Yeah, I think that's a common trend. There was a lot of direction discovery, I'll call it, in Prisma in the first couple of iterations of it. I think we found our stride now, and we found the direction that we're headed toward, but there were a lot of versions out there with different ways of doing things.
00:49:07 - Ryan/Brian
Yeah, I mean, the point of it is, of any great tool, write once, focus on configuration, and don't have to write the things that you don't have to write. And I think that's kind of the thrust of a lot of tools that I appreciate. The less I have to write to create as much functionality, the better. So being able to create a schema and have that turn into a bunch of things, being able to not even write a configuration file like Vite or something, where you just kind of let it work and it does its thing, I think is really a sign of a great tool.
00:49:40 - Matt Gilbertson
Yeah, I tell people that a lot, especially JavaScript developers. We like to use tools that allow us to be as lazy as possible. So I think Prisma is doing a good job of allowing people interacting with databases to be lazy and safe.
00:49:56 - Ryan/Brian
Lazy and safe.
00:50:04 - Scott Steinlage
Awesome. Well, Jacob, I don't know if your mic's working yet or if you wanted to say something, but feel free. If not, Jimka, what's up, man? I hope I pronounced that correctly. How are you?
00:50:18 - Jimka
I'm doing good. Nice. Thank you for taking me up. Actually, I just saw the topic, and it was kind of frustrating. I didn't have any idea about it because I was seeing "stacks on stacks on stacks." So I wanted to kind of ask, what does it mean? Because I do understand this from the point of assembly language or the low-level stuff, Intel and the rest of it. So I'm not really familiar with JavaScript though, still on the low end. So can I just get an explanation
00:50:47 - Scott Steinlage
of what that means? Yeah, absolutely. Well, it captured your attention. So that's number one, the first thing it was supposed to do. So awesome. Glad you're here. But number two, stacks, right? Like the MERN stack, you know, Mongo, Express, React, Node.js, PERN stack, blah blah. All these different stacks, all these different languages create essentially a stack. We were talking about several different stacks in the beginning of this live episode here.
00:51:25 - Anthony Campolo
Throughout the course we've talked about Prisma a lot. And Prisma being, I think for me, enables there being even a full stack at all, because the term stack is very generic. But when we talk about stacks like the MERN stack or something like that, it's a full stack in the sense there's a front-end layer and there's a database layer, and that's all together in one project, and that can be enabled through an ORM such as Prisma. The title is a throwaway based on just one part of the conversation. We meander around different topics here at the Space, but that was kind of one of the things that we're circling around today.
00:52:10 - Ryan/Brian
Yeah, I have sort of a spicy take on stacks. I think the idea of stacks is great, and I think from a learning standpoint it's great to focus on a particular thing that gets your result, even from starting out on a project. But I think the idea that you're gonna have one database in a large project is a little bit limiting. I think the idea you're gonna have one language in a project can be limiting too, depending on the scale. So I think it's good for learning. But I think when you get into a big project, it may be like a, you know, [unclear] stack. So I think just saying like, oh, the MERN stack, and we develop on the MERN stack, is a little bit limiting. But that's my spicy take.
00:52:46 - Matt Gilbertson
I definitely agree with that, actually. And there's another stack out there right now that they call a stack, but it's less of a stack and more of a starter pack, the T3 stack. I know, Anthony, you'll probably have stuff to say about this, but it tends to be a little bit...
00:53:02 - Scott Steinlage
Where's Theo?
00:53:03 - Matt Gilbertson
Yeah, he's all over the place. He needs to be here. But I feel like that one gives you more of that flexibility to grow in the future just because of the way the different pieces are put together. It allows you to sort of expand upon and add to easier than some of those stacks that are kind of, you get what you get, and once you grow out of it, you move off to something else. I think that's an exciting one I've been following as it's been growing.
00:53:30 - Anthony Campolo
Yeah, the T3 stack, and specifically Create T3 App, it's an interactive CLI tool that lets you generate a Next.js app because you start with Next.js as the base with TypeScript. It does not work without TypeScript. You can only do TypeScript. You do Next.js and TypeScript, and then you can add on, if you want, either Prisma or NextAuth or Tailwind or tRPC. And tRPC is the important part of this, what makes this a very unique stack compared to something like Redwood. Redwood uses GraphQL, and that's what allows the end-to-end type safety because you have this schema that is created in your GraphQL schema. But with tRPC, you're creating a type-safe remote procedure call API so that your front end can make function calls directly into your back end in a type-safe way. It's really mind-bending, and it's kind of fulfilling something that Blitz kind of started, or that it was a big proponent of in the beginning. So yeah, it's a really, really fascinating stack, and I wrote a whole blog post about it. I've been following it for the last two months, and Theo did not create the stack.
00:54:44 - Anthony Campolo
A 17-year-old created it, and he's going to maintain the whole thing. His name is Nexel, and then Julius is the other maintainer of it, who's like a 21-year-old Swedish kid. It's awesome. So it's a very, very cool project made by very, very cool, smart, up-and-coming developers. I highly recommend people check it out.
00:55:07 - Matt Gilbertson
Yeah, it's been a super cool project to follow, and along the lines of what you said about Blitz, how it sort of fulfills that, I know you and I had a conversation about this the other day, Anthony, but I think it also is expanding on older technologies that were headed in a really good direction but sort of got swept under the rug when advances in JavaScript came out. So things like ColdFusion and some of those older languages out there, even PHP, a lot of the design patterns that were super popular in those days, like RPC and things like that, are sort of coming back in a more modern way, and it's kind of cool to see these throwbacks become the sort of new standards that are coming out. I think it's going to be fun to see it evolve in that direction.
00:55:56 - Ryan/Brian
ColdFusion, there's a name I've not heard in a long time.
00:56:00 - Matt Gilbertson
Yeah, I was a ColdFusion developer for eight years, so that's why this has gotten me so excited.
00:56:06 - Ryan/Brian
Four years for me.
00:56:09 - Bro Nifty
You mentioned PHP. You know, I had some serious envy last night, actually. I was looking up the multipart upload, which I know is deprecated. Well, it's not deprecated, it's the old version of uploading big files. Now it's a library. But anyway, the PHP code for multipart S3 upload is so simple, versus Python, versus the other APIs. I was thinking, like, going away from PHP, was it really that smart of a choice? When I'm looking at something like how fundamental it is just to upload a very large video file, for example, to S3 from a web form, how fundamental is that? It's so easy to do in PHP and so hard to do in JavaScript or Python or Go or whatever.
00:57:03 - Ryan/Brian
That's where I get into the multiple-technologies-in-a-stack thing. You're led to that because there's prior art, there's other things, there's knowledge of people that leads you to use multiple technologies in a single product. So it's like you may have your upload form in PHP, and you may have something else in some other part that's easier to do. I mean, there's no real rules about it. And I think, like I said, from a learning standpoint it's great. But as you learn, you should be learning fundamentals and not limiting yourself to a particular technology. If you can learn a little bit about a lot of things and don't just say, like, "I'm a MERN stack developer" and leave it at that, I hope as you grow...
00:57:45 - Bro Nifty
Well, there certainly is no out-of-the-box... I don't see any out-of-the-box, ready-to-code frontend and backend multipart upload, or like the new version of the AWS SDK for S3. It's V3 SDK for S3. It's a lot of words. But anyway, I don't see any front-to-back multipart upload ready to go. It's all over the place. You have to piece all the different parts together. I don't think it exists yet. But that's what, let's see, like Dropbox, for example, they use S3 in the backend and they just basically put a web wrapper over it, and they made a lot of money doing that.
00:58:29 - Ryan/Brian
That... I used to work at Dropbox. That's actually not true anymore. That was initially true, that it was all built on Amazon, but it changed I don't know how many years ago. But I did use to work there, so that's my insight on that. But it was built on S3 for a long time.
00:58:43 - Bro Nifty
I think Backblaze is cheaper than S3, but at least for now I'm working with some listeners and stuff, like you drop something in a box and I need to kick off a Lambda job and stuff like that. So I kind of need that AWS infrastructure right now. But anyway, yeah, Backblaze, I think, has a cheaper way to do it. And what else? They have some different third-party tools. I know you can buy a tool or use a third-party tool and make it easier, but I was just trying to do it from scratch because it's kind of like I don't want to pay the fee anyway. I'm done.
00:59:25 - Ryan/Brian
Yeah, I've definitely written the same Lambda in JavaScript many times to do S3 uploads. Every time, there should be something standard for it, for sure. And yeah, it just gets to, like, different languages. Things are easier in different languages. And not everything's easy in JavaScript. There's not as much prior art around, like, machine learning, for example. It's like, no, you wouldn't do that necessarily in JavaScript, although I guess with TensorFlow maybe you would. But that's the thing. I think for different tools, different tasks, different tools are better suited. And that's where I get to with the stacks. And so stacks on stacks on stacks is actually a pretty good description of how things are actually built.
01:00:09 - Bro Nifty
Brilliant.
01:00:16 - Ryan/Brian
Nice.
01:00:17 - Scott Steinlage
Well, I guess my title worked out in the long run, but thanks for bringing that full circle for us, Ryan, and everybody else contributing to the conversation. Jimka, by the way, I hope we answered your question there, man, and that helped you understand what we're talking about there. Yeah. So it is 3 o'clock on the dot here, Central Time, or 1 Pacific. That pretty much wraps up the conversation for today. And man, I swear, the conversations within the last 10, 15 minutes of the call really start to pick up, and it's like you want to continue for another hour, you know, and [unclear] keeps telling me things really only get going after hours.
01:01:09 - Anthony Campolo
Yeah, then go for four hours.
01:01:13 - Scott Steinlage
Right, right. Then we're four hours in. There goes the whole day. But yeah, I am actually contemplating extending this out maybe half an hour to an hour. I don't know yet.
01:01:26 - Anthony Campolo
Should tag team an hour each.
01:01:29 - Scott Steinlage
Yeah, that would be interesting. Well, we'll have to figure something out. Maybe we'll try it one day.
01:01:35 - Ryan/Brian
I'm gonna actually do a Space after this if anybody's interested, so go ahead.
01:01:38 - Scott Steinlage
Awesome. What's your title going to be?
01:01:41 - Anthony Campolo
Twitter Space Raid.
01:01:44 - Ryan/Brian
I know I did that with someone yesterday. They had a Coffee Dev Chat, or Dev Coffee Chat, I can't remember what it was. And they basically raided me. They should have that on here. Steal that from Twitch.
01:01:57 - Scott Steinlage
You should come up with a title that people can't pronounce. That would be the best part because then they'll come in asking you how to pronounce it just to come in.
01:02:05 - Ryan/Brian
Stacks cubed. Stacks cubed. Stacks cubed.
01:02:09 - Scott Steinlage
There you go.
01:02:09 - Anthony Campolo
Go.
01:02:10 - Scott Steinlage
Stacks to the third, stacks to the fourth.
01:02:12 - Ryan/Brian
Stack Factorial.
01:02:16 - Scott Steinlage
Yes, absolutely. But hey, I just wanted to thank everybody, and I also wanted to say, look, before you jump off of here, make sure that if you got value from someone speaking on stage here, click on their face and follow them. Because obviously if you got value from them here, you're probably going to get value from them in other places too, and other Spaces. So make sure you do that. And also, we wouldn't mind if you would follow JavaScript Jam as well, because we do go live every Wednesday at 12 p.m. Pacific Standard Time, and it's been a fun and exciting one. Thank you for everyone joining us today. We had a couple new faces, and it's really cool speaking up here on the stage. And it's really great when we get some new people coming in and participating as well. And we hope that you continue to join us every Wednesday as well. So thank you all so, so much. Greatly appreciate it. Don't forget to go check out composability.dev. We will have a new website coming up very soon, but go ahead and register there so you can get on our newsletter and know everything that's coming up for the week and the past stuff that has happened as well.
01:03:31 - Scott Steinlage
And we'll be highlighting specific people in there too, and so that's exciting as well. And thank you all so, so much. Greatly appreciate it. Anything else you want to bring up, Daniel? Anybody, before we jump here? All right, yeah, I'm ready.
01:03:56 - Ryan/Brian
Ready to hit start on my space. So I was just waiting for you.
01:03:58 - Scott Steinlage
All right, I'm going to do our little beatbox outro because I was asked by a couple of people to make that a thing. So it's not going to sound as good if I actually had my mic set up, but let's just make it happen. Anthony, you can join in if you want.
01:04:18 - Anthony Campolo
Thank you, perfectly in sync with each other.
01:04:21 - Scott Steinlage
Yes, I'm sure it will. Thank you all so much for joining. Greatly appreciate it. Peace. All right, y'all, thank you so much for joining us. I hope you have a good evening or weekend or day or later or week or whatever it is. You know, one of those days, Wednesday, hump day. All right, that's enough for me. Peace.