Season 1 — Delete Your CMS

Three Layers of Hell: CMS, Framework, and Platform Walk Into a Bar

Show notes

The conversation covers a range of topics including the impact of AI on context switching, the transition to asynchronous workflows, transcription and automation, the role of technology in human relationships and business strategy, the impact of technology on humanity and society, the acquisition of Contentful by Salesforce, vendor lock-in and market impact, and open source solutions and cost considerations. The conversation delves into the cost of enterprise products, the process of building a system to reduce friction, prototype revisions, architectural choices, orchestration, and preview mode.

Takeaways

  • Impact of AI on context switching
  • Transition to asynchronous workflows Enterprise product costs and the impact on businesses
  • Building a system to reduce friction and prototype revisions

Chapters

  • 00:00 Introduction and Podcast Overview
  • 04:46 Transcription and Automation
  • 10:01 Impact of Technology on Humanity
  • 16:58 Impact of Technology on Society
  • 22:57 Vendor Lock-in and Market Impact
  • 31:33 The Cost of Enterprise Products
  • 36:56 Prototype Revisions and Architectural Choices
  • 46:43 Orchestration and Preview Mode
  • 55:15 Publishing and Preview Mode
Transcript

Taylor All right, Powdy Sean, good morning. How are you doing today?

Sean What's up, Taylor? How are you? I'm I'm great. How are you doing?

Taylor Awesome. I'm doing good. The sun's shining. Today is June fourth. This is what is this? Episode six of Blood, Sweat and Tokens. ⁓ the podcast where we're talking about product development, ⁓ general like technical architecture concepts in the age of AI, things like natural language processing and agentic workflows, all that kind of stuff. What you been up to in the last week, Sean?

Sean ⁓ let's see. I've ⁓ yeah, I've been all over the place. I, you know, as we talked ⁓ we're looking at new houses, might move, so that's that's created some chaos. But I have found that in this process, I I almost feel like AI ⁓ okay, we've spent you and I have spent many hours in the past complaining about context switching, and I feel like I'm starting to become desensitize to it where like this okay, this house purchasing process is generally terrible. There's like there's somebody who's calling you every fifteen minutes. Everybody wants money from you and you're like, you gotta do this, this, this, this, and it's all gotta be done today, or the contract is void or whatever. And I'm I'm kinda like, Yeah, okay, that seems fine. I'm just yeah, I'm always distracted anyways. But how's your how what's your journey been like on ⁓

Taylor It's true.

Sean And context switching in particular.

Taylor ⁓ my well ⁓ I was actually thinking about this the other day that I yes, you're right, we've negotiated context switching for many years. I commonly referred to an article that I read, you know, twenty years ago that was like research studies on context switching can cost you up to twenty to thirty percent of your productivity in a day, which is insane. But with AI it's so much worse. Like ⁓ if you are running multiple projects concurrently or you're trying to negotiate, you know I I think in a lot of ways the advent of all this technology has given me a chance to kind of step away from the keyboard more frequently, but then that incurs more context switching. Now it's like my life is bleeding in to the boundaries that were at work.

Sean Mm-hmm.

Taylor So all that aside, I feel like the twenty years that I've been negotiating really hardcore context switching in an agency environment has really positioned me well for tolerating the the stress imposed by this new technology and workflows.

Sean Yes, yeah. And I ⁓ what is that okay, there there's been a a thought that I've I've gone through over the last or transition over the last two weeks or so. And I recorded a video on Friday because ⁓ what did I Okay, so I was working on this this theory for a while. Once I really started cooking with AI tools, which is probably like October, November of last year. I was like, this is great. And I want to be fully tapped in when I'm in MVP mode and planning mode. But then after that, I feel like we should move entirely asynchronous. So I just get an idea and I'm like, boom, hey, custom agent team, go, go do this idea. And so I was like, okay, cool. I can build this thing out. And it took me a few months and and various iterations where I'm like, I want Slack as my communication surface and I want this custom agent team working behind the scenes to do ⁓ to to go end to end with these ideas. And I know I've sh I've shared a couple of demos with you and but what I've I've flip-flopped in the last two weeks where I've realized that just letting an agent role with the development does and the and the planning in particular, like the architecture and the code feels like it can really just it can burn tokens, it can get way off the rails. And I'm actually pulling back now. So I've still got this team, but ⁓ what I've what I've started doing is trying to automate more of those things I don't want to do. Like, okay, if I'm thinking of something, I just want to type the message in Slack so we capture it. And then when I push changes, I want various test ⁓ QA tests, CI tests to kick in and run, and then I can react to it. But I kind of want to be tapped in while the planning and the work is happening. And so I'm ch kind of starting to differentiate between like true I'm I I guess what I'm saying is I'm still trying to find those times where I can be really focused and help drive the agent because it feels like it's not ⁓ what am I try I think I'm trying to say that being distracted all the time is still a problem, but it's it's kind of unavoidable. But I'm still trying to find those nuggets when I can be like, okay, I'm focused on at least telling to spending fifteen minutes and telling this agent what to do and then I'll come back an hour later. But ⁓ I don't know. I'm iterating there. What's what's been working for you lately?

Taylor okay. ⁓ so I've been recording everything in my life. And to be clear, I'm doing a lot less engineering today and a lot more planning and a lot more like relationship building and and bus like business strategy stuff. And so I just had this interesting ⁓ conversation with my wife earlier about this and the the strategy that has worked really phenomenally for me, one that I'm receiving some criticism, not necessarily from her, but from like

