close

DEV Community

Ryan Carniato for Playful Programming

Posted on

My AI Content Journey

Raw writing struggles and AI authenticity debates

I apologize ahead of time, what follows has no tooling applied to it. No grammar checks, no AI, and no edit passes for flow. It might be a bit rough, but that's important.

For those who know me, I've written hundreds of articles over the last 8 years. I realized very early into my journey of creating SolidJS that education was going to be a fundamental barrier. React's rhetoric had consumed the frontend space in such way that the discussion of different ideas was not welcomed warmly. It may have started with the ideas, but the complexity of the move to modern tooling had left many feeling overwhelmed. The term "JavaScript Fatigue" was being thrown around, and those who didn't sneak in before 2016 were subject to it.

My early writing was rough. I mean really rough. I'd try to articulate my ideas, but they were hard to translate. It wasn't that I didn't have decent command of the English language. I always had done well in school. But the ideas I wanted to articulate extended past code examples. They borrowed from years of observations and cross discipline learning. It would take the span of a whole article for me to get my point across and it was really easy to get lost in the details.

It didn't help that I wrote like I talked. Which is rather disjointed. When I used to type messages on ICQ and MSN back in the day I'd keep thumbing the "." as a way to convey to the recipient the pacing. The more "..." the longer the pause. I had needed to communicate at work, obviously and had gotten used to rewriting my emails on average three times so that I could cut out things that were unnecessary.

So I published my earlier articles on Medium in 2018 and fortunately for me, the early Solid community on Gitter and Spectrum started providing me edits. This pattern of reviewing my articles with the community never went away. Most of my articles today still appear in the Solid Discord days before publishing.


Stepping up my Game

At some point, a community member suggested I pick up Grammarly. Honestly, it was such a huge help. I always skipped words and commas in certain places. Given I had the free tier it would also hint when I phrased something a lot oddly so I could at least give a shot at rewriting it.

This was better but honestly it fixed less than you would think. I wasn't falling into the simple traps. But the writing wasn't really anymore clear. The big break through there was when I started getting my work published through online publications. Specifically, "Angular in Depth" in 2019 time period. They were really supportive of my content but they saw that it was missing the audience.

I remember at one point @layzee sat down with me and picked through an article with me showing me how to break my writing up into more paragraphs. I was accustomed to having a paragraph express what I considered a complete idea. That meant 6-8 run-on sentences. He was like no more than 3. Give them a break to sit with what you just told them. Add spacing and images to your articles for the same reason.

I didn't like this much at first because it made my articles longer. Too long as far as I thought. But it also forced me to really focus on what I wanted to say. I'd need to do one editing pass to break things up and another to eliminate the cruft.

At this point, Solid was picking up steam, and there were others in the community that were interested in seeing us succeed. Some of you may not know but Theo Browne (T3.gg) reviewed many of my articles during the 2020-2022 time period. He had a lot less tolerance for sentences that didn't flow and he would go through and gut all my unnecessary phrasing. All the "And ...", "In fact", "But Honestly", "Actually..", "Simply put,". He emphasized it didn't add anything. By doing that I was able to save those for when I wanted to make a real impact.

So that gives you some insight into where my writing process was through the end of 2025. I'd write something rough, do multiple passes myself, run it through Grammarly, feed it to the Solid community. Have feedback, then pass it to a few specific reviewers (although some like Theo were getting too busy to look at my work regularly). And half a dozen people and twice as many hours later we had an article.


Enter LLMs

Now I never prompted an LLM intentionally before the end of 2025. As I have noted in previous articles, I was an AI laggard. Sure Gemini results would show up on a Google search. And I had dabbled with some image generation for Articles/Streams. But I did not use Chat LLMs directly at all. Funny enough, since late 2023 I had noticed two phenomena.

First, absolute garbage articles quoting my work in like "Best JavaScript Frameworks to use in 2023". At first I thought these were just low effort marketing articles. Some of them probably were. But after a while I came to recognize these as AI generated.

Second, people coming on to my articles and accusing them as being AI generated. My response would be, "Did you read the article?" There is no way AI makes that argument. But the general feedback was that the articles were vague because they tried to pack too much into a small space. And the move between macro and micro details was disorienting. Ironically my trademark writing style because it was born out of necessity.

I mostly pushed both of these aside. What had always mattered was the content. Those two couldn't be more obviously different. Even if I did my own yearly JavaScript summaries, any one with half a brain could tell the difference. My articles had takes that existed nowhere else and provided a deep insight.


Trying LLMs for Myself

I was working on Solid 2.0. High-level design stuff late 2025 and I decided to give LLMs a try. Not for coding just to talk through the problem and see if they had an insight. I believe GPT 5.3 was out but I was just using CoPilot for free which was on 5.1. I found the process very frustrating because it kept losing details. I realized pretty quickly I needed to have it write things down.

