Full stack web developer and Egghead instructor
- Thursday, 5:00 PM—5:20 PMHigh Performance CRUD Apps
Full stack web developer and Egghead instructor
Hello, everybody. I am so excited to be joined by my friend Jacob Paris. Say hi, Jacob. Hey, everyone. Hi, Jacob Paris. Super excited to have you at the conference in Utah on April 11th. So make sure folks get that in your calendar so that you can come and see Jacob. I've known Jacob for a long time,
and really excited to meet again in person in Utah and hopefully get some snow up there so that we can go snowboarding. But if not, there are lots of other cool things to do in that area, too. Anyway, before I get ahead of myself, Jacob, I would like people to get to know you a little bit.
So could you give us an intro to who you are and what you do and what you're into? Yeah, yeah, yeah, sure. So yeah, thanks for having me on here. Yeah, my name is Jacob Paris. I'm a software developer from Canada. I'm currently an ed head instructor.
At the moment, just doing some freelancing and consulting, building a lot of cool stuff with Remix, and running the Remix Community Newsletter. I started development kind of a long, long time ago, back in game development. I sold the first Splash game back in 2011.
And a little while after that, got into web development stuff. But I've kind of been doing full-time web development for the last six years. And a big chunk of that has been just working on internal company applications. So I don't really have a big tech back story,
like I see a lot of the other speakers of the conference have, never worked at the FANG companies. But that's just been a lot of working for regular companies with small teams of a dozen or even fewer people, building stuff for their companies to use. So it's like some asset management
system for construction companies, a couple CRMs, one for web developers, one for mortgage brokers. And kind of at that time, it's like every one of these apps, they're all very, very different. But they're also just tend to the same in a lot of ways.
It's like they're just fancy UI abstractions over some common database interactions. It's all like enterprise cred stuff all the way down. And I guess at this point, most of what I know about web development comes from building those UIs over and over and over again
and trying to make them work really, really well. And that's kind of been the biggest focus of my last little while, especially exploring with Remix, is that Remix is now making it super, super easy to be able to build those in a really high performance way that's also easy to maintain at the same time.
And that's going to be the focus of the talk I'm doing here. So just looking at a lot of different ways we can interact with data, we can manipulate it, we can fetch it, and how to keep all of that kind of in sync and how to manipulate that when building modern web app
or crud-type web applications. Yeah, very cool. Yeah, so that actually explains a lot about your interest in the Epic Stack and the level of contribution you've had there and everything. It seems like the Epic Stack is the perfect solution
to the problem that you've had as you've been building pretty much the same app, the same sort of app for so many companies. Would you say that's true? Yeah, every time I go to a different place and they've got this new set of technology
and you need to kind of relearn the new way of doing things with all these different tools, most of it's not fundamentally that different under the hood. There's a lot of different, different, different tweaks, approaches, there's a few different things to learn. But most of the time, it's not like there
was a huge decision document chosen for why all these companies are using these tools. It's just it's what the developer knew when the first guy in charge of the project decided to start building it. Like, people go with that. I'm really excited about the Epic Stack
because it kind of gives a little more rigorous, both as an example of, hey, which technologies could we choose, but also there's the extensive decision history. So you can see, do any of these decisions make sense for us? Should we adopt these tools in our own company?
And that plus the dozens upon dozens of examples of things that aren't included in the stack but are still possible, making small alterations to it, I just think that's super, super useful. And it's definitely been my go-to stack for a little while
and will continue to be for the future. Yeah, super. And I appreciate your contributions as well, both in contributing directly with code as well as articles and things that have been really helpful as well. So yeah, let's dive a little bit deeper
into what you're planning on talking about. People know that we're recording this several months ahead of the conference, and so things can still be a little in the air in that way. But what are you thinking for the talk that you're going to be giving at Epic Web Conf?
Yeah, so kind of the main idea, sort of the motif of the talk as I've currently sort of outlined it, is to break down the patterns of your typical Quad application. So we've got the create, the read, the update, the delete,
the different types of sort of the different examples of having to do each of those things. So sometimes you're creating single items. Sometimes you're creating items in bulk. Sometimes you're creating them optimistically. Sometimes you're creating things, and then you get errors in the way,
and you need to either revert changes or block it. And the same in on each of the other categories. You know, you read data with pagination, with filtering. You can update by updating whole documents or by submitting little patch diffs
to update specific fields on it. You can hard delete items. You can soft delete items. You can just archive and hide them. You can kind of go quite deep into each of those topics and, you know, different applications will call for different requirements in each one.
So I'd like to try and bring some clarity to the options that are available there and to try and give people a little more of a framework to choose where, you know, based on, you know, how many users we expect to have, what our interaction patterns look like.
Maybe like how should we be structuring these queries? How should we be, you know, building this app and, you know, trying to make that work in a more reasonable or structured way? Yeah, I think a lot of people really appreciate having some of that structure.
And actually, similar to what you said earlier, lots of that sort of thing kind of happens haphazardly. It's just like whatever we thought at the time seemed reasonable, but then these things kind of pile on it themselves and eventually you're left with something
that clearly didn't have any forethought because, I mean, the real world is messy and new requirements come up and everything like that. So having a little bit of structure from the beginning helps a lot. So I think that I'll, yeah, I'm excited to hear your talk. So while we're at the conference, we're gonna have, it's single track,
so everybody's gonna be there for everybody's talk. So we're not, like, missing, you know, having to choose. But we emphasize the breaks and we want to have extended breaks so that people have plenty of time to meet people and talk and things. So what are some of the things that you're excited to talk with people about?
What are you hoping people will come and talk with you about? So I'm really excited lately with a lot of the new, the new goings on with React and the, like, the whole, it's, I'm sort of excited to speak with a lot of the Remix folks
and, like, Brian's gonna be there. And I just like to get a little clearer of an idea of what's going on with the, with what's coming up next with Remix. But outside of that, like, there's so many cool tools out there, like in the open source ecosystem,
like with PartyKit, what I'm building with Sly, with, yeah, it's basically, I just want to talk with people, see what they're building, and get to know a little more about the projects that everyone else is working with. Because that's the part that's most exciting to me
when it comes to talking with other developers. Yeah, absolutely. That's the reason that we go in person. Otherwise, we all just watch the live stream and it's, you know, whatever. We can do a remote conference. But being in person, like, there's something really special about being there and being able to talk with the people there. So I'm excited to have you there and excited for people to get to meet you.
You're a wonderful person. And I think that it'll be nice for people to see that themselves. So awesome, it's been awesome getting to know you here really briefly. And thank you so much for giving us some of your time. We'll see you in April. Yeah, thanks for having me. I'll see you there, Kyle.