Sean Okay.

Taylor ⁓ and it's healthy criticism for what it is. But using all of these transcripts, so for example, if we were in a Zoom call right now, I'd have a transcript being captured of what we said. ⁓ I was at a client recently and I I used my pocket device, right, to like capture our in person conversation. And that was that empowered me to turn around a really effective executive summary for the client within hours of the meeting. additionally, I'm piping all of these transcripts into a rag database so I can do natural language searches and I have an MCP server attached to that so I can talk to it from all the different ⁓ clients. So Claude or ⁓ from you know Hermes and Slack directly on the command line, you name it. and that's giving me kind of like this deep knowledge base of stuff that I participate like participated in these conversations, but I can't capture all that information.

Sean Mm-hmm.

Taylor And the criticism, again, well founded, was that like by not or by di by delegating or divesting yourself of the responsibility to retain the information, you are losing both a part of human ⁓ cognition. you're losing that muscle. You are also seeding the productive requirements of your job. To an automated third party, which presents privacy risks, it presents continuity problems, it presents financial consequences. So like we're giving up a lot, right? And so the criticism is that if ⁓ if we do this, how much are we are we seeding of our ability to be human? In that like like ⁓ the cr the the argument she was making was that.

Sean Mm-hmm.

Taylor ⁓ for all of human time there has been a reverence and a value in the hard labor attached to being human. And that if we are able to automate those things away, I think this is what she's saying, or she was in the room, I'm sure she would correct me on a couple of points. But if if if we are automating away those requirements, how much of humanity gets lost in that in that process? And it's an interesting question. And my counter to this is that.

Sean Ha ha.

Taylor Whether it's context switching or whether it's like an increase in productivity or whatever, in a way, if you can automate the rote level tasks out of your life, then you stand to build better relationships with other human beings. Right. One of the arguments was that ⁓ if we live in meeting culture, you know, if you're in meetings all day long, like I am, I mean literally I have I am I am my calendar is booked up. except for maybe like thirty minutes around launch time for the next ten hours. And that's a lot. And I think i i it is a reasonable criticism to say, what's wrong with your schedule that that's the way you're negotiating? Like like th those are the requirements placed upon you. But every one of those little blocks in my calendar represents a switch of context. And and so in a lot of ways, by taking advantage of this fully transcript driven world that I'm living in today.

Sean Mm-hmm.

Taylor I'm allowed I I am empowering myself to navigate each of those switches throughout the course of the day and be fully present in every one of them. Because I'm not taking notes and I'm not trying to like ⁓ capture information, but I'm able to look my client in the eye and I'm able to build into that relationship. And what I would argue the most important thing that we can do in business today is not The code we're writing, it is the relationships that we're building with our users or our customers or our clients and our our coworkers. What do you think about like I d what's your reaction to that? I mean, ⁓ I know it's a little bit different than the work you're doing, right? Like I I am doing a lot of engineering work, but most of it's greenfield, and so I'm just kind of like throwing ideas against the wall and prototyping this and prototyping that, which is definitely different than taking something into production. I don't know.

Sean Mm-hmm.

Taylor Do you think humanity is crumbling under the weight of these awesome innovations and the excitement that I'm carrying?

Sean I think, I mean, I have I definitely have my very pessimistic views of humanity in general. We can we can put those aside for a minute. I I had I had two thoughts that have been they've been pretty present lately and ⁓ and you and you just sparked those. The first one is something that kind of like comes and goes, and what you were describing to me immediately made me think of ⁓ GPSs. in in cars. And one of the things that has ⁓ I that I felt for me was okay, I had to be to operate a car when I was 16, we did have things like map quests and you could print them out, but you s you had to be you had to be engaged with the actual directions and understand where those turns were coming and have them in your brain because you're not going to read while you were driving. Now You don't especially if you're going to a place one time, it's like it doesn't actually matter that you put that in your brain. You just need to get your vehicle there. So you delegate the the the thinking and the expectation of like what's the next move to your device, which tells you only exactly what you need to know when you need to know it. And so on one hand, we're getting worse with remembering where to g like w okay, I can't get to I can't just go to a place generally and then go there again without the phone. And you're like, is that bad? I don't know.

Taylor Have you ever have you ever have you I it's an interesting point. Have you ever found yourself in the middle of the south side of Chicago without phone service? Or something like that? You know, it's like ⁓ it's yeah. You know it's inter that would actually be an interesting thought experiment to like pull out the the old remember the old atlases? Like I used to I used to have a road atlas in the back of my car. ⁓ those things are awesome.

Sean No, no, that would be challenging. Yes, yes, yes. I love those things.

Taylor It would actually be kind of fun. It'd be fun to take my son on like a trip and be like, Okay, we're we're just not it's gonna be tech free. Like we're just we're not we're gonna pretend that it's nineteen eighty five and we're gonna, you know, pick up our trip ticks from Triple A and we're gonna stop at all the roadside attractions. Man, that would be that would be super fun. ⁓ anyway.

Sean This is what I in ⁓ in I graduated from college in twenty eleven. So we're coming up on exactly fifteen years ago and f when that happened I I hit the road and I put ⁓ what I traveled twenty five thousand miles over three months and just hit a bunch of

Taylor ⁓ this was your the this was your national park trip, wasn't it? Or US state trip or what what was it? Parks or states?