As I got more excited about formalizing these designs I got AI to write short explainers about what we had talked about so that I could share them in Discord. This was very helpful since my HackMDs I had been writing were cryptic and people could immediately understand what I was talking about this way. Maybe not deeply but the gist of it.

Summaries of really high level stuff. The thing I was particularly bad at writing. It was very common in the Solid community for people to post AI written summaries on my writing since no one seemed to get what I was saying and I didn't have time to clarify while working on cutting edge things.

But every time I tried to get AI to really capture the real point behind my stuff it missed. Even after moving to Cursor and frontier models. AI could write something coherent but it was never the position or argument the way I'd make it. As before it didn't have my original positioning/takes. Occasionally it would come up with something interesting like: The Architecture of Temporal Determinism. But that was a rare occurence.


AI Assisted Writing

So at some point, tired of the Yellow squigglies I was getting from Grammarly--the ones that you need to pay for that refer to structural issues--I was like why don't I feed my article to the LLM instead? And I was amazed.

It took what I wrote and it sounded coherent. No initial 3 passes, no Grammarly, no community pass, no special editors. Yes I still ended up doing all of those but it was like it skipped to the finish line. There was very little feedback down the line.

The part that really loved was it simultaneously made my writing shorter while bringing back that pacing I heard in my head. The old pauses. The way it used semi-colons and -- was exactly what I intended. No broken sentences. No confusion on flow. It just read perfectly.

I was so impressed. There were a couple things I thought odd. It really liked sumarizing at the end of each section. I had a habit of connecting sections with a probing sentence for sure, but AI liked to try to tie things in a bow. And those additions were the place that I immediately cut out. Easy to see. But for the most part it was like what I had always been looking for. I'd struggled being terse and clear and it just gave it to me, in mostly my own words.

I released my first article like this:

and I was pretty excited. This was an important article. It was where I was going to do the unexpected: express to the world that React, a long time competitor philosophically, was actually completely right about a few things. It was controversial. It was honest. And it needed to be clear more than anything I'd done before.

In hindsight, the response should have been obvious. People couldn't get over the AI phrasings in places. That's the thing. It only takes a couple of places for the radar to go off. I had the before and after AI for this article I actually showed it on stream. I wrote every bit of the source. The things that people were accusing being AI were as much me. I thought that by taking accountability, owning it would be enough.

But this kicked up a rage. And I admit I felt a bit resentful. This is critical work. From my perspective earthshaking and all people could seem to talk about was that I used AI to make the message clearer. I had been dismissed in the past for being vague or hard to follow. Now I was being dismissed for the opposite.

I had also received similar feedback on using AI-generated covers. Previously, I was picking up random free images online. It took some cleverness to choose the image but it wasn't some work that I put in. AI had actually given me images suitable to my content. Again it seemed so much better to me. I'm not an artist. But somehow it wasn't acceptable. It seemed irrational to me. I put more effort in, to come up with a better result. I was clearly missing something.


Another Attempt

Last week, I took that lesson and tried something a little different when we dropped the Solid 2.0 RC release announcement. I had written release articles before but they were always tough. Short attention spans and a need to get to the point. And Solid 2.0 was proving difficult. It just had too much stuff in it. A point form list undersold it but there was no way I was going to be able to get into all the details.

I had written an article showed it to AI and it had done some edits. And this time I was more careful to cleanup language. Not because I thought it was bad but because I knew it would trigger people. However, no matter what I did the article was way too long. At some point the agent suggested the obvious. Make a follow-up article series. It would summarize the some of the pieces we would be removing. And we would be set.

I looked at the work and I was impressed it had kept my opening and sentimental parts and filled in the gap with the type of clear, to-the-point way that I'd expect in a release article. It was way shorter than what I had written and after a quick pass, everyone who reviewed agreed it was much more approachable. The language here was not nearly as AI-sounding because I didn't get it to really rewrite what I had written where it mattered. But obviously, even after human edits on the more marketing side there were still some traits.

Again, and I imagine it was because people didn't get to the end. The response was half about the use of AI in those point form lists. The general sentiment was that it was subtle but still enough to notice. It was genuinely a better article for it, it fit the purpose of the writing. But they couldn't see past it. Most of the article had the human soul, but a few point form lists ruined it.


Today

I had an odd week. It started with seeing an AI Gist comparing Solid 2.0 to Octane. I saw that Dominic had responded with some agent-assisted prose, and I knew there was no way I was going to keep up with that discussion while pushing forward all the post-release things I needed to do without doing the same. We literally had the Agents arguing our points. You can tell they are our points. Our fundamental positioning, but it isn't our voice.

But the most warmly genuine thing happens at the end. We both remove the Agent and have a real discussion. I think we both realized how ridiculous it had become.

