

Jay Long
Software Engineer & Founder
Published September 23, 2025
Updated March 6, 2026
I'm working on a blog framework right now. Next.js, Jamstack, deploying to Vercel. Development server is Docker Composed with Traefik for reverse proxy and SSL certificates through Let's Encrypt. Tailwind CSS. Pretty standard stuff.
But here's where it gets interesting. There's something about having it all in files that I'm really enjoying. I think it's powerful, and I think it might lead to a shift in how more people do this, which sounds strange because databases have been so useful for so long. But something about having all of my blog articles, all of the files, all of the information in flat files just feels right. And I know exactly why.
When I open up my IDE (it's Cursor), it indexes all the files in the codebase. It's got some kind of vector store where it embeds your code so it can load up chunks of context. The technical details of how Cursor does this don't really matter. What matters is that it has access to all of your code and it can work meaningfully and effectively over your entire codebase.
That solution was developed around needing to understand all of your code. Needing to interpret logic, reusability, methods that might exist in some class somewhere, all the different programming patterns you've chosen, what's going to break what, what's interconnected. And that maps onto creative efforts in a really interesting way, particularly with publishing blog articles.
When you're writing a piece of literature, the agent is actually really good at understanding what you're trying to say, and just like any LLM, the more data it has, the better it gets. Most people who use chatbots for blog articles just dump their thoughts into a conversation and get basic editing back. But the chatbot only has the context of that one topic. If you do all your blog articles as code, your coding agent becomes an intern at your blog. It understands your voice better because it has more data. You could generate a code snippet from ChatGPT, sure, but it's not going to be near as powerful and accurate as using Cursor or Claude Code, something designed to index your entire codebase so it understands everything when it's giving you answers. The same is true about your voice and your blog.
And this isn't just about creating content. It's actually just as powerful, if not more, on the analysis side. If every word I say and write, every bit of data that is my voice, gets committed to code, then the IDE has it indexed just like code. I can ask it questions. I can get it to do tasks that analyze everything. Say I want to look at what categories are emerging out of all my articles. I just ask the agent and it scans it instantly, because it's not really as much data as you think. You can have hundreds of articles with thousands of words of text, and that's nothing for a coding agent.
There's also the model question. Right now the most powerful coding agent is Claude. But it might be that for literary work, for blogging, for content about people just talking to each other about stuff, you'd want to flip over to Grok. Because Grok is maximally truth-seeking and it's trained on all the conversational data, the public square of humans on Earth. You might find that you can turn your coding tool into a blogging platform by swapping the model.
What we're doing here is really an example of simplicity engineering. Blogging platforms are usually built for and by non-coders. They're marketed at marketers, at digital marketing firms, people who specialize in branding and sales and human communications. These people are good at interacting directly with the customer on a very human level. They're not naturally technical, and they have no interest in coding or software architecture. What they care about is the output. Is it quality content? Are people going to care about it? Is it going to get clicks, conversions, engagement?
So naturally, you end up with these big, bloated, non-technical-user-friendly solutions that are overengineered and hacky and buggy and insecure and clunky. Heavy. Nothing elegant about them. A nightmare for developers. They've got WYSIWYG editors that produce formatted text saved in a database, and if you want to analyze all that content, you've got to query the database a whole bunch of times and explode out all the text.
You can cancel out so much of that bloat if you recontextualize the toolkit. Repurpose the coding agent to be a blogging agent, put it all in flat files, and it's very powerful.
My workflow has a couple of stages. I record transcripts and have a whole separate generative stage where those transcripts get processed into articles. That happens outside the IDE. Within the IDE, I'm writing TypeScript, building React components. The actual article data is in a hybrid of YAML and Markdown. YAML at the top has all the meta information, the kind of things you'd normally put in database fields: modified date, title, author, tags, categories, URL. Then the entire article body is in Markdown.
The React component parses all this information, creates the meta tags from the YAML, and translates the Markdown into HTML. I forget exactly how we did the CSS, but the agent nailed it really quick, really early on, and I haven't had to mess with it since. I'm pretty sure it just passes style code into the React component. Basically what gets committed is Markdown files that get interpreted by the React component and rendered as HTML.
This flat file setup gets really interesting for SEO. And it's not just SEO anymore. It's about generative search optimization. I don't know if there's a buzzword for that yet, GSO or something. I've heard people throwing some terms around and I don't know if anything has stuck. But the concept is sound: how do you appear in people's ChatGPT or Perplexity AI queries? When someone's chatting with a chatbot they trust, how do you get your answers to them through generative searches?
There are things like author schema and category meta tags that tell the Google bots useful information about your website. With flat files, it's a really simple, straightforward, lightweight way of analyzing your entire blog and updating everything. Categories, schema meta, author skills. Every time I publish an article about things I've done, past experiences, present experimentations, all I have to do is run this prompt that takes two or three seconds. It analyzes all of my blog articles at once. Then it goes in and says, okay, I picked up these new things. It's like I'm crawling my own blog. And then I'm updating all the meta to optimize for what the bots are looking for.
It's not just little simple keyword spamming either. There's a whole sub-article the agent writes that humans never even see. I get the best of both worlds. Meaningful, quality content that speaks to people, and an entire meta conversation happening underneath the surface between bots. It's communicating the same information, but from a whole different perspective to a whole different audience.
It's me and my agent talking to you and your agent. Like in a legal context where you've got the plaintiff and the defendant and they both have representation. I'm a communicator and you're a curious individual, and we have representatives that understand more about the broader context. My agent puts information out there to tell your agent what you can expect to find in my content and why it's actually relevant. Your agent can take my claims, go validate them on the internet, determine whether I'm accurate. And if I am, it can go back to you and say, hey, I found this, it sounds legit, you should check it out.
We're probably on track to become more directly connected to each other than we ever have before, because the agents are helping us sort through this huge vast ocean of information and figure out what's meaningful to us as individuals. Sometimes it's going to be about finding people we connect with on a deeper level. Sometimes it's two people who are at odds on nearly everything, but they have this one thing in common and the agents just need to get them together for that specific exchange. People shouldn't have to be intimate on all levels to communicate a very specific thing they both share. But it's hard to find that perfect collaborator when there's so many people and so much noise. The agents help us cut through it faster.
I've been writing on paper a lot again, and it's been really helpful. I feel like I'm learning faster and getting more done because I take a pen and a marker and a pad of paper and just write. I take notes on everything I'm doing, and on the other side I keep a list of to-dos and goals. If I feel stuck, I write down everything I've been doing, and that inspires the to-dos. If I don't have time to get fully immersed and execute, I update the to-do list. When I do have time but I'm having trouble focusing, I just look at the list and pick one thing. Writing down what I do also helps me retrace my steps when troubleshooting.
I think there's a connection between putting ink on paper and moving my hand in a writing stroke and what happens when you type out literature as code versus jamming WYSIWYG-formatted text data into a database. I don't know exactly what it is, but something about the directness of it. The intentionality.
That's where the new blog is heading. And not just a blog. A blogging framework. As I'm developing the thing, I'm sticking Markdown documents in a docs folder, which is what I do on all my software projects. I think the reason I'm calling this a framework is because I'm about to do a second blog using all these docs, all this architecture, all these prompts and documents. Every time I do a new blog, it's going to emerge more and more as something you could consider a framework. Even if it's unlike anything we would have considered a framework as software engineers from the past.