Sean Yes, yeah. And before Yeah, I hit all the I it was it was around states, but I hit all of the lower forty eight ⁓ it was around parks, but I hit all the lower forty eight states in the process. And yeah, that's what I did. Before I left, I went to Triple A and I got every one of their state maps. And so it was like the states like California that I spent a lot of time in, it was like that thing was falling apart by the end of it 'cause I was just drawing on it and try to figure out

Taylor So cool. Yeah. I mean my my thing is like if you really enjoy orienteering, there ain't nothing stopping you from getting a compass and a map and walking out in the woods, you know, and exercising that brain that muscle. I Okay, so the irony of this whole discussion this morning was my wife was loading the dryer or the washer or something, like when we were in the middle of this conversation and and my epiphany was like, Hey, if you could buy a robot to do that thing that you're doing right now.

Sean Where am I going here? But yeah. Yeah, yeah.

Taylor Would you do it? And I forget what her response was, but I unequivocally will stand by the fact that this we would be the first consumers in line to buy this product when it comes like if there is a robot that can manage our laundry, which is actually the most perfect example of like super low level basic, crappy tasks. Nobody wants to do it, but it's extremely important, you know? It's like you have to do it and it's great when it's done.

Sean Yes. Yeah.

Taylor But the process of doing it is just such a drag. Like I I'm sure Pete some I think ⁓ we actually have a friend who told me once that she loves laundry. It's like her it's her happy place, which is that's ⁓ that is a that is a position. ⁓ I I I don't none of us in our house like doing it and it's a super pain in the butt. And so my argument would be if we bought a robot to do our

Sean man Mm.

Taylor an AI powered robot to do all of our laundry, would that necessarily free us up for more time to go, you know, have a rousing game night together or something at the at the family dinner table? Probably not, because you know, my kids are in that stage where they don't want to play board games anymore. But ⁓ with that with that said, I I think that ⁓ or at least my argument here is that whether I'm transcribing our conversation Or whether or not I own a robot that can perform basic domestic chores for me, the value proposition remains the same. That I can focus on you, I can focus on the important things in life because I'm no longer managing my calendar, I'm no longer managing my email, I'm no longer, you know, ⁓

Sean Mm-hmm.

Taylor Trying to constantly remind myself and checking my to do list and all that stuff. I mean, at the end of the day, all the information is there. I just can't access it because my brain is not as efficient as a database.

Sean Yes, yes, exactly. And so the the other thing this makes me think of is ⁓ for for the last several months, my argument has been, okay, so that means we're we're elevating what we're doing on a regular basis and we're and we're delegating the things that now these machines can take care of. And what I started to think about was you look at a larger organization, what what do the what do the folk the executives do? They're not like They don't care about the details. They're running at this high level strategic ⁓ position. And the like the details kind of filter down through the organization. And so my thought was okay, well, we're just doing if especially me, you know, me as an engineer, I'm lower down here, and it's like I have been responsible for the details. Okay, but now my role is elevated because. Agents can take care of a lot of the coding details for me. So I'm becoming more of you know driving product decisions and doing research and and things like that and trying to ⁓ it's there's still some engineering involved. But any my my point here is all right, so I'm elevating my position and and I and I feel like there's a lot of value in that. And what I'm wondering is can the can the CEO elevate their position or do these things, you know, shrink and flatten yeah 'cause I I'm trying not to be all doom and gloom. Like this is better for humanity, but it's something's gotta give somewhere, I guess, right?

Taylor Hm. Okay. Well, maybe it's the environment. Like I think there's an a an extremely salient point to be made that we are destroying the earth in in advancement of this technology.

Sean Yeah, yeah. ⁓ a hundred percent. Yes.

Taylor Now, capitalism has been destroying the earth for the last, you know, what, two hundred years? ⁓ I mean, ever since the Industrial Revolution, there has been a race to like consume resources. I mean, even still to this day, there's int I mean, look at what's going on in Iran and the Strait of Hormuz. I mean, the jugular that is the world economy is being squeezed because those fossil fuels are still so extremely important for our ability to propel

Sean Yep.

Taylor you know, society and and and economics and stuff like that. So I don't know that I agree that it's net better for humanity and and but I I am guilty of leaning into the opportunities and being excited about that and motivating it because I own a business and I'm worried that if if my team can't figure this out The team down the street's gonna figure it out and then I'm gonna lose market share or I'm gonna, you know, have a loss of revenue or or something catastrophic like that. so there's I think there's a capitalist you know, argument ⁓ an argument of greed, ⁓ for sure. ⁓ and it's weird because in this day and age of like F you I got mine kinda you know, that general posture that most of our at least fellow countrymen are following that it's easy to fall into that trap. And forget about the bigger picture consequences of fully embracing the technology, but that said it's here. It's not like I have any influence over stopping the tide, you know? So do you get on board or do you just scream into the void? The truth of the matter is I don't really know what the answer on that one is, but yeah, I don't know. It's ⁓ I I I I think in okay, here's an here's a question.

Sean Mm, mm.

Taylor Do you think that because you're on the bleeding edge of both enthusiasm and adoption of this technology, that you and and I would argue that I'm I'm sitting in that same place, I'm very enthusiastic about it, are we blind to the fact that most of society is not in a position to take advantage of this and arguably simply stands to suffer consequences of the advent of this technology versus take advantage of it for Greater productivity, closer human relationship because they've, you know, automated away the rote level tasks in their day to day life.

Sean Yep, pr probably. I I imagine it follows a similar pattern as other kind of major advancements. Like you but could we have had that same conversation when the ⁓ automobile was being generated or being created or something like that? ⁓ so yes, I mean I think people will will trail behind a bit. ⁓ But what did your ki ⁓ so as like capitalism made me think of capitalism makes me think of so many things. one of the ⁓ one of the things was so there's news this week, which we were talking about earlier, that Contentful got purchased. L largely, you know, that's a that's a big big event in your world, right?