Now, the problem is that it isn't too far from how we are working today. When I have an agent review and issue or PR even if I'm driving it, reviewing the changes, and setting the response, it no longer sounds like me. It's easy to justify the reasoning.

Look at how many open issues/PRs are on SolidJS right now. There is no way we could be as responsive without it. We've almost closed out every issue. That is between issue submitters using agent-guided PRs and from our own agent work. But a certain human aspect is gone. I used to go on every PR and write a thank you note personally and I know I haven't done that as much the last couple months. I can justify it, but there is a human cost.

I'm also about to release another article. I'm trying yet another approach to this. Where I write it, feed it to AI, but never let AI edit the actual article. When it identifies something that it rewrites, I take that as a sign my writing isn't the best there and read what the AI wrote, then minimize the window and write back the structure myself using my own voice. We'll see if this lands better.

It's tricky because I can already hear LLMism in my own writing. According to critics, I was already pretty close years ago. And if I already think it sounds better than what I write I have a bias. But it's the most honest thing I can do to produce good content. And I mean good content. Not whatever this is. So I'm going to try again. I'm still figuring this out.

That's all we can keep doing.

Top comments (12)

Collapse
 
layzee profile image
Lars Gyrup Brink Nielsen Playful Programming

Thank you for the shoutout, @ryansolid. I'm glad you remembered some of my pointers, annoying as they may have seemed. At the end of the day, you decide on your content.

"Short attention spans and a need to get to the point." also sounds like something I would say 😄

One thing you always get right: You add your own perspective and that's what's unique, can't be copied by other humans or imitated by AI.

In case you or someone else wants a few pointers about tech writing, I share them in multiple slides of the deck for My 10 steps to tech community contributions talk (link to recording in slide deck description).

Collapse
 
miketalbot profile image
Mike Talbot ⭐

The problem with AI writing is that it makes repetitive slop sound useful and insightful - you get halfway through an article and think, I've read too many words for this very simple point.

No matter how you write, Ryan, you can never be accused of that. I've been very inspired (and sometimes lost) by your writing and your work. You have something to say that's worth hearing, and anyone who dismisses that as AI slop isn't actually consuming your content -> but does that matter? Maybe you'd never have got your point across to 90% of those people anyway - the 10% who now get it, that's the gold.

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

I think this might actually be one of the best ways to work with an LLM. It always wants to shorten and get straight to the point, because that's basically what it's trained to be good at.

I also write fiction, and I once asked a model why it was so good at evaluating conference presentations but so bad at fiction. It basically admitted that this is just its nature: if you gave it "The Lord of the Rings", it would probably cut the entire Shire because “this part could be summarized” 😂

Collapse
 
lucaboriani profile image
Luca • Edited

I’ve always found your voice and perspective one of the most interesting in the landscape, and honestly I never stopped thinking “is this ai generated?”, as content was so interesting that really the form didn’t matter too much to me. After all those were not meant to be screened by literary prize judges.
Keep on writing articles please, I've learnt so much from yours… thank you 🙏🏽

Collapse
 
hiper2d profile image
Aliaksei Zelianouski

AI hate is real and often irrational. People are scared of AI slop, but look what is happening - all media platforms have switched to algorithmic feeds where you basically see random content, with very little control over it. And now we are mad that it's AI in there. Platforms encourage posting frequency over quality, and now we are mad that someone is automating it.

Collapse
 
kedevked profile image
kedevked

I like this article. Soon we will all be flooded by AI assisted content that we won't see the difference anymore. I don't care if an article was AI generated / assisted or not. What I care about is the content. And I always look forward to reading your articles. I've read them all !

Collapse
 
pmbanugo profile image
Peter Mbanugo

But this kicked up a rage. And I admit I felt a bit resentful. This is critical work. From my perspective earthshaking and all people could seem to talk about was that I used AI to make the message clearer. I had been dismissed in the past for being vague or hard to follow. Now I was being dismissed for the opposite.

You can never please such people, with or without AI. They would never offer valuable feedback, or have a civil discourse where you can leave with new insight or things to ponder. They complain of stock photos, bad photoshopped photos, AI generated photos, etc. And often times, their guesses at what's "AI generated" is a wrong guess.

Collapse
 
brainbootdev profile image
brainbootdev

Publishing it without the passes is doing more work than the essay is. The roughness is what makes it read as someone thinking rather than someone presenting, and that is exactly the layer a cleanup pass files off first.

Something funny about the strongest case against the tooling being what the text sounds like without it.

Collapse
 
sashachu profile image
Sasha Chu

As someone who writes hugely long Slack replies and then has to rewrite and trim them heavily so that anyone can actually read through and understand them, I liked this article very much.

Collapse
 
publiflow profile image
PubliFlow

Nice frontend patterns. One thing I've been paying more attention to is Core Web Vitals impact — CLS in particular can creep in with dynamic content loading. Have you measured the Lighthouse scores with these patterns?