<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Luke Stahl&apos;s Blog</title><description>Articles on web development, CMS platforms, AI tools, and developer marketing</description><link>https://lukestahl.io/</link><language>en-us</language><item><title>End of coding, age of building</title><link>https://lukestahl.io/blog/end-of-coding-age-of-building/</link><guid isPermaLink="true">https://lukestahl.io/blog/end-of-coding-age-of-building/</guid><description>The constraint moved from writing code to describing what you want built. Here&apos;s what that shift looks like, who it affects, and what it doesn&apos;t answer.</description><pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/blog/images/end-of-coding-age-of-building/end-of-coding_png.png&quot; alt=&quot;end-of-coding.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;The constraint moved. For decades, the thing that determined whether software got built was whether someone could write the code. You needed syntax, framework knowledge, years of pattern recognition. That&amp;#39;s not the constraint anymore. The constraint is whether you can describe what you want built, evaluate what comes back, and make good decisions about what to do next.&lt;/p&gt;
&lt;p&gt;This didn&amp;#39;t happen gradually. A set of tools crossed a threshold within about six months, and the gap between &amp;quot;I have an idea&amp;quot; and &amp;quot;I have a working prototype&amp;quot; collapsed from weeks to hours.&lt;/p&gt;
&lt;h2&gt;What happened in late 2025&lt;/h2&gt;
&lt;p&gt;The shift wasn&amp;#39;t one tool getting better. It was five or six things converging at once.&lt;/p&gt;
&lt;p&gt;Cursor shipped background agents in late 2025, letting multiple AI processes work across a codebase simultaneously. One agent refactors your auth layer while another writes tests for the module you just finished. Parallel execution against a shared codebase, with conflict resolution built in. That&amp;#39;s a different editing model than autocomplete.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.anthropic.com/news/claude-opus-4-5&quot;&gt;Anthropic released Opus 4.5&lt;/a&gt; and a generation of RLVR-trained models that crossed a reasoning threshold. Earlier models could write functions. These models could hold architectural context across a 50-file project, understand why a particular abstraction existed, and make changes that respected the existing design. The gap between &amp;quot;generates code&amp;quot; and &amp;quot;understands the codebase&amp;quot; closed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/overview&quot;&gt;Claude Code&lt;/a&gt; started running as a local CLI, reading your file system, running your tests, iterating on failures without round-tripping through a browser. It turned a chat interface into something closer to a junior developer sitting next to you, except it could work through an entire debugging session in minutes.&lt;/p&gt;
&lt;p&gt;And the browser-based builders matured. &lt;a href=&quot;https://bolt.new/&quot;&gt;Bolt&lt;/a&gt;, &lt;a href=&quot;https://lovable.dev/&quot;&gt;Lovable&lt;/a&gt;, and &lt;a href=&quot;https://v0.app/&quot;&gt;v0&lt;/a&gt; went from generating impressive demos to generating deployable applications. Not always clean applications. Not always production-grade. But working software that a non-developer could ship to real users, connected to real databases, with real authentication flows.&lt;/p&gt;
&lt;p&gt;Each of these alone was incremental. Together, they moved the floor.&lt;/p&gt;
&lt;h2&gt;The coding era versus the building era&lt;/h2&gt;
&lt;p&gt;The coding era rewarded a specific set of skills. You needed to know that JavaScript handles async differently than most languages, that &lt;a href=&quot;https://react.dev/&quot;&gt;React&lt;/a&gt; re-renders on state change, that SQL joins have performance implications at scale. Years of practice built an intuition for debugging, architecture, and language-specific idioms. The work was writing code, and the quality of the code depended on your accumulated experience writing it.&lt;/p&gt;
&lt;p&gt;The building era rewards a different set. Articulation matters more than syntax. Can you describe the data model clearly enough that an AI generates the right schema? Do you know that this feature needs async processing instead of a synchronous call, even if you&amp;#39;ve never wired it up yourself? And when the AI generates three approaches, can you tell which one breaks at scale? The skills shifted from implementation to specification and evaluation.&lt;/p&gt;
&lt;p&gt;The difference shows up in specific scenarios. A marketing ops manager needed an internal tool to sync campaign data between HubSpot and their reporting dashboard. In the coding era, that&amp;#39;s a ticket in Jira, a sprint planning conversation, two weeks of developer time. In the building era, she described the sync logic to Claude Code, iterated on the output for an afternoon, and had a working tool by end of day. Because the constraint moved from implementation to specification.&lt;/p&gt;
&lt;p&gt;A designer prototyping a dashboard in &lt;a href=&quot;https://www.figma.com/&quot;&gt;Figma&lt;/a&gt; used to hand off static mockups to a frontend team. Now the prototype becomes the product. v0 takes the design, generates the React components, and the designer iterates on the actual code output. The handoff didn&amp;#39;t get faster. The handoff disappeared.&lt;/p&gt;
&lt;h2&gt;Who builds now&lt;/h2&gt;
&lt;p&gt;The audience expanded, but not in the way the &amp;quot;everyone is a developer&amp;quot; crowd claims. A product manager shipping an internal tool isn&amp;#39;t a developer. A designer generating React components from a prototype isn&amp;#39;t a frontend engineer. They&amp;#39;re building software, but they&amp;#39;re doing it through a different interface than a code editor and a terminal.&lt;/p&gt;
&lt;p&gt;The people making product decisions can now execute on them directly. That&amp;#39;s the actual shift. A domain expert who understands the problem space deeply can build the first version of a solution without translating their knowledge through a development team. The translation layer got thinner.&lt;/p&gt;
&lt;p&gt;Developers didn&amp;#39;t become less important. They became faster. A senior engineer using Cursor with background agents can move through a codebase at a pace that wasn&amp;#39;t possible two years ago. The tedious parts shrink. The judgment parts stay. A staff engineer reviewing AI-generated code still needs to spot the subtle concurrency bug, the missing index, the abstraction that will break when requirements change. That work didn&amp;#39;t go anywhere.&lt;/p&gt;
&lt;h2&gt;What this means for developer content&lt;/h2&gt;
&lt;p&gt;If you&amp;#39;re writing tutorials that start with &amp;quot;First, install the SDK and initialize a client,&amp;quot; you&amp;#39;re writing for a shrinking audience. Not shrinking to zero, but narrowing. A growing segment of builders thinks in prompts, not imports. They describe what they want, evaluate the output, and iterate. The SDK installation happens inside that loop, handled by the AI, often without the builder knowing which package manager ran.&lt;/p&gt;
&lt;p&gt;This doesn&amp;#39;t mean content gets dumber. It means the frame shifts. Instead of &amp;quot;How to implement authentication with NextAuth,&amp;quot; the useful article becomes &amp;quot;How to think about authentication for a SaaS app.&amp;quot; What are the tradeoffs between session-based and token-based auth? When does OAuth make sense versus magic links? What are the actual security implications of each choice?&lt;/p&gt;
&lt;p&gt;The content that holds value is the content that helps someone make decisions, not the content that walks them through keystrokes. Implementation guides aren&amp;#39;t dead, but they&amp;#39;re commoditized. The AI can generate a NextAuth setup. What it can&amp;#39;t do is tell you whether NextAuth is the right choice for your specific situation.&lt;/p&gt;
&lt;h2&gt;What didn&amp;#39;t change&lt;/h2&gt;
&lt;p&gt;Architecture decisions still require someone who understands distributed systems and scaling characteristics. AI can generate a microservices setup, but it doesn&amp;#39;t know whether your team of four should be running microservices or a monolith. It doesn&amp;#39;t know your deployment constraints, your on-call rotation, or the operational complexity your team can absorb.&lt;/p&gt;
&lt;p&gt;Judgment still matters. AI generates plausible code quickly. It also generates plausible bugs quickly. Someone needs to review the output, understand the failure modes, and catch the cases where the AI optimized for the wrong thing. A function that passes all tests but handles errors by swallowing them silently is worse than a function that doesn&amp;#39;t compile, because at least the compiler error is honest.&lt;/p&gt;
&lt;p&gt;Senior developers aren&amp;#39;t less valuable. They&amp;#39;re more leveraged. The gap between a senior engineer with AI tools and a junior engineer with AI tools is wider than the gap was without AI. The senior knows what to ask for and knows when the output is wrong. The ceiling didn&amp;#39;t move. The skills that make senior engineers valuable are the same ones AI can&amp;#39;t replicate.&lt;/p&gt;
&lt;h2&gt;The career path question&lt;/h2&gt;
&lt;p&gt;Here&amp;#39;s the part nobody has a good answer for: what does a junior developer career path look like when the entry-level work is automated?&lt;/p&gt;
&lt;p&gt;Junior roles traditionally existed as training grounds. You wrote CRUD endpoints, fixed CSS bugs, added form validation. Those tasks built intuition for how systems work, how code breaks, and how to debug when something doesn&amp;#39;t behave. That intuition feeds the judgment that makes senior engineers valuable. The entry-level work wasn&amp;#39;t just work. It was education.&lt;/p&gt;
&lt;p&gt;If AI handles the CRUD endpoints and the form validation and the CSS bugs, the question isn&amp;#39;t whether juniors are needed. It&amp;#39;s how they develop the judgment that AI can&amp;#39;t replace. The obvious answer is &amp;quot;they&amp;#39;ll learn by reviewing AI output instead of writing code from scratch.&amp;quot; Maybe. But reviewing code you don&amp;#39;t fully understand is a different skill than writing it, and it&amp;#39;s not clear it builds the same depth of understanding.&lt;/p&gt;
&lt;p&gt;This is an open question, and I don&amp;#39;t think anyone has an honest answer yet. The tools moved faster than the career structures adapted. Companies are still hiring for roles defined by the coding era while the work increasingly belongs to the building era. That mismatch will resolve, but how it resolves will shape the next generation of engineers.&lt;/p&gt;
</content:encoded><category>AI</category><category>Developer Tools</category><category>Vibe Coding</category><category>Product Development</category></item><item><title>What is developer marketing and why it exists</title><link>https://lukestahl.io/blog/developer-marketing/</link><guid isPermaLink="true">https://lukestahl.io/blog/developer-marketing/</guid><description>Developer marketing is product and growth marketing for a technical audience, with responsibility that runs across the full funnel.</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/blog/images/developer-marketing/Developer_Marketing_copy_png.png&quot; alt=&quot;Developer_Marketing_copy.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Developer marketing sits at the intersection of product marketing and growth marketing. You’re responsible for launches, messaging, and positioning, but also for how those decisions show up in campaigns, GTM, and adoption. The role owns the developer persona end to end and is accountable for both product-led and sales-led growth, not just shipping something.&lt;/p&gt;
&lt;p&gt;The role runs in parallel with most marketing functions, from content and lifecycle to web, demand gen, and RevOps. The scope doesn’t stop at signups. You’re responsible for the full funnel, which means accounting for revenue, not just activation. If people sign up but deals don’t close, that’s still a problem to solve.&lt;/p&gt;
&lt;p&gt;You’re also more technical than the average marketer. You’re closer to the product, the workflows, and the constraints, and you put developer trust first. Once that trust is lost, it’s hard to recover.&lt;/p&gt;
&lt;p&gt;That combination is what makes developer marketing both exciting and difficult. The role comes with overlap, ambiguity, and frequent justification, especially in developer-first companies where everyone speaks developer and ownership is rarely clean.&lt;/p&gt;
&lt;h2&gt;Why this role exists at all&lt;/h2&gt;
&lt;p&gt;Most marketing is optimized to explain value at a high level. That breaks down when claims have to hold up under actual usage. Developers evaluate through workflows and constraints, and they notice quickly when something doesn’t.&lt;/p&gt;
&lt;p&gt;Developer marketing exists because this kind of evaluation requires technical judgment before messaging ships. Someone has to pressure-test positioning against how the product actually behaves. Someone has to surface mismatches early, before they turn into sales friction, support tickets, or churn that no one planned for.&lt;/p&gt;
&lt;p&gt;When that responsibility is missing, the gaps don’t disappear. They just move downstream, where they’re harder and more expensive to fix.&lt;/p&gt;
&lt;h2&gt;Why developer-first companies make the role harder to see&lt;/h2&gt;
&lt;p&gt;In companies built primarily for developers, developer context is everywhere. Marketing teams tend to be more technical and already speak to developers without translation. There’s a shared baseline for how developers think.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog/images/developer-marketing/devmkt_spiderman_jpg.jpg&quot; alt=&quot;devmkt_spiderman.jpg&quot;&gt;&lt;/p&gt;
&lt;p&gt;In those environments, developer marketing doesn’t always show up as a clearly defined function. The work spreads across teams. Parts of it live in product. Parts live in content, growth, or demand gen.&lt;/p&gt;
&lt;p&gt;That’s where confusion starts. Not because the role isn’t needed, but because responsibility is diffused. Everyone contributes. No one is clearly accountable for how the product is framed and evaluated by developers end to end. The role doesn’t disappear in developer-first companies. Accountability just becomes harder to pin down.&lt;/p&gt;
&lt;h2&gt;Why technical chops matter more than familiarity with developers&lt;/h2&gt;
&lt;p&gt;There’s a difference between being adjacent to developers and having technical judgment. The first gives exposure and the second lets you evaluate whether something will hold up once it’s actually used.&lt;/p&gt;
&lt;p&gt;Developer marketers need to be able to read content and recognize when something is glossed-over. They need to look at a demo and tell whether it actually holds up. They need to understand why a limitation matters before customers encounter it and turn it into a problem.&lt;/p&gt;
&lt;p&gt;This isn’t about writing production code every day. It’s about understanding systems well enough to evaluate claims honestly. Familiarity with developer culture helps, but technical fluency is what makes the role effective.&lt;/p&gt;
&lt;h2&gt;What developer marketing is responsible for&lt;/h2&gt;
&lt;p&gt;Developer marketing is responsible for maintaining clarity and credibility with a technical audience, even when ownership across teams is messy.&lt;/p&gt;
&lt;p&gt;In practice, that responsibility tends to show up in a few places:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shaping positioning and framing so it reflects how developers actually evaluate tools&lt;/li&gt;
&lt;li&gt;Validating that messaging aligns with development workflows, not idealized ones&lt;/li&gt;
&lt;li&gt;Surfacing mismatches early, before they ship and become someone else’s problem&lt;/li&gt;
&lt;li&gt;Representing developer reality consistently across product, sales, and marketing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn’t a checklist of tactics. When no one owns it, the gaps show up fast. Demos that fall apart under usage. Content that explains features but avoids constraints. Messaging that sounds right until someone tries to build with the product.&lt;/p&gt;
&lt;h2&gt;How developer marketing runs alongside other marketing functions&lt;/h2&gt;
&lt;p&gt;Developer marketing doesn’t replace product or growth marketing. In smaller companies, it often &lt;em&gt;is&lt;/em&gt; product and growth marketing because one person owns the work end to end. As teams grow, the functions split out, but the responsibility doesn’t disappear.&lt;/p&gt;
&lt;p&gt;In larger orgs, developer marketing becomes a coordinating role. Product marketing, growth, content, lifecycle, and RevOps have clear owners, but someone still has to keep the work aligned. Positioning has to match how the product actually works. Campaigns can’t get ahead of reality. Growth tactics can’t create downstream cleanup. That’s also why developer marketing experience scales into leadership. You’ve already had to own the whole system.&lt;/p&gt;
&lt;h2&gt;Developer marketing vs Developer Relations&lt;/h2&gt;
&lt;p&gt;Developer marketing and DevRel are often confused because they work with the same audience. They solve different problems. DevRel focuses on relationships, education, and feedback loops. Developer marketing focuses on clarity, positioning, adoption and revenue. There’s overlap in execution, but not in responsibility. They work best together. Things break when one is asked to replace the other.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Developer marketing in the AI era&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The core responsibility hasn&amp;#39;t changed. You still own trust, positioning, and credibility with a technical audience. But who that audience is and how they evaluate shifted. AI coding agents moved the constraint from writing code to describing what you want built. The people evaluating your product now include PMs, designers, and domain experts who build through prompts, not syntax. Developer content has two audiences now, humans and the AI agents helping them build. If your docs can&amp;#39;t be parsed by an agent in Cursor or Claude Code, developers won&amp;#39;t see your product at all.&lt;/p&gt;
&lt;p&gt;I wrote more about this shift in &lt;a href=&quot;https://lukestahl.io/blog/end-of-coding-age-of-building/&quot;&gt;End of coding, age of building&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;How I think about being a better developer marketer&lt;/h2&gt;
&lt;p&gt;First, you should use the product. You should build with the thing you’re marketing. You should hit the same rough edges users hit and understand why they exist. It’s hard to explain limitations honestly if you’ve never run into them yourself.&lt;/p&gt;
&lt;p&gt;Second, use AI aggressively, but deliberately. Automate repetitive work and invest in reusable tools, like a writing style guide or a Claude skill, so you’re not starting from scratch every time.&lt;/p&gt;
&lt;p&gt;If you’re vibe coding, write instructions that explain what the generated code is doing. You should understand the structure of a codebase well enough to know where files live and how to update them manually if something breaks. Even if you work primarily in visual tools or AI editors, that baseline matters.&lt;/p&gt;
&lt;p&gt;Build a sandbox. Have a place where you can play around with different dev tools and see how they actually behave. My &lt;a href=&quot;https://lukestahl.io/&quot;&gt;site&lt;/a&gt; became my personal playground. &lt;/p&gt;
&lt;p&gt;Learn from people who are close to the work and opinionated about it. I read an interesting &lt;a href=&quot;https://www.linkedin.com/posts/morganepalomares_questions-i-always-ask-in-interviews-how-activity-7417609243677356032-F4H1?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAVTVpMBxaiFbpYSMC1uTcI4crtPYBeihxA&quot;&gt;question&lt;/a&gt; posed to potential hiring candidates, who do you think is doing marketing well? It made me run through the exercise and I think it’s important to follow folks who show their thinking, not just outcomes. Here are a couple folks that keep my wheels spinning, it a good way of course. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/theHankTaylor&quot;&gt;Hank Taylor&lt;/a&gt; - Developer Marketing Advisor, &lt;a href=&quot;https://codetomarket.fm/&quot;&gt;CodetoMarket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/morganepalomares/&quot;&gt;Morgane Palomares&lt;/a&gt; - VP of Marketing, &lt;a href=&quot;https://www.braintrust.dev/&quot;&gt;Braintrust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/rdegges/&quot;&gt;Randall Degges&lt;/a&gt; - VP of AI Eng &amp;amp; DevRel, &lt;a href=&quot;https://snyk.io/&quot;&gt;Snyk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/Steve8708&quot;&gt;Steve Sewell&lt;/a&gt; - CEO, &lt;a href=&quot;https://www.builder.io/&quot;&gt;Builder.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/james406&quot;&gt;James Hawkins &lt;/a&gt;- Co-CEO, &lt;a href=&quot;https://posthog.com/&quot;&gt;PostHog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I keep most of this thinking written down so I don’t have to relearn the same lessons every time. I collect articles, threads, talks, and tools as &lt;a href=&quot;https://lukestahl.io/gems/&quot;&gt;gems&lt;/a&gt;. Over time, that gets distilled into my &lt;a href=&quot;https://lukestahl.io/handbook/&quot;&gt;developer marketing handbook&lt;/a&gt;, which is where I capture how I approach personas, messaging, enablement, and GTM strategies when developers are part of the equation.&lt;/p&gt;
&lt;h2&gt;A note on how I actually apply this&lt;/h2&gt;
&lt;p&gt;I keep running into the same questions when I’m doing developer marketing work. What actually matters here? What’s noise? Where am I about to overcomplicate something or gloss over a constraint that will come back later?&lt;/p&gt;
&lt;p&gt;One example is a &lt;a href=&quot;https://github.com/Stahlwalker/developer-marketing&quot;&gt;Developer Marketing Claude skill&lt;/a&gt; I built that turns my developer marketing handbook into an interactive reference. I plan to use it to get oriented quickly and sanity-check decisions when I’m moving fast. It’s not meant to replace judgment or thinking. It’s there to reduce the cost of starting from scratch every time.&lt;/p&gt;
&lt;p&gt;I’ve also published a &lt;a href=&quot;https://lukestahl.io/dev-marketing-cheat-sheet/&quot;&gt;developer marketing cheat sheet&lt;/a&gt; that pulls together roles and responsibilities, along with distribution channels and metrics. It’s intentionally lightweight and doesn’t require an email to download. If it’s useful, take it. If it’s not, ignore it.&lt;/p&gt;
&lt;h2&gt;What the job actually demands now&lt;/h2&gt;
&lt;p&gt;Doing this work well today requires more than knowing channels or tactics. It requires technical literacy, comfort operating between teams with unclear responsibility, and a willingness to be specific even when that means accepting tradeoffs. Most of all, it requires accountability for trust and revenue, not just reach.&lt;/p&gt;
</content:encoded><category>Developer Marketing</category></item><item><title>What gets lost during leadership transitions</title><link>https://lukestahl.io/blog/leadership-flywheel/</link><guid isPermaLink="true">https://lukestahl.io/blog/leadership-flywheel/</guid><description>When leadership changes every year, strategy rarely has time to land. This is a look at the leadership flywheel that keeps resetting teams, why it happens, and what gets lost for the people doing the work.</description><pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/blog/images/leadership-flywheel/leadership-flywheel-v2_png.png&quot; alt=&quot;leadership-flywheel-v2.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Over the past few years, I’ve seen the same pattern repeat across different companies, teams, and stages. It stopped feeling situational and started feeling structural. Leadership changes. Direction shifts. Teams reset. Then the same sequence plays out again.&lt;/p&gt;
&lt;p&gt;I don’t think this usually comes from bad intent. Leadership choices shape the outcome in systems that reward visible change over durability. Over time, I started thinking about it as a flywheel. Not a formal model, just a way to explain why the same behaviors reinforce each other and keep repeating.&lt;/p&gt;
&lt;h3&gt;A pattern I keep seeing&lt;/h3&gt;
&lt;p&gt;It usually starts the same way. A new leader joins with a mandate to fix things. Expectations are high, time is limited, and the organization wants to see movement quickly. There’s pressure to create clarity and confidence, both internally and externally.&lt;/p&gt;
&lt;p&gt;That pressure shapes the first decisions. Change becomes the most visible signal of ownership. Direction gets reset, priorities get reshuffled, and the org starts moving before there’s full context on why things look the way they do.&lt;/p&gt;
&lt;p&gt;What follows is consistent enough that it’s hard to ignore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A rebrand or reset of priorities&lt;/li&gt;
&lt;li&gt;A restructure to match the new direction&lt;/li&gt;
&lt;li&gt;People exit, sometimes by choice, sometimes not&lt;/li&gt;
&lt;li&gt;New roles open that look a lot like the ones that were removed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Within a year to eighteen months, leadership changes again. The next person inherits a partially reset system, and the cycle starts over.&lt;/p&gt;
&lt;h3&gt;The leadership flywheel, as I see it&lt;/h3&gt;
&lt;p&gt;I think of this as a leadership flywheel because each step reinforces the next. New leadership enters under pressure to show progress. Visible change signals momentum. Structural and team changes follow. Outcomes take time. Leadership tenure runs out before those outcomes fully materialize.&lt;/p&gt;
&lt;p&gt;The flywheel keeps moving not because anyone wants disruption, but because motion is easier to measure than durability. The system rewards visible change more than sustained execution.&lt;/p&gt;
&lt;h3&gt;Why leadership transitions often start with change&lt;/h3&gt;
&lt;p&gt;From the outside, change reads as action. From the inside, it often reads as necessity. New leaders inherit teams they didn’t build and strategies they didn’t choose. There’s limited trust in inherited context and little patience for slow understanding.&lt;/p&gt;
&lt;p&gt;Resetting direction, structure, or messaging establishes ownership and creates distance from what came before. The issue isn’t that change happens. It’s that change becomes the starting point instead of the result of learning.&lt;/p&gt;
&lt;h3&gt;What gets lost first&lt;/h3&gt;
&lt;p&gt;The earliest losses are quiet. Context disappears. The reasoning behind past decisions fades. Work that was in motion loses sponsorship and stalls, not because it failed, but because no one is left to carry it forward.&lt;/p&gt;
&lt;p&gt;Each transition removes another layer of institutional memory. Over time, teams stop assuming their work will compound. They expect it to be revisited.&lt;/p&gt;
&lt;h3&gt;What gets lost over time&lt;/h3&gt;
&lt;p&gt;As these transitions stack, the cost becomes harder to ignore. Strategy turns into something that’s constantly reworked instead of built toward. Teams get cautious about long-term bets. Confidence in direction erodes, even when the direction itself is sound.&lt;/p&gt;
&lt;p&gt;People adapt by narrowing scope and shortening time horizons. Not because they lack ambition, but because they’ve learned what survives resets and what doesn’t.&lt;/p&gt;
&lt;h3&gt;The professional impact no one plans for&lt;/h3&gt;
&lt;p&gt;Leadership transitions don’t just reset strategy. They reset careers. Performance gets evaluated by managers who weren’t there for the work. Progress has to be re-explained. Advocacy disappears when leaders leave, often through no fault of the people they supported.&lt;/p&gt;
&lt;p&gt;Growth becomes uneven. Not tied to output or impact, but to timing. This is one of the harder realities to talk about without sounding bitter, but it shapes how people experience their careers more than most organizations acknowledge.&lt;/p&gt;
&lt;p&gt;I’ve experienced this firsthand, including situations where positive reviews, bonuses, and pay adjustments existed right up until a leadership change reset the narrative. In those moments, the work didn’t suddenly stop delivering. What changed was how success was defined and which outcomes mattered.&lt;/p&gt;
&lt;h3&gt;A leadership assumption worth challenging&lt;/h3&gt;
&lt;p&gt;Teams often get labeled as underperforming when the real issue is instability. Work doesn’t fail because the people were wrong for the role. It fails because the system never gave it time to land.&lt;/p&gt;
&lt;p&gt;Strategy gets blamed when continuity was the missing ingredient. Changing players is easier than stabilizing the field, but it rarely addresses the underlying problem.&lt;/p&gt;
&lt;h3&gt;Entering a team without restarting the cycle&lt;/h3&gt;
&lt;p&gt;There’s another way to enter an organization, though it’s slower and less visible. Spend time with the team before reshaping it. Separate inherited issues from structural ones. Learn what’s already been tried and why it stalled.&lt;/p&gt;
&lt;p&gt;Most teams don’t need to be replaced. They need space to operate without being reset every year. This doesn’t mean avoiding change. It means earning it.&lt;/p&gt;
&lt;h3&gt;Living inside leadership transitions&lt;/h3&gt;
&lt;p&gt;For people inside the system, there’s no clean answer. Some leave early. Some stay and adapt. Some get reshaped into roles they didn’t come in to do. Occasionally, a leader arrives who builds with what’s there instead of tearing it down, but you can’t plan on that.&lt;/p&gt;
&lt;p&gt;What you can plan for is the reset.&lt;/p&gt;
&lt;p&gt;You shouldn’t assume your previous performance reviews will be read. You shouldn’t assume context will carry forward. You shouldn’t assume the work you did speaks for itself once the people who sponsored it are gone. That’s frustrating, and it’s draining, but it’s also the reality of how often leadership changes.&lt;/p&gt;
&lt;p&gt;Writing things down helps more than people want to admit. Not as self-promotion, but as continuity. Capture what you worked on, why it mattered, what changed because of it, and what didn’t get finished. Keep a record of decisions, outcomes, and tradeoffs while the context is still fresh.&lt;/p&gt;
&lt;p&gt;This isn’t about selling yourself constantly. It’s about not starting from zero every time the org resets.&lt;/p&gt;
&lt;p&gt;Over time, these notes become your own internal handoff doc. They make transitions survivable. They give you a way to ground conversations when direction shifts again. They help you advocate for your work without relying on memory or missing context.&lt;/p&gt;
&lt;p&gt;You can’t stop the leadership flywheel alone, but you can make sure it doesn’t erase your contribution every time it turns.&lt;/p&gt;
</content:encoded><category>Marketing</category><category>Leadership</category></item><item><title>Can a modern website run on Markdown + AI alone?</title><link>https://lukestahl.io/blog/markdown-vs-cms/</link><guid isPermaLink="true">https://lukestahl.io/blog/markdown-vs-cms/</guid><description>A clear look at how far Markdown and AI can go, where a CMS becomes necessary, and why visual development offers a different approach entirely.</description><pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/blog/images/markdown-vs-cms/Markdown_hero_1200_png.png&quot; alt=&quot;Markdown_hero_1200.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;A debate surfaced over the weekend about whether teams still need a CMS at all. The idea is simple. If AI can draft content, migrate files, clean up structure, and commit everything to your repo, maybe you don’t need a content system. Everything becomes Markdown. Everything lives in Git. AI handles the busywork.&lt;/p&gt;
&lt;p&gt;It’s a compelling argument for code-first teams.&lt;/p&gt;
&lt;p&gt;But the real question is bigger.&lt;/p&gt;
&lt;p&gt;Can an entire production website be built and maintained this way, or are there parts of a CMS that AI and Markdown still can’t replace?&lt;/p&gt;
&lt;p&gt;And once you widen the scope to the whole website, a third option starts to matter too: visual development.&lt;/p&gt;
&lt;p&gt;Here’s how these models actually compare.&lt;/p&gt;
&lt;h2&gt;The argument for Markdown and AI&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://leerob.com/agents&quot;&gt;Markdown&lt;/a&gt; has always been appealing to developers. It’s simple, local, versioned, and transparent. With AI acting on files the same way developers already do, a lot of friction disappears. You can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;draft content in your editor&lt;/li&gt;
&lt;li&gt;use agents to clean up structure&lt;/li&gt;
&lt;li&gt;generate frontmatter&lt;/li&gt;
&lt;li&gt;fix formatting&lt;/li&gt;
&lt;li&gt;reorganize folders&lt;/li&gt;
&lt;li&gt;handle bulk changes&lt;/li&gt;
&lt;li&gt;commit and deploy without leaving your flow&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a fully technical team, this model feels clean. There are no CMS dashboards to maintain, no API layers to wire up, and no separate content environments to manage. Everything lives in one place, and automation handles the repetitive work. It’s a real advantage for teams that operate entirely in code. But it also assumes something important: every contributor works like a developer. And most websites aren’t run that way.&lt;/p&gt;
&lt;h2&gt;Where Markdown starts to fall short&lt;/h2&gt;
&lt;p&gt;Markdown works well when content is simple and the team is small. That’s why some engineering-led teams can run it without friction. But once a website becomes a system instead of a collection of documents, Markdown introduces gaps that aren’t obvious until you hit them.&lt;/p&gt;
&lt;p&gt;Some websites genuinely don’t need structured content, workflows, localization, or a cross-functional editing model. If your site is simple and your team is entirely technical, Markdown can work fine. But if your website relies on these capabilities, getting them in a Markdown workflow means building and maintaining them yourself.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog/images/markdown-vs-cms/Website_vs_Markdown_png.png&quot; alt=&quot;Website_vs_Markdown.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Here are the big ones.&lt;/p&gt;
&lt;h3&gt;1. No structured content model&lt;/h3&gt;
&lt;p&gt;Some sites don’t need schema-level modeling. Many do. Production sites often rely on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;fields&lt;/li&gt;
&lt;li&gt;types&lt;/li&gt;
&lt;li&gt;relationships&lt;/li&gt;
&lt;li&gt;reusable fragments&lt;/li&gt;
&lt;li&gt;shared data across many surfaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Markdown doesn’t enforce any of this. One missing field can break pages. One inconsistent value can break queries.&lt;/p&gt;
&lt;p&gt;You can bolt on schema validation, but at that point you’re recreating parts of a CMS.&lt;/p&gt;
&lt;h3&gt;2. No safe editing environment&lt;/h3&gt;
&lt;p&gt;Markdown works for engineers. It doesn’t work for non-technical contributors. Even if AI generates the files, someone still ends up reviewing diffs or dealing with frontmatter.&lt;/p&gt;
&lt;p&gt;Supporting broader teams means building:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;internal UIs&lt;/li&gt;
&lt;li&gt;guardrails around edits&lt;/li&gt;
&lt;li&gt;validation layers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Otherwise, you&amp;#39;re asking non-technical contributors to operate in Git.&lt;/p&gt;
&lt;h3&gt;3. No preview tied to actual components&lt;/h3&gt;
&lt;p&gt;Some engineering teams already maintain strong preview systems. Most don’t.&lt;/p&gt;
&lt;p&gt;Without one, a Markdown file can’t show:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;how a component renders&lt;/li&gt;
&lt;li&gt;how content interacts with layout&lt;/li&gt;
&lt;li&gt;how changes ripple across a page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You only see the real outcome after a build or preview deployment.&lt;/p&gt;
&lt;h3&gt;4. No built-in workflows&lt;/h3&gt;
&lt;p&gt;Websites need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;approvals&lt;/li&gt;
&lt;li&gt;version history&lt;/li&gt;
&lt;li&gt;scheduling&lt;/li&gt;
&lt;li&gt;role-based access&lt;/li&gt;
&lt;li&gt;localization&lt;/li&gt;
&lt;li&gt;multi-surface consistency&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Markdown doesn’t support this. Reproducing it means building bots, branch rules, and CI automation to simulate editorial workflows.&lt;/p&gt;
&lt;h3&gt;5. No shared space for collaboration&lt;/h3&gt;
&lt;p&gt;Markdown keeps contributors split across tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;developers in Git&lt;/li&gt;
&lt;li&gt;designers in Figma&lt;/li&gt;
&lt;li&gt;marketers in docs&lt;/li&gt;
&lt;li&gt;reviewers in comments elsewhere&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is no shared environment for the website itself. Markdown is simple until the website isn’t.&lt;/p&gt;
&lt;h2&gt;Can AI agents solve this gap?&lt;/h2&gt;
&lt;p&gt;AI agents can automate a lot inside a Markdown workflow. They can generate files, rewrite content, reorganize structure, migrate documents, clean up frontmatter, and handle several repetitive tasks developers used to own.&lt;/p&gt;
&lt;p&gt;But agents don’t replace the systems that keep a full website consistent and safe.&lt;/p&gt;
&lt;p&gt;To match what a CMS provides, AI agents would need to handle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;schema enforcement&lt;/li&gt;
&lt;li&gt;field validation&lt;/li&gt;
&lt;li&gt;relationship modeling&lt;/li&gt;
&lt;li&gt;reference checks&lt;/li&gt;
&lt;li&gt;localization parity&lt;/li&gt;
&lt;li&gt;role-based permissions&lt;/li&gt;
&lt;li&gt;publishing controls&lt;/li&gt;
&lt;li&gt;approvals and sequencing&lt;/li&gt;
&lt;li&gt;preview environments&lt;/li&gt;
&lt;li&gt;multi-surface consistency&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI can help with pieces of this, but it can’t &lt;em&gt;be&lt;/em&gt; the system.&lt;/p&gt;
&lt;p&gt;To get all of these capabilities in a Markdown world, you’d need to build:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;your own schema engine&lt;/li&gt;
&lt;li&gt;your own validation pipeline&lt;/li&gt;
&lt;li&gt;your own preview pipeline&lt;/li&gt;
&lt;li&gt;your own workflow and approval model&lt;/li&gt;
&lt;li&gt;your own contributor UI&lt;/li&gt;
&lt;li&gt;your own localization framework&lt;/li&gt;
&lt;li&gt;your own content governance rules&lt;/li&gt;
&lt;li&gt;your own automation to prevent destructive edits&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At that point, you’re not “avoiding a CMS.” You’ve built one. AI assists the work. It does not replace the infrastructure that coordinates it. This is the distinction most people miss.&lt;/p&gt;
&lt;h2&gt;The argument for a CMS&lt;/h2&gt;
&lt;p&gt;A &lt;a href=&quot;https://www.sanity.io/blog/you-should-never-build-a-cms&quot;&gt;CMS solves the problems Markdown can’t&lt;/a&gt;. It gives you structure, validation, workflows, and a safer way for non-technical contributors to manage content without touching code.&lt;/p&gt;
&lt;p&gt;People don’t write inside the CMS. They publish inside the CMS.&lt;/p&gt;
&lt;p&gt;That’s the important distinction.&lt;/p&gt;
&lt;p&gt;Even if AI drafts and rewrites content, the CMS provides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a consistent schema&lt;/li&gt;
&lt;li&gt;a place to enforce rules&lt;/li&gt;
&lt;li&gt;a predictable workflow&lt;/li&gt;
&lt;li&gt;a safe environment to update live content&lt;/li&gt;
&lt;li&gt;a shared model for content relationships&lt;/li&gt;
&lt;li&gt;clear separation between editing and code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s why CMSs exist.&lt;/p&gt;
&lt;p&gt;Not because writing is hard, but because maintaining content across teams requires structure that Markdown doesn’t provide on its own.&lt;/p&gt;
&lt;p&gt;But CMSs are not perfect either. They can feel disconnected from the real site. They often separate content from layout. Editors can break things. API layers add overhead. Preview systems vary in quality.&lt;/p&gt;
&lt;p&gt;So even though a CMS solves real coordination problems, it introduces friction in other areas.&lt;/p&gt;
&lt;p&gt;This is why a third model matters.&lt;/p&gt;
&lt;h2&gt;The case for visual development&lt;/h2&gt;
&lt;p&gt;Visual development sits between Markdown and a CMS. It treats the website as a full system, not just content or code. It gives teams a shared environment with structure built in.&lt;/p&gt;
&lt;p&gt;In a visual development model:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;developers define components, logic, and structure&lt;/li&gt;
&lt;li&gt;designers work directly in the real layout&lt;/li&gt;
&lt;li&gt;editors update content inside the same system&lt;/li&gt;
&lt;li&gt;schema and relationships stay consistent&lt;/li&gt;
&lt;li&gt;content and layout stay aligned&lt;/li&gt;
&lt;li&gt;AI operates with awareness of the actual components and fields&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It removes the separation between:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;content and layout&lt;/li&gt;
&lt;li&gt;authors and developers&lt;/li&gt;
&lt;li&gt;code and preview&lt;/li&gt;
&lt;li&gt;structure and design&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Markdown doesn’t provide this.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://webflow.com/blog/headless-cms-developer-tradeoffs&quot;&gt;Headless CMSs&lt;/a&gt; rarely provide this.&lt;/p&gt;
&lt;p&gt;And the role of AI changes completely in a visual development system. AI isn’t generating files in a vacuum. It works inside the actual structure of the site. That means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI site builders generate real pages using real components&lt;/li&gt;
&lt;li&gt;AI visual editing adjusts layout, spacing, and structure with context&lt;/li&gt;
&lt;li&gt;AI app scaffolding uses actual data models and extension points&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI doesn’t sit on the side. It participates in the system.&lt;/p&gt;
&lt;p&gt;Visual development builds the website as one environment instead of splitting it across tools.&lt;/p&gt;
&lt;p&gt;This is the gap &lt;a href=&quot;https://webflow.com/&quot;&gt;Webflow&lt;/a&gt; fills.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ℹ️ Some platforms even combine visual development with Git-based workflows, like &lt;a href=&quot;https://www.builder.io/fusion&quot;&gt;Builder.io&amp;#39;s Fusion&lt;/a&gt; approach, which shows there’s real demand for visual editing that still fits into an engineering-centric versioning model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;So what does a team lose moving from a CMS to Markdown?&lt;/h2&gt;
&lt;p&gt;You lose:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;schema enforcement&lt;/li&gt;
&lt;li&gt;relationship modeling&lt;/li&gt;
&lt;li&gt;predictable workflows&lt;/li&gt;
&lt;li&gt;safe editing environments&lt;/li&gt;
&lt;li&gt;shared context across teams&lt;/li&gt;
&lt;li&gt;reliable previews &lt;em&gt;(unless you maintain your own preview system)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;localization pipelines&lt;/li&gt;
&lt;li&gt;role-based permissions&lt;/li&gt;
&lt;li&gt;structured publishing&lt;/li&gt;
&lt;li&gt;cross-page consistency&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can rebuild some of this, but now you’re maintaining a custom system that grows in complexity as your website grows.&lt;/p&gt;
&lt;h2&gt;What a team gains by going Markdown-first&lt;/h2&gt;
&lt;p&gt;You gain:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;full developer control&lt;/li&gt;
&lt;li&gt;simpler architecture&lt;/li&gt;
&lt;li&gt;fewer systems&lt;/li&gt;
&lt;li&gt;automation through agents&lt;/li&gt;
&lt;li&gt;transparency through Git&lt;/li&gt;
&lt;li&gt;lower overhead&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s a strong option for small, fully technical teams with simple content needs and tight ownership over the site.&lt;/p&gt;
&lt;p&gt;It’s not designed for companies with cross-functional contributors or evolving structure.&lt;/p&gt;
&lt;h2&gt;What visual development offers instead&lt;/h2&gt;
&lt;p&gt;Visual development isn’t trying to be Markdown. It isn’t trying to be a CMS either.&lt;/p&gt;
&lt;p&gt;It offers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;structure like a CMS&lt;/li&gt;
&lt;li&gt;flexibility like a codebase&lt;/li&gt;
&lt;li&gt;real layout context like a design tool&lt;/li&gt;
&lt;li&gt;shared collaboration across roles&lt;/li&gt;
&lt;li&gt;AI that works inside the true structure&lt;/li&gt;
&lt;li&gt;developer extension points when needed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s the only model where the website stays a single source of truth for everyone.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog/images/markdown-vs-cms/Webflow_AI_png.png&quot; alt=&quot;Webflow_AI.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Developers keep control. Designers keep fidelity. Marketers keep clarity. AI doesn’t act blindly. That’s why visual development matters in this debate.&lt;/p&gt;
&lt;h2&gt;The simple way to think about it&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Markdown + AI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Great when the team is fully technical and the site structure is simple.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CMS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Great when content structure, governance, and shared responsibility matter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visual development&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Great when a website is treated as a unified system where design, content, development, and AI all work together with real context.&lt;/p&gt;
</content:encoded><category>CMS</category><category>Markdown</category><category>Visual Development</category><category>AI</category></item><item><title>Inside my developer marketing stack</title><link>https://lukestahl.io/blog/my-stack/</link><guid isPermaLink="true">https://lukestahl.io/blog/my-stack/</guid><description>Every builder finds their own rhythm. This is mine. A look at the tools I use every day in developer marketing, how they fit together, why they’ve stuck, and how they keep the work moving.</description><pubDate>Mon, 24 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/blog/images/my-stack/My_Stack_png.png&quot; alt=&quot;My_Stack.png&quot;&gt;&lt;/p&gt;
&lt;h2&gt;&lt;/h2&gt;
&lt;p&gt;Every builder has a rhythm to how they build. For me, that rhythm lives somewhere between code and content, the overlap where developer marketing happens. These tools help me stay organized, move faster, and keep projects on track without overcomplicating the work.&lt;/p&gt;
&lt;h3&gt;IDE&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://cursor.com/&quot;&gt;Cursor&lt;/a&gt; is now my main workspace after years in &lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;VS Code&lt;/a&gt;. They share the same foundation and extensions, but Cursor feels like where things are moving.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Same integrations and ecosystem as VS Code&lt;/li&gt;
&lt;li&gt;Familiar setup that just works&lt;/li&gt;
&lt;li&gt;AI that’s advancing faster than VS Code, which is surprising since GitHub built Copilot first&lt;/li&gt;
&lt;li&gt;I pair it with &lt;a href=&quot;https://claude.ai/code&quot;&gt;Claude Code&lt;/a&gt; in the terminal for context, explanations, and large-scale debugging when I need deeper insight&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s less about what’s new and more about pace. Cursor feels like it’s evolving while VS Code feels like it’s coasting.&lt;/p&gt;
&lt;h3&gt;AI chat tools&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://chat.openai.com/&quot;&gt;ChatGPT&lt;/a&gt; is my go-to for projects, building custom GPTs, and setting up connectors or integrations. I also use it for content curation when I’m gathering examples or early research.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://gemini.google.com/&quot;&gt;Gemini&lt;/a&gt; handles search and visual creation. Its new Nano Banana feature makes generating visual references surprisingly quick.&lt;/p&gt;
&lt;p&gt;Right now, both tools serve different purposes, but my guess is Gemini eventually edges out OpenAI. We’ll see.&lt;/p&gt;
&lt;h3&gt;Design and visual thinking&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://figma.com/&quot;&gt;Figma&lt;/a&gt; is where I build and prototype designs. I don’t use its AI features, they’re still behind the curve. What makes it useful is how quickly I can move from layout ideas to something ready for production. Components, variables, and shared libraries keep everything consistent without extra effort.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://excalidraw.com/&quot;&gt;Excalidraw&lt;/a&gt; is where I whiteboard. I sketch flows, map systems, and rough out diagrams before anything formal. A cheat code I use is generating Mermaid diagrams in ChatGPT to get a starting point, then rebuilding them in Excalidraw to make them clearer and more visual.&lt;/p&gt;
&lt;h3&gt;Analytics stack&lt;/h3&gt;
&lt;p&gt;A big part of developer marketing is understanding how people use what you build. These tools help turn product usage into insight.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://posthog.com/&quot;&gt;PostHog&lt;/a&gt; for web analytics, event tracking, and session replay&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fullstory.com/&quot;&gt;FullStory&lt;/a&gt; for journey mapping and deeper behavioral insights&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sigmacomputing.com/&quot;&gt;Sigma&lt;/a&gt; for the full view, from lead tracking to closed-won pipeline reporting&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://looker.com/&quot;&gt;Looker&lt;/a&gt; for clean visualization and quick summaries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There isn’t one analytics platform that does everything well. A mix is usually the reality, and this is the combination that works for me.&lt;/p&gt;
&lt;h3&gt;Marketing and SEO stack&lt;/h3&gt;
&lt;p&gt;This is the set of tools I rely on to manage search, automation, and content performance. Each one plays a different role, from tracking technical SEO to finding new opportunities and testing campaigns.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ahrefs.com/&quot;&gt;Ahrefs&lt;/a&gt; is my go-to for monitoring technical SEO, tracking backlinks, and doing competitive keyword research or content gap analysis&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://surferseo.com/&quot;&gt;SurferSEO&lt;/a&gt; helps grade keyword-focused content and tighten on-page structure before publishing&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ads.google.com/home/tools/keyword-planner/&quot;&gt;Google Keyword Planner&lt;/a&gt; is great for generating new ideas based on topics or URLs and gives solid monthly search volume data&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ads.google.com/&quot;&gt;Google Ads&lt;/a&gt; still earns its place, paid search still works, especially in developer marketing where people search everything (even &lt;a href=&quot;https://www.bing.com/&quot;&gt;Bing&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.airops.com/&quot;&gt;AirOps&lt;/a&gt; is a newer tool I’ve been using for automation workflows, from competitive intel to content research, all built through AI&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://buffer.com/&quot;&gt;Buffer&lt;/a&gt; is my social tool of choice, mainly because its free tier goes further than most and supports multiple platforms without friction&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.commonroom.io/&quot;&gt;Common Room&lt;/a&gt; helps track and understand community activity across social, forums, and other developer channels.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This stack helps me connect research, creation, and distribution. It’s about staying close to what works and improving a little with each iteration.&lt;/p&gt;
&lt;h3&gt;Sales and enablement stack&lt;/h3&gt;
&lt;p&gt;This is where product knowledge turns into enablement.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gong.io/&quot;&gt;Gong&lt;/a&gt; for reviewing customer calls and spotting themes that shape positioning and messaging&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.workramp.com/&quot;&gt;WorkRamp&lt;/a&gt; for internal education and onboarding content, keeping sales and marketing aligned on what’s new&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/slides/&quot;&gt;Figma Slides&lt;/a&gt; for building presentations with real design flexibility. It feels like designing, not fighting templates.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.arcade.software/&quot;&gt;Arcade&lt;/a&gt; for creating interactive product demos that help explain features in context without heavy editing or production time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;They keep information flowing and teams aligned on what actually matters, the customers using the product. &lt;/p&gt;
&lt;h3&gt;Collaboration stack&lt;/h3&gt;
&lt;p&gt;Collaboration works best when it’s async, not noisy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://notion.so/&quot;&gt;Notion&lt;/a&gt; is where I write everything, content drafts, specs, notes, and ideas. It’s underrated for collaboration and perfect for pulling in code snippets or assets. People think they need Google Docs, but they’re wrong.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://airtable.com/&quot;&gt;Airtable&lt;/a&gt; is a dream for anyone who loves spreadsheets. It’s flexible, visual, and great for tracking content and projects. I’ve been a fan since day one, even if not everyone adopts it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://slack.com/&quot;&gt;Slack&lt;/a&gt; is the only real choice for team communication. I live and die by the save-for-later feature, and the new canvas tools are great for organizing thoughts. Don’t at me with Microsoft Teams.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.loom.com/&quot;&gt;Loom&lt;/a&gt; is the best way to explain anything on video. It’s perfect for walkthroughs, feedback, or education. The editing tools are ok, not Descript-level, but work well enough. The AI still has some catching up to do.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This stack makes it easy to share work, document ideas, and keep everyone aligned without the constant back-and-forth.&lt;/p&gt;
&lt;h3&gt;Developer and Data Stack&lt;/h3&gt;
&lt;p&gt;This is where projects take shape.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt; for version control and collaboration&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://supabase.com/&quot;&gt;Supabase&lt;/a&gt; for quick databases and APIs&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vercel.com/&quot;&gt;Vercel&lt;/a&gt; or &lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify&lt;/a&gt; for deployments&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.warp.dev/&quot;&gt;Warp&lt;/a&gt; for a cleaner, more visual terminal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s a reliable setup that scales smoothly and keeps development fast without adding unnecessary infrastructure.&lt;/p&gt;
&lt;h3&gt;Closing Thoughts&lt;/h3&gt;
&lt;p&gt;These tools have stuck because they make the work smoother. They cover everything I need to build, write, and collaborate without slowing things down.&lt;/p&gt;
&lt;p&gt;The stack will keep changing, but the goal won’t. &lt;/p&gt;
</content:encoded><category>Teck Stack</category><category>AI</category><category>Developer Marketing</category></item></channel></rss>