Taylor ⁓ my gosh. Dude. I really wanted to talk about this today. Thanks for reminding me. Yeah, sorry, I got way off topic on the the humanity part of part of what we're doing here. Yeah, dude. So yeah, on June 1st, Contentful or ⁓ Salesforce announced that they were acquired or sorry, they were acquiring Contentful. And I immediately thought of you because I'm like if the the an arc of this ⁓ series that we're working on here is to talk about killing off your CMS because of the volatility in this market. What do we say? ⁓ it's it aims to be like a 78 billion dollar industry by 2033 based on some stats that we read a a couple episodes ago. Now we know why. Now listen for the last what four or five years, if not forever, Contentful has played this game and I love Contentful. The software's great.

Sean Mm-hmm.

Taylor But the the pricing model has been volatile. They've jacked up the prices, they've reduced the entitlements, and it's gotten really bad in the last 12 months. I mean, it it has it's really put a pinch on those folks that were relying either on the free tier or some of those lower, you know, self-serve pay as you go plans. And now we know why. Like now it makes sense. And ⁓ you can actually understand where the contentful leadership is coming from by posturing their their numbers the way they did over the last couple of years because they were angling for a buyout. The problem is how many people are caught up in this vendor lock-in now that are going to suffer significant cost increases as a result of simply doing business with a shiny product? What's your what's your thoughts on ⁓ what's your thoughts on the acquisition? Was it inevitable? Do you does it kind of valid do you would you agree that it sort of validates what we've been saying here? around the rising cost of, you know, product as a service, vendor lock in type relationships. Does it validate what they're doing?

Sean Yeah, I mean, I haven't I haven't thought a ton about this particular one, but I I do see, you know, there's been that pattern of the organizations getting acquired by larger ones, especially as we we saw it a lot mid pandemic of these startups bloated and then Yeah.

Taylor Yeah. Twenty twenty three there was a there was a bunch, dude. There was ⁓ sorry, Broadcom acquired VMware. Cisco acquired Splunk that year. ⁓ I just lost my notes. But yeah, anyway, there's been a flurry of this ⁓ behavior. ⁓ and it really puts the consumers at a at a in a bad spot, I think. I mean unless you've got the budget to

Sean Yeah, w wasn't it like ⁓ ⁓ I think there was one where I was thinking of ones that affected me like ⁓ S Sendgrid, I think, got acquired by Twilio and then all of a sudden that Sendgrid pricing was less favorable at the the lower ends or something like that. So yeah, I mean the the one thing with this particular acquisition is like you said, the the pricing has been volatile for long enough that it's There's the lock in component, which I think is an interesting thread to follow, but you know, not as much as like ⁓ what was another one that happened? Like ⁓ when Planet Scale was like, we're we're done. We're done with the the free tier, and now everybody has to pay. It's like, yeah, that's that's really disruptive if now, if you're using something for business, you probably should be paying for it anyways. So it that's that's one thing. But

Taylor Agree. Yep, I agree.

Sean ⁓ I don't but I don't know to like flip things so quickly. Yeah, it's it's tricky and I think it's especially tricky when a large part of your business can be is tied into this one specific thing and content is a big one. Content data, like you get you you have to pick, ⁓ but then you've got the place you're storing it, then you've got the APIs that are wrapping and ⁓ that are that are tapped into and so any front end that is consuming content from contentful has to be ⁓ updated unless unless people have taken that approach that I feel like this is what I was preaching in twenty twenty and twenty twenty one was you need to abstract your data sources and build that layer in between everything so that when you get screwed for whatever reason, you fix the one thing and you own your API and and then you can, you know, strangler fig kinda migrate to your next thing or whatever that might be. But it's not good for the people who didn't do that sort of thing.

Taylor Right. ⁓ Salesforce acquired Heroku a while back, and I remember it being like this fairly seismic ⁓ impact to the open source community, or for in frankly, just junior engineers that are trying to get started. Like I think that's one area where Netlify still has got a really healthy posture. I think Vercel does as well. Like I there's a free tier, like you can deploy stuff to Vercell without paying any money, right?

Sean Yes, yes, that was another one I was thinking of. Mm-hmm. Yeah, I think so.

Taylor And as far as like exploring as far as exploring new technologies, different frameworks or whatever, I thought that was ⁓ I don't know. I thought it was I'm sure it was it made a lot of business sense for Salesforce, but I thought it was disappointing that they acquired that company that was very community centric, very low barrier to entry for engineers, and then basically were just like shut off the spigot and said deal with it. And you know This Contentful acquisition, I assume, is going to follow suit, right? And they've acquired apparently another ⁓ a bunch of other stuff just in the last couple of years. A company called Informatica. Last November, I don't know, I don't even know what they do. There's an AI workflow automation company called Regrello, and there's a ⁓ agentic marketing service called Qualified and Contentful. So they basically they're going on a spree

Sean ⁓ okay. ⁓ qualified. Yeah, I know qualified.

