January 26, 2021
Ep. #13, Searching for the Spark with Rosie Sherry of Indie Hackers
In episode 13 of Developer Love, Patrick speaks with Rosie Sherry of Indie Hackers. They discuss tools for organizing online events, practic...
In episode 80 of JAMstack Radio, Brian speaks with Alex Trost of Prismic. They discuss the growing prevalence of headless CMSes, tips for building out developer experience teams, expressing appreciation for educators, and getting started with Prismic.
About the Guests
Brian Douglas: Welcome to another installment of JAMstack Radio. On the line, we've got Alex Trost.
Hopefully, I pronounced that right?
It's not Trost or Trost, I should have asked that before.
Alex Trost: I'm cool either way, man, but Trost like toast is the mnemonic I use.
But honestly, I've got friends that I've known for five years who still call me Trost.
I don't correct anybody unless they ask. It's fine.
Brian: Awesome, and that everybody call me B Dougie and not B Douggy.
Alex: Oh, people say Douggy? Oh no.
Brian: It depends on the what origin of country you're from.
If you've never heard the hard, O-U-G.
Alex: That makes sense.
Brian: But I did want to ask your background, who you are, and what you do?
Alex: Yeah, cool. I am currently a developer experience engineer at Prismic.
Before that, I was a front end developer at an agency and, a couple of SaaS companies as well around here in the New Haven area.
I was an elementary school teacher before that, a designer before that, and a little baby boy before that.
So, there's my life story in just 30 seconds.
Alex: Yeah. Yeah. I sum that up quick.
Not a lot happened in those years, so don't even worry about it.
Currently, I write a newsletter and a blog called Frontend Horse, where we learn from fantastic creative developers, and mix in some ridiculous horse puns and just to kind of have fun with it.
And I do a couple of streaming shows with creative developers right now.
That's been a part of the new job at Prismic.
I've only been working here for a bit over a month, but it's been a great time so far and they've got some great stuff planned. Yeah.
Brian: Real quick, I got to ask, you were a elementary school teacher?
Brian: What brought you into, well, I guess first design and then eventually development?
Alex: Yeah. The design came before elementary school teaching.
Design was-- Out of high school, I'm just like, "I love messing with Photoshop and making things and I love just the world of design, I think it's so cool."
It's one of the coolest things that anyone can do is just create an awesome book cover.
I don't know, like designing posters and websites, all that stuff.
To me, making a logo is next level skill.
It's just one of the coolest things in my opinion, but I never thought I could draw.
So, I'm like, "I can't actually do this for a career, got to bounce, got to try something else."
Really loved working with kids and teaching and just seeing kids learn.
I was actually teaching swim lessons and watching a kid go from terrified in the pool, to swimming across that pool, was the biggest like, "Oh my God, this is just so addictive to watch light bulbs go off in people."
And yeah, I like to have fun. I'm a goofy guy in general.
I still carry that through to my blog where I'm doing horse puns and stuff.
Yeah, working with kids has always been something that I love to do.
Teaching in America has a lot of requirements with standardized testing and lots of other things like that, that really just make it not so much about you working with a child, but lots of politics, lots of just chasing test scores and not seeing the kid as a kid, but more as like a number. And it's not a great experience, but while I was teaching, we had a ton of data. I realized this is data that I can actually use only if a computer first processes it.
So, learned programming in order to work with that data.
I learned Python, and Django and made a web app for the teachers in the school to use so that we could process these ridiculous, thousands of data points on one kid.
I can't read through that and understand what to teach this child, but a computer can.
So, learned programming, got hooked on it.
Kept adding features, like adding stickers that the kids could unlock if they worked more on the computers, and just kept throwing feature and feature and feature.
And I'm like, "This is what I want to be doing."
And so, it tied in my design from before, front end programming and development and yeah.
I still like to teach, and do design, and now programming all bundled into one with this new job. It's pretty perfect.
Brian: Yeah. That is excellent. Also, 100% unfortunate about the whole public school teaching in America.
My kid, he's actually reading a book right now, and I told him he could do the iPad instead of come up here and bother me.
Which, yeah, I'm a great father, but what I'm getting at is in a couple of weeks, we're going to be opening up our school.
Our school is going back and the decision was to push it out another three weeks from the rest of the state, and that state being California.
The pushback, talk about politics, having empathy for the teachers of just getting your classroom ready and for kids after not doing teaching in a classroom the entire year, or even what that looks like.
Because again, there are some schools that are open in the US, but this school has not been opened.
There's a lot of onboarding, also in addition, I know my child's teacher has kids.
So, all the trying to figure out what to do about getting kids back in school for the last month of the school year, or a month and a half, I guess I would say that I was upset.
I was very much upset of the response of not having empathy for the teacher themselves, and I do say that coming from a lot of privilege where I can have my kid read a book next to me and then go play on the iPad and I can do a podcast.
I do have another perspective that maybe it's a perspective that I have this privilege, but heart goes out to all the teachers that had to kind of figure it out this year.
Alex: I appreciate you saying that.
Yeah, this year, last year, can't even imagine even.
Three, four, or five years ago, teaching is hard.
Teaching is one of the hardest professions, and I'm saying that as a former teacher, because you know, there's nothing in it for me right now.
They need to be paid more. They need more respect.
They need everything. You can have your site go down in production.
It feels nothing like the first week of school, that stress is unbelievable.
Yeah, teachers, God bless ya.
Brian: All you teachers, I was going to say pour one out, but that's the wrong way. Everybody to take a drink for the teachers
Alex: Only on the weekend. Yeah.
Brian: I did want to touch on Prismic though and find out, what is Prismic?
And also, your introduction to, because you said you've only been there a month so, how did you even find this role, this gig?
Alex: Just for starters, Prismic is a headless CMS and I'm thinking everyone's familiar with that term or you might've heard that term thrown around.
It's a very hot term right now, especially around the JAMstack and then have the CMS is like a backend only content repository that opens up an API and gives you a nice UI to enter content into.
If you've ever worked with WordPress, it's basically the admin panel of WordPress, and then you can access your data through an API.
At Prismic, we are really trying to focus on giving a great experience to really two groups of people.
One is developers and the other is the content editors that in a typical agency development handoff kind of thing.
The developer would create the site and then hand it off to a content editor, who then goes in, maybe creates pages, edit some blog content, that kind of thing.
You can kind of think of them as two different people.
A lot of times it's the same person, right?
If you have your own blog on Prismic, you kind of shift between those two modes and wear both hats, but we want to make sure that both of those experiences are as good as possible.
We're taking this approach where you turn your components that you're making in React or Vue, or really anything, into a website builder for your content editors, so that you can give them these Lego blocks and they can rearrange them, repeat them, do whatever they want with them and put an image gallery above a content section and just mix and match the components that you're creating in your framework of choice, so that everyone has this great thing.
You get to work in, say you love Nuxt, or you love Gatsby.
You get to build a site in that, and your content editor gets to work in a really nice, smooth UI where they can rearrange a page and they don't have to call on you to move a section down or to change something around, right?
It's kind of the best both worlds there.
Brian: Yeah, as you explain it, I'm like, "Oh yeah, this makes so much sense."
But hopefully, folks, if you're not using a CMS for your blog or your marketing pages, I highly recommend do this because I'm so used to operating in this world with a CMS that I forget how a lot of folks are approaching it with this manner.
Because a lot of my blockers, like just getting a blog post out, is when I ship a blog post and I see there's a Dependabot PR, then I'm like, "Oh, let me go fix that. Oh, I broke my entire blog."
"Let me go fix this thing. Let me update this thing. Let me rearrange this. Let me make this animate differently."
And then, at the end of the day, it's like that Malcolm in the Middle-
Alex: I was just about to say, Brian, are you familiar with the Malcolm in the Middle go change the light bulb, or the squeaky drawer thing?
Yeah, it's exactly that.
Brian: Yes. That determines yak shaving, which is like, it's hard to shave a yak because there's always so many other things to do.
That's basically what it is when I try to maintain my own blog without having just the tools in place to just ship a blog, just write content really quickly.
If I'm opening a VS Code and writing mark down in VS Code, I think that's a fine way to write blog posts when it gets started, but it's always going to be so much easier to just go to your site.com/admin or whatnot.
I'm curious, how do you interact with Prismic once you've installed it and you have it set up?
Alex: We don't have a your site.com/admin kind of set up, but basically to start, you sign up for a Prismic account.
It's free and you create a repo, kind of like a GitHub repository, and it's just like your content repository.
Alex: And then, you start creating your custom types, which might be a page, or you might have a blog post custom type, or you might have an author custom type.
A custom type is just a custom type of data, right?
You just get to define that structure and then what that is.
Alex: An author type might have a couple of text fields.
Like a name and maybe a username.
Then it might have an image field, for an avatar, just as an example.
You define that and then basically we give you an API endpoint from which you can hit your repository and request data using Graph QL or Rest.
We've got a module for Nuxt, a plugin for Gatsby, to make that really easy to bring in and some great guides for how to get your content either dynamically or statically with Nuxt JS, and then, you build your components out in your framework of choice.
If you want to make a, let's say an image gallery, you build that out in React, let's say, and then you link that up to Prismic and you're able to choose on which pages your content editors can add that image gallery.
You say, "I want them to be able to add this image gallery on the homepage, but maybe not on the contact page or something."
You can select exactly where you want those to be able to show up and then your content editors can go in and add an image gallery wherever they want it.
You then go into prismic.io and you log into your account and you're able to start creating content right from the UI.
Brian: Okay. That makes a lot of sense, and also sounds amazing.
I love this project. Well, I love Prismic the idea of it, and CMS is the one example that I have is, we just learned about your story.
I'm super fascinated by your story, but I wanted to get into the actual meat of the product, but I host this podcast called This Developing Story.
I just revived it recently.
The goal is to just talk to people, learn about their stories, and then put them out there because you have a very fascinating story.
I talked to a bunch of other people who have fascinating stories of how they onboard into as developers.
The point I'm trying to make is, I am actually powering that through Simple Cast.
Simple Cast, it gives me everything I need, not in the sense of Prismic where it just gives me an API to consume geographical arrests, but it just gives me the data.
I don't have to worry about how to upload MP3s to S3. It just does that.
I pay 10 or 12 bucks a month, I'm not even sure at this point what it is, but I just want to attract all that because I know if I had to manually figure out how to go to create an end point to upload MP3s, or images, or whatever, I just won't be running a podcast.
I guess with my question for you is; images, extra data, is that all stored in Prismic or do you have to build your own sort of feature set for that?
Alex: Yeah. One of my favorite parts of Prismic is the way that we handle images.
A lot of times, especially if you get into something like Gatsby where you're building it statically, a lot of times images can be your biggest time suck.
As your building, if you just start to get hundreds of images, especially at all the different sizes that you might build out for a Gatsby fluid image, that gets to be pretty brutal.
With ImageX, it exposes image transforms that you can just add a couple of things to a query param, and you can say at the end of the URL for your JPEG, you just add Q equals 80 and that's 80% quality, and then W equals 300 and that's 300 pixels width.
Just really easy API, and that's all included with Prismic.
That's not an additional addition. One thing that I've seen people do is have a CMS and maybe have their images in Cloudinary, and then you have to have both pages open and you have to copy the link from Cloudinary and bring it over to your CMS, or put it in manually somehow.
But the fact that you're uploading the images into Prismic and connecting it right there with your custom type, but we are using ImageX under the hood.
You don't have to worry about it.
It's just there for you, and you get to use all the features.
They have face detection, you can zoom in on faces.
All that good stuff that you see with other image transform libraries we provide it out of the box. That's really handy.
Brian: Excellent. I wanted to take a step back and talk more about your role Prismic and because you mentioned you navigated, eventually got yourself into this developer experience engineer.
Alex: Yeah. It's developer experience, but I mean, it's kind of synonymous with developer relations or there's three or four titles that float around that space, right?
Brian: Yeah. Is your role, if it's developer relations, are you engaging with the users coming on podcasts talking about the product, but are you should doing some education as well?
Alex: Yeah. The title is officially developer experience and it's still early in my journey here, but right now we're defining it, because we're starting to build out the developer experience team at Prismic and right now it's kind of--
Yeah, I'm happy to go on podcasts and talk about Prismic and just help out wherever I can.
My personal goal is just to be the person that someone goes to if they have a question about Prismic in terms of like, "Hey, I'm trying to add it to my blog, or I'm trying to spin up a site in Prismic I'm curious about this, or I would love this feature."
I want to be the gateway between the developers who are working on the product, who are creating the next features in Prismic or fixing bugs, and the developers who are out there using it and saying, "This is great. This suits my needs."
Or, "I'm having trouble with this, or this is confusing. Can you help out and just kind of be that glue between those two roles?"
But at the same time, like you said, with education, I'm starting up a couple of streaming shows.
I have a streaming show where it's not education-related at all.
It's hardly development related, but we're playing games with developers every Saturday.
Brian: Oh nice.
Alex: It's just a blast. We're just inviting fun, friendly developers on to play a hilarious game called Ultimate Chicken Horse.
It's just a very beginner friendly game, it's a silly game, and we just have a ton of fun.
Then, I have a second streaming show, called Component Carousel, where we have on the creative developers that I love to learn from, and I just love all of their work, and basically, we build out components based around a theme for the website.
Every month we have a theme for our website. The first theme is taking the very serious, the very, almost pretentious world of architecture and architecture firms, and making an architecture firm website where that firm only designs and builds bounce houses or like a bouncy castle. Just, an absurd mashup of concepts that the creative developers then get to go off and just like have a blast with.
There's lots of fun colors and squishy animations and all that kind of stuff.
I'm combining those in a way where yes, they're going to be building components and doing web development, but it's not going to feel like your day job.
It's not going to feel like their day jobs.
They're coming on, these people are experts in SVG animation, or shaders, or Green Sock, or 3D, or CSS animations.
They come on and they build a funny website component, and then, over the course of the month, we build out four components and that's the website.
Then, we'll move on to a new theme next month and have four different developers on to build out components.
It's just a fun way to build sites.
Brian: Yeah. That's a great idea, and I'm thinking in my head, I'm like, "Who would be good to have on that in the industry?"
And maybe you've already had them on. Via, we should talk offline then.
If you're looking for more guests for the horse chicken game too, as well.
I know a guy who has two thumbs and is currently pointing at himself.
Alex: Right? Yeah. I would love to have you on. It'd be such a blast.
Yeah. I'm booking you right after this for sure.
Brian: Excellent. I'm looking forward to it.
I love the creativity that's actually happening currently in the dev rail space, just in general, developer experience.
Everybody knows Jason links to our twos, but doing his learn with Jason show for a couple of years now, and a couple of other people, who've also picked up the torch and started doing content online.
I love the fact that people are just moving forward, despite of us not having conferences and not having the sort of get togethers and after parties and stuff like that.
Your streams sound like an after party, that'd be quite Frank.
I would totally watch that, and for whatever reason I've never heard of it, but I would definitely subscribe, like and subscribe, as soon as we're done with this call.
Alex: Perfect. That's great. Yeah, and that's the whole thing is I want it to feel like a party.
Absolutely. The Saturday show even has like confetti for the theme and the background everything.
That's exactly the feel that I'm going for. Thanks for nailing that for me.
Brian: Yeah. Exciting. It sounds like we're already getting in the picks.
So I think we should probably transition from the conversation about your story as well as Prismic.
Folks, check out Prismic if you don't already to have a CMS, it sounds like it's going to be pretty straightforward to add to your project.
Use the API. The graph QL thing is like, I'm a big fan of graph QL, and then next Gatsby, where it can go wrong.
Nuxt, those are all great frameworks actually plug into.
If you don't mind Alex, we're going to transition the picks.
These are jam picks, things that were jamming on.
Music, food, could be tech-related, it could be random chicken horse games, which we should definitely have that link in the show notes too, as well.
Alex: Yeah, because that's my pick so, you nailed it. Well done.
Brian: Excellent. Well, do you want to go ahead and go start with your picks too as well, and just a reminder, if you want to add the link to the show notes so that way everybody can-
Alex: Awesome. Awesome. Yeah. So, my pick is Ultimate Chicken Horse.
It's not at all a thing that I'm paid to endorse or anything, and it's complete coincidence that my newsletter is called Frontend Horse.
That's just because dot horse is the funniest domain that you can buy, in my opinion.
There's no dot dog, there's no dot cat, but there's dot horse.
Who jumped to horse? I don't know, but I love it, and so I bought it.
Yeah, Frontend Horse, not related to Ultimate Chicken Horse, but Ultimate Chicken Horse is a game.
It is primarily a co-op game, and you play it with up to four people, and it's available on Mac, PC, switch, PlayStation, Xbox, all the things.
It's basically like a Mario maker in the sense that it is the old school Mario controls, and so it's just run and jump.
It's a very beginner friendly and you and everyone else pick parts to put down, to build the level out.
You might put down a platform or an elevator, or you might put down a crossbow that shoots at people.
So, you have to try to get across the level and survive, and if you do you get points, but if everyone survives, no one gets points.
It has to be somewhat dangerous. You have to pick off somebody.
It's just a hilarious, hilarious game. I've never laughed harder playing a video game with people than with Ultimate Chicken Horse.
I can't recommend that enough, and if you want to see you someone play it and laugh about it, join us on Saturdays.
We're having fun with it.
Brian: Awesome. I cannot wait to actually check this out.
Where are you streaming this at? So people can actually watch folks play.
Alex: Yeah, we are streaming twitch.tv/trostcodes. It's T-R-O-S-T codes, on Twitch.
Brian: Excellent. Yeah. I have a pick, and my pick is actually Mr. Beast.
Y'all probably listening are like, "Mr. Beast, who is that?"
Or you're like, "Why would you pick Mr. Beast as a pick?"
It's a YouTube channel, it's some guy, I guess kid, I don't know.
He's like 20, 21 at this point, but he's been making YouTube videos for the past seven or eight years.
He didn't actually get big until the last two years.
And he just did a bunch of, like anybody on YouTube seven, eight years ago, you'd send random stuff.
He got counted to, I think, a hundred thousand at one time.
He watched Jake Paul's Everyday Bro for 24 hours, which is a music video.
That's, I'll just say it, it's kind of awful.
Alex: It's the worst!
Brian: But it's just like-- Yeah.
He just did a bunch of that stuff, and then he finally started getting more adoption subscribers on YouTube, like 6, 5, 6 years in.
Mind you, he started when he was in high school, doing Minecraft videos, and then it expanded and expanded, but he's kind of a Testament.
One thing, I only discovered him, probably in the last three months.
I've knew of him for the past couple of years, but didn't actually watch any of his videos, because I assumed it was like Jake Paul, or all those other YouTube dudes that are doing YouTube videos-
Alex: And half my age, basically.
Brian: Yeah. Well, half our age.
Alex: I didn't want to assume Brian.
Brian: Okay. Yeah. I mean, I do look good for my age.
But, what I'm getting at, is that for someone who just did a thing, because they wanted to do it and just kept doing it over and over again.
And then, one day people caught onto what he was doing, and then he started constantly reinvesting into his channel.
Now he gives away tons of money, and buys people houses, and gives away cars, and stuff like that.
Brian: He's just doing it because I think he was at the point where it's like, he didn't really care if anybody watched and then people started watching.
Now, he's continuing to capitalize on that and he's probably doing well.
Hired his mom as an accountant for the channel, and his friends as YouTube buddies as well.
Alex: That's awesome.
Brian: But I bring that up because I went down a deep, a rabbit hole of watching his videos, finally.
And I was like, "Oh wow, I get why people watch this stuff."
He just does all this sort of like capture your attention, tell you to watch the video, but stay till the end to see the payoff.
This is all stuff that we should be doing developers in our content as we stream stuff.
I've been actually taking some notes from him and creating content.
If anybody's watching my YouTube channel, you can notice my YouTube thumbnails and everything has been more click baity.
I've been having thought provoking titles, because I come from a space where you just throw it up there and if people want to see it, they'll see it.
And that's how I treat my blog, but the biggest difference is, once you start really thinking about like, "Oh, what would be actually be appealing for someone to click on?"
Or, "How can I into this, that people won't turn it off right away."
I just started applying that thought to all of my videos and I've actually seen quite the difference in people actually watching the stuff.
I say that because a lot of what I learned, this is stealing it from other YouTube channels that are not in tech because I find a lot of the tech YouTubers, including myself, we all just do the same thing where we sit in front of the camera and look at it and then start typing and write some code or just write code or, yeah.
This is a little variety that we can add to it.
It sounds like you're doing a lot of variety of yourself and the stuff you're approaching.
Alex: Yeah. I think you hit on something great there.
Just as educators, it is your job to get your pupils, your students, whatever you want to call them, engaged.
If you're not engaging them, you're failing.
If I just showed up to my second grade classroom and said, "All right, today, we're talking about this," and didn't try to hook them, didn't try to get their minds going, ask them a question, start off a lesson with like, "Why do you guys think balloons float?"
Right? Like, "Oh, That's a good... Oh, I have no idea."
Right? You want to hook them.
And so, yeah, if you're just showing up and say, "Hey guys, today, we're talking about Vue and Prismic."
Like, "All right. I don't know if I want to watch that." I think you nailed it.
Brian: Yeah. I'm going to start my next video with, "Why do you think balloons float?"
Brian: You'll know. I'll wait for your thumbs up on that.
Alex: I really hope your audience knows.
Brian: But yeah, with that being said, thanks for the conversation, Alex, thanks for all the tips, and the tricks, and the game as well.
Alex: It was a pleasure.
Brian: And listeners, keep spreading the jam.