Taylor Yeah, they're going on a spree and they're gonna like stitch all this stuff together and they're putting it into what ⁓ what is their product? It's called like customer three sixty or something. I don't know much about Salesforce, but ⁓ it's ⁓ you you can see they're really corner in the market. Now I guess it would make sense when you're focused on the enterprise. ⁓ but where does that leave everybody else? And I mean w even ⁓ what was the we talked about the fifty ⁓ million dollar construction company that's been operating off spreadsheets, you know, historically. That company, you know, they might be able to afford a sizable Salesforce license, but to get access to all those things, I'm guessing that that's probably not at the top of the list of things that their marketing team needs to spend money on. Maybe it is, I don't know. There's a lot of CRMs out there, I guess. ⁓

Sean Yes.

Taylor So I don't know, it's an interesting ⁓ dilemma for everybody else. And it we've talked about the death of platform as a service, right? because you can now roll your own product that's more customized for your personal needs. You can fully lock it down. You don't have to worry about vendor lock in. You don't have to like you have to worry about the long term maintenance requirements and headaches of maintaining that system over time, but The value proposition is definitely shifting for the mid market and down ⁓ companies to build custom software that solves these unique problems that they might have without having to like, you know, change workflow or buy into some sort of long winded, you know, obligation at great great expense.

Sean Yeah. So how do you think that that how do you think that that ties back to what we're building here? Do you see it as okay, Salesforce is gonna grab a contentful and they're gonna get Contentful's enterprise customers are gonna rope ⁓ into this suite and most of what they're designing is around the large enterprise that it do you feel does does it Does it embolden you that it opens up this space in the middle of the market, or does it do you have a different reaction?

Taylor ⁓ yeah, I think I think it is a continued pressure for us to come up with different solutions that alleviate you know, part of the reason everybody has adopted systems like Forcel, Netlify, ⁓ even Heroku, Contentful, it's 'cause we don't want to manage that. You know, twenty years ago, if you had to pay some neckbeardy

Sean Mm-hmm.

Taylor dude with his feet up on the table to fully, you know, automate and manage your systems administration within your company, it's all well and good until something goes haywired or that guy leaves or the software license gets jacked up and you can't afford it anymore. And I think this has been a problem for so long that, you know, this is where open source kind of comes from. The idea, well I guess there's many reasons that open source exists. Security, transparency, community autonomy, creativity. But ⁓ there and and there's risks, ⁓ extreme risks inherent in open source technology too. It requires a vigilance to keep it up to date and all that stuff. But you can see why the community has developed open source solutions to some of these problems because I can't afford to pay a hundred thousand dollars every year for the next twenty years to Salesforce. Or or maybe even if I can, the value proposition of doing that for a fraction is i i you know.

Sean Mm.

Taylor Before the advent of this technology, it was it was insurmountable cost, and so it made sense to pay the experts to manage it. I'm wondering if that if that if that premise is shifting a little bit now, right? And maybe it depends on the company you're talking to, the technical savviness of the engineer that's able to construct the system. But again, I want to call back to

Sean Mm-hmm.

Taylor The argument that you could have a singular developer build you a fifty thousand dollar product this year and then maintain support for that over the next three or four years at you know, at minimal cost, other than just keeping the lights on and of course infrastructure and if there's tokens involved you're paying for that kind of stuff. I mean the operational cost will still remain, but the actual licensure, especially when you look at either Salesforce or Continental, I mean Th these are exceptionally expensive products if you want all the bells and whistles and you want to be able to do all the things. And I don't think anybody would argue that open source is in the same place as the private market in terms of the quality and ⁓ executional, you know, output of these products. But at some point people are gonna start not tolerating it. You know, everything we talk about right now today outside of this podcast is like economics. You know, gas is super expensive, inflation's through the roof, we're in a fucking war.

Sean Mm-hmm. Mm-hmm.

Taylor You know, ⁓ it's we're the American public is getting squeezed in so many different ways. And I know business leaders don't necessarily represent the common American public, but I do think that like there's a a ⁓ reckoning that's happening where, you know, if Contentful calls one of our clients next month and is like, Hey, guess what? We got acquired. We're going to three times your already quite expensive license fee starting on January one. That's what they did this January. You know what I mean? So they're gonna do it again next January, or if they don't, they'll do it eventually. You know, and and rightly so. I mean Salesforce paid a boatload ⁓ for for this acquisition and they they certainly deserve the right to to recoup their expense. I just think from if you're not in the enterprise, this product ain't for you. So what is WordPress? Maybe, maybe WordPress is a much better solution. But it is also

Sean Mm-hmm, mm-hmm. Yeah.

Taylor a that you know even that statement violates a lot of the the developer experience benefits, the scale, security, performance that we have benefited by decoupling these systems.

Sean Mm-hmm. And you know you know what it made me think of was the ⁓

Taylor Anyway, I went on a rant.

Sean One thing you and I were chasing for a long time was the it was the variable pricing model. And I th and and we're almost like I think it was it was it was a struggle to talk to clients about what they should expect to pay when things were usage based. But what I think AI is helping do is ⁓ for two reasons. It's it's helping us get to a spot where This is better. Like we because we want more transparency. So we're seeing this trend of ⁓ come so what what we did at Netlify a couple weeks ago was we eliminated pricing per seat. Because we're like, it doesn't pricing per seat doesn't matter. What matters is how much of the infrastructure you are consuming. And so we're gonna try to make that more transparent and pass that on to you. And then you have kind of control over that. But the The downside of that in the past has been, okay, that great. We've got transparency in terms of usage, but we have no way to estimate the usage that we're going to incur. Like, yeah, I'm I'm spinning up this new site, you know, it's gonna be ⁓ it's gonna be a fifty thousand dollar site for a client. What is that going to mean in terms of and and if that's mostly labor, what's the ongoing maintenance cost? There were so many variables that the math was virtually impossible. I also wonder now, are we in a spot where we could provide a I ⁓ I think like a a marketing tactic we could take would be like, okay, here, you know, how how much what's your cost in contentful based on all of these factors? You put those things in there, and then we can look at it more of okay, so here's here's the actual operating costs that you're going to have to pay regardless at the base level, but you switch over to this service and you're going to you know, you're gonna you're gonna be ten times less or whatever that might be. That could be really interesting. Can can we build a better cost calculator today?

Taylor Well, I'll tell you what, before we run out of time this morning, I I want to see your demo. So I know that you've if you're if you're prepared to share it. So let's recap. So we started ⁓ about six episodes ago. We ⁓ we pontificated that building a system that reduced friction between the user and the software would yield great benefit. ⁓ and that it would be a fun exercise to kind of use some

Sean Okay. Yeah, sure. Yeah.

Taylor agentic tools to to execute on this and to kind of validate it and test it and kick the tires a little bit. And you've gone through how many revi you've gone through several revisions so far. And ⁓ you gave me a sneak peek the other day and it looked really, really cool. So ⁓ yeah. And ⁓ how's the exercise going relative to that big picture natural language reduces friction.

Sean Yes, it's I mean overall moving in a really positive direction. ⁓ between episode between the last episode and this one, I did not a full rewrite, but a a good I I tore out a good portion of it. And the argument for that, the the reason we had talked about this the last time was that I built the previous prototype based on a simple existing website and the use of Contentful. And where our conversation went at the end of that episode was, hey, maybe your architectural choices here are providing kind of artificial or hidden guardrails in the product itself. So what I when I went back to the drawing board after the last episode, I was like, okay, so we have We have kind of like ⁓ it's almost like a three three-dimensional ⁓ axis where there's there's the framework or at least the rendering architecture on one axis, there's the content source on the other, and then there's the cloud platform on the third one. And so you kind of have this like three-dimensional spectrum, so to speak, of where any organization or project might exist at any one time. And so I thought, well, why don't we pick at least, let's look at it in two dimensions, maybe and pick one side and then we'll pick the other side. And if we can solve both with the same tool, then in theory, we can we can be anywhere inside of that spectrum or on that ax on either axis and should be able to make this work. And so what I decided to do here was completely flip-flop. And I'm like, let's go to the other side. Let's build the prototype that has our custom API and and data storage source. it's got a server-side rendering framework and it's not relying on lower level primitives of the cloud provider. And so if we do that, can't what How far can we get in terms of a good user experience? And then we can then we can figure out from there when there are more guardrails, how do we solve that within what we believe to be a good user experience?

Taylor Like it. Okay. ⁓ when you say you're not relying on lower level primitives, so I assume this is deployed to Netlify and you're probably using Netlify D B for your data store, right? But obviously that's just a Postgres database. So by not when you say you're not relying on lower level primitives, you simply mean that it's portable, that you could pick it up off of that database system and drop it into something else if you needed to. Is that am I reading that right?

Sean Alright. Yes, yeah. And that's when we that just trying to be mindful of we're not ⁓ what's ⁓ I think the that that something that we're building directly into the product itself is not designed in a way that it can only exist on Netlify. And so whoops, so ⁓ the second the next iteration I want to make is to say ⁓ I think ⁓ let me back up for a second. I think the two the two things I'd like to get out of today are One, what do we improve in this ideal process? ⁓ and then the second thing that I'm I would look to implement before episode seven is to kind of go a little bit more toward the other end of the spectrum. So pick a different cloud provider, pick a different framework and rendering mechanism, and pick an existing content source, and then let's see if we can have the same How how close can we get to the same sort of experience in that way?

Taylor Yep. Makes sense. Okay. All right, well take me through it. I I did watch Severance, so I am familiar with lemon industries or whatever.

Sean All right, so Okay. Yeah. I I felt like the the demo we were working with was just too boring. I'm tired of the coffee shop demo and I was like, you know what? Let's ⁓ let's work on sort of a weird marketing website for Lumen Industries in the the show Severance. And so if you haven't, I hope there are no no spoilers here. But ⁓ we'll we'll keep it simple here. And

Taylor Hilarious.

Sean And I I won't go too deep into what's behind the scenes, but just to say that there is an application deployed that is it is it is the content source, so to speak. But all it really is right now is an API. It's an API, it is deployed to Netlify, so it's an API with Netlify database and ⁓ some light authentication in there. But what we've got

Taylor This and this front end that we're looking at, what it what is that? Is this a Next.js application that is deployed alongside your API?

Sean this one is let me see. Let me pull up the right ⁓

Taylor I don't really care what framework it is, but you you do have a front end framework that's sitting like like that's basically doing the server rendering of these pages and the API endpoints, right? Okay.

Sean I I Exactly, exactly. So I've got Right, okay. So these ⁓ let's see, let's pull these up here. make it a little bit bigger. So there's this CMS project, which is the this is the API portion of it. And so there's not there's not anything I don't even think there's a home page here. Yeah, there's no home page.

Taylor I see. This is a completely separate so you have two projects running. You've got the front end and then your back end is just happens to be deployed to the same system, but it is represented an entirely different endpoint.

Sean Exactly. So this idea would be we could make a decision to say, hey, we're gonna host one giant ⁓ service, or we're gonna have this kind of like core service and we'll deploy individual APIs for each project. And then it maintains that omnichannel sort of approach, which is I think one of the major benefits of headless CMSs.

Taylor Okay. Yeah, I love that. I agree.

Sean So then over here we have ⁓ this is the this is the ⁓ demo application. So this would be more like this is what would be on the in the client's account, which could be Netlify, Cloudflare, Versel, whatever. And it tells me somewhere it ⁓ did I mm wait a minute, okay. I'd d I've messed with so many things. I'm like, where's my where's my ⁓ we don't even have a runtime set. I was thinking I did this with Astro and just did server side rendering, but I I can't remember. All right, I'm gonna pull that one out there. All right, and ⁓ so the other thing I've I've continued to tinker with the desktop application, and I'm still would say

Taylor Okay. Okay, no big deal.

Sean For the record, not a hundred percent sold that it's the right surface area, but it's been fun. So I've I've done

Taylor Okay, so let's back up a little bit. So you have a front end application deployed to Nellify. That's your demo that we're looking at here. You have a CMS application deployed to Nellify. This is strictly an API that you are using to act as an abstraction layer between your database and this desktop application, which represents kind of the administrative interface. Is that correct?

Sean Whoops. Yep. Exactly, exactly. So the front end is something that the client would own. the back end, the the the CMS API, so to speak, is in I think you could look at that as this is a thing the client could use if they wanted to, if they weren't bringing their own data source. ⁓ and then there's the native desktop application, which is the communication and management surface ⁓ that communicates with your one or more data sources essentially. There's a fourth piece of this, which is the orchestration layer. So ⁓ there's the ⁓ and and let me pull up the ⁓

Taylor I see.

Sean This this is our native application. So when you're interacting here, you're working with an agent. That agent could it could be a serverless agent and probably will be eventually. ⁓ I was kind of motivated to play around with some different tools and different models like we had talked about last time. And so I've got this working with an an agent orchestrator that's this kind of like fourth space, and then it is it it then interacts with the CMS and the front end and GitHub and it kinda wires all these webhooks together and all

Taylor You've got some interesting architectural choices ⁓ in the this is all structured, I think. But I with respect to time, I wanna just make sure that we can kinda see it working and then we can kinda get into the finer points next next week if you want.

Sean Mm-hmm. Sure, sure. Okay. So we could say something like, ⁓ we'll we'll just keep this simple for time because ⁓ and something we wanted to see was changes right away. So ⁓ this this hero headline says an enlightened workspace. So if we just say I'll use the voice this time without being corrected.

Taylor Please. Yeah, do it. It's not creepy at all.

Sean Change the hero headline to say Enlightened people period. Enlightened industry period. Yay. Okay. Something like that. Whoops. And then we're gonna submit that. And ⁓ new thing that we've got now I think I don't I don't remember if we had the concept of threads last time, but yeah, we've got these request threads. We've got a little bit more feedback. And then what happens

Taylor ⁓ so you can iterate on the you can iterate on the output through the thread. Is that why that exists? Okay.

Sean Exactly, exactly. And one of the one of the really strong concepts that I've been playing around with a lot is being really mindful of drawing this line between non determinism and determinism. And so we delegate the the planning to this agent and then the agent has to come back with this rigid plan, which will then we kind of enter determinism mode. And we can say, yep, that looks good, and hit deterministic APIs to make those changes. Or we go back to the agent. and and so here, for example, so this is our plan, and we can see it very clearly. We're like, this is all that we're going to change. If I hit approve, we hit this deterministic API. We're confident that the change that's now we get to check it, but we're confident that the change is going to be what we wanted. And but instead, you know, you could say, I I meant enlightened people, enlightened workplace, or something like that. And then we're gonna send that. And so then that's gonna hit the non-deterministic agent again. It's gonna say, okay, cool, I've got this context. Let me revise the plan. And the other thing that we're doing here that there we go. And it and it got the formatting right, which is great. When we opened up this request thread, we also we

Taylor Yeah. Mm-hmm.

Sean Created this isolated environment. And this is something that what I found was that you ⁓ there's a there's a really big challenge when you're looking at wrapping other services. And so I think this was kind of what we were digging into last time is like, well, you have these artificial guardrails because you're designing your ideal experience around what you can do with contentful concepts as an example. And so if we rip out Contentful and we say, well, let's just build whatever we want to build, then we can come back later and we can say, How do we adapt the perfect experience to the guardrails that we know exist in one of these products? And so, because we can do that, we now can create an unlimited number of environments, which you you look at something like Contentful, just to continue to pick on them, and those You know, they're they're going to limit the number of environments you have, but in this case, it doesn't matter. It's just data for us. So we get this unique ID, this hash for this particular project here, and we can say, okay, cool, go approve this and run it, hits that deterministic API, and just a second later we're done. And now we hit open preview. And what happens here is now what we need is we need some, this is where we need some logic in the front end. And it's a lot easier if we have server-side rendering because what we can do is we can look for this git param here. So this is this environment, and that environment ID is then tied to the CMS API. And so the server-side rendering gets that ID and it's like, okay, I'm now I'm in preview mode. And so one, I'm gonna store in this current session that I'm in preview mode. And two, I'm gonna go get the content from the CMS in preview mode. And basically what it does is so now there's two records for the hero headline. There's our production record, and there's our ⁓ the this environment's record. And so we're we can have both of those things, but anything that exists in this environment then shows up when we're in that that mode, so to speak.

Taylor Yeah. So the environment applies to the entire database or just the record? Or are you is there like a I've made if you make five adjustments on this page, you've updated the hero, you update the testimonial, you update the footer a couple of times, whatever. Y h how are you managing the environment? Do you you say you you have like a permutation of each of those records that changed one that exists for prod and one that exists respectively for this environment? Or d did you clone the entire table and everything on this page lives in this separate environment? How are you separating those two concerns?

Sean Yeah, they're they're just individual blobs. So the it's kind of like, give me yeah, give me everything for this page. I I don't know the exact query logic, but the the I think the way to think about it is like, give me everything for this page in production and then give me everything for this page for this particular that has been changed only in this environment, and I'm gonna use those. individual objects instead of the production level ones. So we're not duplicating everything. So it what should ha actually that brings up an interesting point because I haven't tested this, but the theory that it's baked on would be Okay, now some other user comes in here, starts a request to say I they want to change this subheading, let's say, and then they publish it. When we refresh this page, we should get the new subheading. So we're going to see exactly what it should be when we publish.

Taylor Yeah. I like that. Although how do you negotiate collision? So user B shows up and wants a character turn in between the word people and the word enlightened and this hero. So you have an in flight edit. Somebody else comes along, they're gonna edit the same thing. ⁓ yeah. It's an area of opportunity to think about in the future, right? Like how do you negotiate concurrent like Maybe you don't. Maybe you just lock somebody out of the the hero. Like you can't edit this because Sean's in the middle of editing it or something. You know what I mean?

Sean Okay, so you're saying two people opening two separate request threads working on the same object?

Taylor Concurrently. Yep. How do you resolve that concept?

Sean What do do you like that model of I've locked it or like do you is it is it do you find it better to to take that aggressive it's that the more aggressive approach, like this is locked, you can't do anything with it, or I'm just informing you and making it this conflict visible?

Taylor I like the aggressive approach only because it simplifies today's task, but I think long term from a user experience standpoint that you need it needs to be a little bit more sensitive to everybody's requirements, but I would say ship as soon as you can. You know what I mean? Like get something out that's working. It's basically what you're saying about like I'm building these constraints, these walls, these structures around which the business logic has to operate within, and now I can iterate within those boundaries.

Sean Yep, yep.

Taylor Right, I would say the exact same, like ship the MVP version that may not be exactly what you want or what is ideal, but is enough to be operable, and then go back and come, you know, with fresh eyes, look at look at the problem, you know, once you've gotten to release number one. That's that's the way I would approach it personally. Brother, ⁓ we are getting close on time. ⁓ this is awesome. So

Sean Yep. Yep. Okay, okay. Like that.

Taylor Last thought here, you basically publish from here. So we're in a preview environment. These are changes that are staged and you have an infinite number of environments that you can roll out depending upon how you're doing your content administration. And then what do you do? You publish from here, and then that would just kick off a traditional Netlify build.

Sean Yep. Yep. Yes, so at this point nothing has changed in in Netlify. And so then, yep, you can chip live. So ⁓ one thing real quick, or just say if I refresh this, it should it changes here, but we get this little eyebrow up here that tells us we're in that preview mode because what that does is it

Taylor ⁓ I see ship, yeah. Like heads up. Not yet.

Sean It then makes it easy to move around the site. So if you've changed something that affects multiple pages, you don't have to maintain that a parameter in the URL. So you're kind of in this preview mode. And the only way to get out of it then is to click there. And then ⁓ if you refresh this page, you would go back into it. So I'm I'm here. Yeah. And so ⁓ and then ship should

Taylor Get back into that same session, yeah. Okay. ⁓ dude, really cool. I like it.

Sean ⁓ let's see if that does it right away or if we kick off ⁓ it did it right away. Okay. So we're cool. Yeah, that's right.

Taylor Hey, there it goes. That's quite server rendered, baby. ⁓ hey, listen, ⁓ this is great, Sean. Thanks. I love this. I can't wait to kind of see how it evolves and where you're taking it next. but yeah, any any parting thoughts before we bounce for the day?

Sean No, I think that's that's good and we'll ⁓ yeah, we'll keep this rolling. It was a fun conversation today.

Taylor Likewise. All right, thanks, man. I hope you have a wonderful ⁓ Thursday. ⁓ for everybody listening, this is Blood Sweat and Tears. This is our sixth episode. we're having a lot of fun with this. ⁓ my goodness gracious. I'm gonna have to edit that out now. I have a whole new problem. How can I automate the the editing of my my my misstatements? blood, sweat and tokens. I need to get the brand committed to memory, sorry. Blood, sweat and tokens.

Sean Blood sweat and tokens. Yeah.

Taylor Sixth episode. We're really enjoying this. So if ⁓ if you have any feedback for us, it's kind of weird to put content out. I don't know if this is useful to anybody or not. ⁓ I hope it is. I've really enjoyed it and it's kind of fun just to sort of capture some of these random, long running, long-winded conversations that Sean and I have had over the years. So if you would like to subscribe or share it with a friend, we would be eternally grateful. In the meantime, we'll work on next week where we'll come back and kind of revisit some of those architectural ⁓ choices that Sean's made and kind of talk about maybe conflict resolution. You name it. Maybe we'll talk about the demise of humanity. Anyway. ⁓ Thanks again, Sean. I hope you have a great week.

Sean Love it. Likewise. Thanks, Taylor.

keep listening

3 total
  1. 012Stop Interrupting Me! GPT Live, Impatient Kids, and the Art of AI CommunicationJUL 2454:04
  2. 011The Hidden Costs of Corporate AI DependencyJUL 1756:32
  3. 010AI Addiction and Intentional CollaborationJUL 1537:35