<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet href="/feed.xsl" type="text/xsl"?>
    <feed xmlns="http://www.w3.org/2005/Atom">
      <title>Andrew Stiefel | writing</title>
      <link href="https://andrewstiefel.com/feed/topics/writing.xml" rel="self"/>
      <link href="https://andrewstiefel.com/topics/writing/" rel="alternate"/>
      <id>https://andrewstiefel.com/topics/writing/</id>
      <subtitle>A feed of posts about writing by Andrew Stiefel.</subtitle>
      <updated>2026-04-11T20:02:18-07:00</updated>
      <author>
        <name>Andrew Stiefel</name>
        <email></email>
      </author>
      <rights type="text">Copyright © 2026 {"name" => "Andrew Stiefel", "url" => "https://andrewstiefel.com", "linkedin" => "andrewstiefel", "codeberg" => "andrewstiefel"}. All rights reserved.</rights>
      <entry>
        <title>Building a Personal Monorepo for Writing</title>
        <link rel="alternate" href="https://andrewstiefel.com/monorepo/"/>
        <published>2025-07-19T00:00:00-07:00</published>
        <id>https://andrewstiefel.com/personal-monorepo</id>
        <summary>How I created a workflow for researching and blogging with Obsidian and Jekyll</summary>
        <content type="html">&lt;p&gt;I use &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt; to organize my thinking and writing. But I’ve always been dissatisfied with the process of turning what I write into a formatted post for my website. I either had to manage multiple vaults—adding complexity and violating one of my core principles of note-taking—or copy, paste, and edit my writing in another tool like VS Code.&lt;/p&gt;
          &lt;p&gt;I also prefer to keep my content separate from the website’s design, and I wanted to do that without introducing a CMS or additional tooling. Static site generators like Jekyll are great at converting Markdown into websites, but they usually require you to store content alongside all the other website files.&lt;/p&gt;
          &lt;p&gt;After some experimenting, I landed on a better solution: building a personal monorepo for my writing and publishing workflow.&lt;/p&gt;
          &lt;h2 id=&quot;why-use-a-monorepo&quot;&gt;Why use a monorepo?&lt;/h2&gt;
          &lt;p&gt;A &lt;em&gt;monorepo&lt;/em&gt;—short for monolithic repository—combines code for multiple projects into a single repository. A common pattern is to store both frontend and backend code in one place.&lt;/p&gt;
          &lt;p&gt;That’s actually a good analogy for how I think about writing. The “backend” is my Obsidian vault, where I research and take notes. The “frontend” is the website where I publish finished posts.&lt;/p&gt;
          &lt;h2 id=&quot;basic-setup&quot;&gt;Basic Setup&lt;/h2&gt;
          &lt;p&gt;To start ,I moved my Obsidian vault and Jekyll website into a new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;personal-monorepo&lt;/code&gt; directory structured like this:&lt;/p&gt;
          &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;~/personal-monorepo
          ├── /notes
          └── /website
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;If you don’t already have an Obsidian vault or Jekyll site, you can easily replicate this from scratch. Install Obsidian, open the &lt;strong&gt;/notes&lt;/strong&gt; directory using the “Open folder as vault” option, and you’re ready to go.&lt;/p&gt;
          &lt;p&gt;Setting up Jekyll requires a bit more technical work, but &lt;a href=&quot;https://jekyllrb.com/docs/installation/&quot;&gt;you can find installation instructions here&lt;/a&gt;.&lt;/p&gt;
          &lt;h2 id=&quot;configuring-obsidian&quot;&gt;Configuring Obsidian&lt;/h2&gt;
          &lt;p&gt;For this approach it’s important to make a directory where you will only store published posts. I’m going to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/notes/posts&lt;/code&gt; for this tutorial but you can configure this directory any way you wish.&lt;/p&gt;
          &lt;p&gt;I also recommend installing two Obsidian community plugins:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://github.com/Vinzent03/obsidian-git&quot;&gt;Obsidian Git&lt;/a&gt; – adds version control and makes publishing easy&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://github.com/kepano/obsidian-permalink-opener&quot;&gt;Obsidian Permalink Opener&lt;/a&gt; – lets you open post URLs in your browser for previewing&lt;/li&gt;
          &lt;/ul&gt;
          &lt;p&gt;For Git, you can push commits manually or set up periodic syncs. For the Permalink Opener plugin, I added both my website’s base URL and my local development URL so I can preview posts in the browser while editing.&lt;/p&gt;
          &lt;p&gt;With that we’re ready to move on to building our website.&lt;/p&gt;
          &lt;h2 id=&quot;connecting-jekyll-and-obsidian&quot;&gt;Connecting Jekyll and Obsidian&lt;/h2&gt;
          &lt;p&gt;By default, Jekyll looks for posts in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/website/_posts&lt;/code&gt;. But I want it to use the content in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/notes/posts&lt;/code&gt;. The simplest solution is to create a symbolic link.&lt;/p&gt;
          &lt;p&gt;First, open Terminal and make sure you’re in the root of your monorepo (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/personal-monorepo&lt;/code&gt;). &lt;strong&gt;Back up your content&lt;/strong&gt;, then delete the existing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_posts&lt;/code&gt; directory:&lt;/p&gt;
          &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-rf&lt;/span&gt; website/_posts
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;Next, create a symlink that points to your Obsidian posts:&lt;/p&gt;
          &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;website
          &lt;span class=&quot;nb&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt; ../notes/_posts _posts
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Folder names in symlinks are case-sensitive. If your Obsidian vault uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Posts&lt;/code&gt; instead of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;posts&lt;/code&gt;, your symlink won’t work with the above command. Folder names must match exactly.&lt;/p&gt;
          &lt;h2 id=&quot;publishing-with-netlify&quot;&gt;Publishing with Netlify&lt;/h2&gt;
          &lt;p&gt;&lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify&lt;/a&gt; provides first-class support for working with monorepos, but you’ll need to do a little additional configuration.&lt;/p&gt;
          &lt;p&gt;In your project dashboard or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netlify.toml&lt;/code&gt; file, set the base directory to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;website&lt;/code&gt;, and make sure the build command installs dependencies before running Jekyll:&lt;/p&gt;
          &lt;p&gt;Here’s what my full &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netlify.toml&lt;/code&gt; looks like, and what is reflected in my dashboard:&lt;/p&gt;
          &lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
          &lt;span class=&quot;s&quot;&gt;base = &quot;website&quot;&lt;/span&gt;
          &lt;span class=&quot;s&quot;&gt;command = &quot;bundle install &amp;amp;&amp;amp; bundle exec jekyll build&quot;&lt;/span&gt;
          &lt;span class=&quot;s&quot;&gt;publish = &quot;_site&quot;&lt;/span&gt;
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;Netlify follows symlinks automatically, but Jekyll needs one extra setting. In your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;website/_config.yml&lt;/code&gt;, add:&lt;/p&gt;
          &lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# Enable access to symlinked content&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;lax_symlink_lookup&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;This lets Jekyll access files stored outside its root directory (e.g. the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;website&lt;/code&gt; folder). Without the site will build but won’t pull in your content from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;notes/_posts&lt;/code&gt; directory.&lt;/p&gt;
          &lt;h2 id=&quot;final-workflow&quot;&gt;Final Workflow&lt;/h2&gt;
          &lt;p&gt;I have Obsidian configured to add new notes to my writing inbox under the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~inbox&lt;/code&gt; directory. Anything I start writing goes there. Once I’ve finished writing a note, I can then either move it into my permanent notes or add it to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;posts&lt;/code&gt; directory if I want to publish it. Once I push the commit Netlify will build and publish my site.&lt;/p&gt;
          &lt;p&gt;While I’m writing, I can preview what the note will look like by starting the Jekyll development server (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bundle exec jekyll serve&lt;/code&gt;) and adding the note to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;posts&lt;/code&gt; directory. I can use the Obsidian hotlinks command to open a preview of the post in my browser.&lt;/p&gt;
          &lt;p&gt;To wrap up, your final workflow looks something this this:&lt;/p&gt;
          &lt;ol&gt;
          &lt;li&gt;Write, edit, and link notes in Obsidian&lt;/li&gt;
          &lt;li&gt;Commit and push changes to Github&lt;/li&gt;
          &lt;li&gt;Netlify will pick up the changes and publish your posts&lt;/li&gt;
          &lt;/ol&gt;
          &lt;h2 id=&quot;bonus-convert-backlinks-to-weblinks&quot;&gt;Bonus: Convert Backlinks to Weblinks&lt;/h2&gt;
          &lt;p&gt;It’s outside the scope of this post, but I also wrote a custom plugin to convert backlinks to web links. That way I can use Obsidian’s backlinks within my published posts.&lt;/p&gt;
          &lt;p&gt;&lt;a href=&quot;https://github.com/andrewstiefel/andrewstiefel.com/blob/main/_plugins/backlinks.rb&quot;&gt;You can grab the code here&lt;/a&gt;.&lt;/p&gt;
          &lt;h2 id=&quot;additional-resources&quot;&gt;Additional Resources&lt;/h2&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://alexoliveira.cc/guide/jekyll-with-obsidian&quot;&gt;Jekyll Blogging with Obsidian&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://refinedmind.co/obsidian-jekyll-workflow&quot;&gt;Obsidian Jekyll workflow&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://dev.to/adrianogil/blogging-with-obsidian-and-jekyll-5bgl&quot;&gt;Blogging with Obsidian and Jekyll&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://stephango.com/vault&quot;&gt;How I Use Obsidian&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        </content>
      </entry>
      <entry>
        <title>How I Use GitHub as a CMS</title>
        <link rel="alternate" href="https://andrewstiefel.com/github-cms-blog/"/>
        <published>2025-02-02T00:00:00-08:00</published>
        <id>https://andrewstiefel.com/github-cms-blog</id>
        <summary>GitHub makes it easy to build a free content management system for your blog.</summary>
        <content type="html">&lt;p&gt;I use &lt;a href=&quot;/blog-jekyll-netlify/&quot; class=&quot;internal-link&quot; data-preview-title=&quot;How I Built My Blog with Jekyll and Netlify&quot; data-preview-excerpt=&quot;I’ve been blogging and hosting my website since 2006, but I’ve always been unhappy with the themes available for technologies like Blogger, WordPress, or Squarespace. I usually had a vision for what I wanted to create and would spend hours scouring marketplaces to find something that came close.&quot;&gt;Jekyll to build and publish my blog on Netlify&lt;/a&gt;. For a long time my content management system (CMS) was just a bunch of markdown files on my laptop. Most of the time I don’t need anything else — it’s simple, and it’s just me.&lt;/p&gt;
          &lt;p&gt;But as I’ve wanted to focus on writing more often, I wanted to find an easier way to track future ideas, what I’d like to work on now, and easily see what I’ve done.&lt;/p&gt;
          &lt;p&gt;That’s where GitHub comes in.&lt;/p&gt;
          &lt;h2 id=&quot;why&quot;&gt;Why?&lt;/h2&gt;
          &lt;p&gt;GitHub is built for software development, but many of the features work just as well for content development. In fact, is has about everything I need as you’ll see in my setup section below. This includes templates, project boards, and workflows for publishing.&lt;/p&gt;
          &lt;p&gt;Plus it’s easy to review and collaborate with other people. I don’t do that much as a solo writer, but I do get readers who spot typos or who share feedback—and then it’s easy to track and add their contributions.&lt;/p&gt;
          &lt;p&gt;But let’s be honest — this is one of the projects I took on because I could, not so much because it really saves me any time. Choose your adventure accordingly :)&lt;/p&gt;
          &lt;h2 id=&quot;basic-setup&quot;&gt;Basic setup&lt;/h2&gt;
          &lt;p&gt;If you’re already using GitHub to host the code for your blog (like I do with Jekyll), then you can get started with this in 15 minutes or less!&lt;/p&gt;
          &lt;ol&gt;
          &lt;li&gt;&lt;strong&gt;Create a project:&lt;/strong&gt; Go to the GitHub repository for your blog (or make a new one!) and select projects and &lt;a href=&quot;https://docs.github.com/en/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project&quot;&gt;create your project&lt;/a&gt;.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Choose a format:&lt;/strong&gt; GitHub projects lets you &lt;a href=&quot;https://docs.github.com/en/issues/planning-and-tracking-with-projects/customizing-views-in-your-project&quot;&gt;customize views&lt;/a&gt; of items in your project using a Kanban board or table format. I recommend starting with the Kanban format. You can always change this later.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Organize your workflow:&lt;/strong&gt; Once you’ve created your project, take a couple minutes to configure your workflow. I have sections for no status (my backlog), in progress, ready, and done.&lt;/li&gt;
          &lt;/ol&gt;
          &lt;p&gt;You can &lt;a href=&quot;https://github.com/users/andrewstiefel/projects/2&quot;&gt;see an example of mine on GitHub&lt;/a&gt;, or with the screenshot below:&lt;/p&gt;
          &lt;p&gt;&lt;img src=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_725/https://andrewstiefel.com/assets/img/github-cms.png&quot; srcset=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_320/https://andrewstiefel.com/assets/img/github-cms.png 320w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_602/https://andrewstiefel.com/assets/img/github-cms.png 602w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_884/https://andrewstiefel.com/assets/img/github-cms.png 884w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_1166/https://andrewstiefel.com/assets/img/github-cms.png 1166w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_1448/https://andrewstiefel.com/assets/img/github-cms.png 1448w&quot; sizes=&quot;(min-width: 50rem) 50rem, 90vw&quot; data-lightbox=&quot;&quot; data-full=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/q_auto,f_auto/https://andrewstiefel.com/assets/img/github-cms.png&quot; alt=&quot;GitHub CMS&quot; width=&quot;2990&quot; height=&quot;1712&quot; crossorigin=&quot;anonymous&quot; class=&quot;dark:brightness-75 cursor-pointer&quot; /&gt;&lt;/p&gt;
          &lt;h2 id=&quot;use-issues-to-track-posts&quot;&gt;Use issues to track posts&lt;/h2&gt;
          &lt;p&gt;Once you’ve created the basic structure, it’s time to start tracking your writing! You’ll want to create new issues so you can track your progress. I decided to create a new template so I wouldn’t have to add the same info every time.&lt;/p&gt;
          &lt;p&gt;If you’d like to create one, all you need to add is a markdown file in your repository at the location below:&lt;/p&gt;
          &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.
          ├── .github 
          │   └── ISSUE_TEMPLATE
          │      └── cms.md
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;Here’s &lt;a href=&quot;https://github.com/andrewstiefel/andrewstiefel.com/blob/main/.github/ISSUE_TEMPLATE/cms.md?plain=1&quot;&gt;an example&lt;/a&gt; of what mine looks like:&lt;/p&gt;
          &lt;div class=&quot;language-markdown highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;---&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;cms&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;about&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;Submit an idea for the blog&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[blog&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;post]&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;cms&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;assignees&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;&lt;/span&gt;
          &lt;span class=&quot;nn&quot;&gt;---&lt;/span&gt;
          &lt;span class=&quot;gs&quot;&gt;**What is this post about?**&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;gs&quot;&gt;**Outline**&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;1.&lt;/span&gt; 
          &lt;span class=&quot;gs&quot;&gt;**Tasks**&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;-&lt;/span&gt; [ ] Write outline
          &lt;span class=&quot;p&quot;&gt;-&lt;/span&gt; [ ] Draft blog post
          &lt;span class=&quot;p&quot;&gt;-&lt;/span&gt; [ ] Find (1) reviewer
          &lt;span class=&quot;p&quot;&gt;-&lt;/span&gt; [ ] Create pull request
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;I use the format &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[blog post] example title&lt;/code&gt; so I can see at a glance that the issue covers a new blog post, and roughly what it’s about. I provide a brief description (usually when I first have the idea). Later I’ll come back and outline the post.&lt;/p&gt;
          &lt;h2 id=&quot;writing-and-publishing-posts&quot;&gt;Writing and publishing posts&lt;/h2&gt;
          &lt;p&gt;Jekyll comes with basic structure which makes it easy to get started. I save my draft writing in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_drafts&lt;/code&gt; folder and move finished posts into the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_posts&lt;/code&gt; folder.&lt;/p&gt;
          &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.
          ├── _drafts 
          ├── _posts
          &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
          &lt;p&gt;But you have a few options to customize your workflow a bit further:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;strong&gt;Work directly in your main branch&lt;/strong&gt; and publish by moving the your finished drafts from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_drafts&lt;/code&gt; folder to the  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_posts&lt;/code&gt; folder.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Create a new branch&lt;/strong&gt; for each post as you work and merge into your main branch when you’re ready to publish.&lt;/li&gt;
          &lt;/ul&gt;
          &lt;blockquote&gt;
          &lt;p&gt;&lt;strong&gt;JEKYLL TIP&lt;/strong&gt; 
          You can preview your posts in your development environment as you work! Just append the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--&lt;/code&gt;drafts flag to the build or serve command. For example,  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jekyll serve --drafts&lt;/code&gt;. Each draft post will be added using the last modified time as the publication date.&lt;/p&gt;
          &lt;/blockquote&gt;
          &lt;p&gt;I prefer to create a new branch and to submit a pull request when I’m ready to publish (although I’ll admit, I’m not super consistent since it’s just me). Either way, when you’re ready to publish, you’ll &lt;a href=&quot;https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue&quot;&gt;close the issue&lt;/a&gt; for your blog by writing a commit message that includes the number of the issue. For example, when I published this blog, I used “Closes 212” to tell GitHub to mark the issue as done.&lt;/p&gt;
          &lt;p&gt;Now if you visit your project, you’ll see your post has automatically been moved to the “done” column!&lt;/p&gt;
          &lt;p&gt;&lt;img src=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_725/https://andrewstiefel.com/assets/img/github-pull-request.png&quot; srcset=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_320/https://andrewstiefel.com/assets/img/github-pull-request.png 320w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_602/https://andrewstiefel.com/assets/img/github-pull-request.png 602w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_884/https://andrewstiefel.com/assets/img/github-pull-request.png 884w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_1166/https://andrewstiefel.com/assets/img/github-pull-request.png 1166w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_1166/https://andrewstiefel.com/assets/img/github-pull-request.png 1166w&quot; sizes=&quot;(min-width: 50rem) 50rem, 90vw&quot; data-lightbox=&quot;&quot; data-full=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/q_auto,f_auto/https://andrewstiefel.com/assets/img/github-pull-request.png&quot; alt=&quot;GitHub Pull Request&quot; width=&quot;1166&quot; height=&quot;474&quot; crossorigin=&quot;anonymous&quot; class=&quot;dark:brightness-75 cursor-pointer&quot; /&gt;&lt;/p&gt;
          &lt;h2 id=&quot;final-thoughts&quot;&gt;Final thoughts&lt;/h2&gt;
          &lt;p&gt;I’ve been exploring ways to &lt;a href=&quot;https://docs.github.com/en/issues/planning-and-tracking-with-projects/customizing-views-in-your-project&quot;&gt;customize this further by creating new views&lt;/a&gt; — for example, a table view that adds publication dates so I can when I want to publish a post. But most importantly, I’m enjoying the flexibility and close integration between what I write and how it’s published.&lt;/p&gt;
          &lt;h2 id=&quot;further-reading&quot;&gt;Further Reading&lt;/h2&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;/blog-jekyll-netlify/&quot; class=&quot;internal-link&quot; data-preview-title=&quot;How I Built My Blog with Jekyll and Netlify&quot; data-preview-excerpt=&quot;I’ve been blogging and hosting my website since 2006, but I’ve always been unhappy with the themes available for technologies like Blogger, WordPress, or Squarespace. I usually had a vision for what I wanted to create and would spend hours scouring marketplaces to find something that came close.&quot;&gt;How I Built My Blog with Jekyll and Netlify&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;/markdown-files-not-apps/&quot; class=&quot;internal-link&quot; data-preview-title=&quot;Markdown Files, Not Apps&quot; data-preview-excerpt=&quot;Files, not apps. I&amp;#39;m convinced this is the best way to work in the future.\n\nI write down almost everything important in my life: lists, ideas, plans, code, and articles. They form my extended memory. They are a record of what I&amp;#39;ve done, and who I&amp;#39;ve been.&quot;&gt;Markdown Files, Not Apps&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        </content>
      </entry>
      <entry>
        <title>Markdown Files, Not Apps</title>
        <link rel="alternate" href="https://andrewstiefel.com/markdown-files-not-apps/"/>
        <published>2025-01-17T00:00:00-08:00</published>
        <id>https://andrewstiefel.com/markdown-files-not-apps</id>
        <summary>Markdown is simple, portable, and free. And it works beautifully with AI tools.</summary>
        <content type="html">&lt;p&gt;Files, not apps. I’m convinced this is the best way to work in the future.&lt;/p&gt;
          &lt;p&gt;I write down almost everything important in my life: lists, ideas, plans, code, and articles. They form my extended memory. They are a record of what I’ve done, and who I’ve been. &lt;strong&gt;That’s why I only use markdown files.&lt;/strong&gt;&lt;/p&gt;
          &lt;p&gt;Traditional document and note-taking apps like Word, Evernote, and Notion create data silos and vendor lock-in, limiting your ability to freely move and process information.&lt;/p&gt;
          &lt;p&gt;I discovered this the hard way when I tried to move between different ecosystems like Evernote and Apple Notes. Sure, there was a way to export my data. But it was a mess. Things broke, attachments went missing, and I spent hours converting, reformatting, and importing.&lt;/p&gt;
          &lt;h2 id=&quot;markdown-is-simple&quot;&gt;Markdown is simple&lt;/h2&gt;
          &lt;p&gt;Markdown files solve these challenges through their fundamental simplicity. Any text editor can open and edit them, eliminating dependency on specific applications or platforms. They have all the basic formatting you need for headlines, bullets, lists, and even basic tables.&lt;/p&gt;
          &lt;h2 id=&quot;markdown-is-portable&quot;&gt;Markdown is portable&lt;/h2&gt;
          &lt;p&gt;If you use Evernote or Notion, for example, you are helpless without them. If they go out of business you are trapped and have to move your files to another format. &lt;strong&gt;You will outlive those companies.&lt;/strong&gt; I’ve already outlived a few note-taking companies.&lt;/p&gt;
          &lt;p&gt;I can work with markdown files on any device, forever. I can access them with any text editor I want. This makes them remarkably long-lived. Proprietary formats come and go, but markdown’s open, plain text nature ensures it will likely outlast me. This makes it the ideal format for building a personal knowledge base.&lt;/p&gt;
          &lt;h2 id=&quot;markdown-works-offline&quot;&gt;Markdown works offline&lt;/h2&gt;
          &lt;p&gt;There are times when I want to be offline and unreachable, but would still like to jot ideas down in a format that is easily searchable. Working offline is an amazing productivity boost. Why give that up for an online database?&lt;/p&gt;
          &lt;h2 id=&quot;markdown-is-ready-for-ai&quot;&gt;Markdown is ready for AI&lt;/h2&gt;
          &lt;p&gt;This is a use case I wouldn’t have imagined a few years. But it’s the main reason I’m convinced markdown files are the future. Since markdown is just text, AI systems can easily process and analyze your notes.&lt;/p&gt;
          &lt;p&gt;For example, I can easily grab my “Ideal Customer Profile.md” file and throw it into ChatGPT, Claude, Gemini, or whatever I’m using at the moment to work with it. I can add my messaging framework, and immediately start brainstorming marketing copy.&lt;/p&gt;
          &lt;p&gt;I can run a local LLM, point it at a folder of my markdown files, and then interact with my notes by asking questions. It’s like a personal assistant built on everything I’ve learned and experienced.&lt;/p&gt;
          &lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;
          &lt;p&gt;Everything I write is human readable, and yet actionable with apps and tools. I always have my files available locally, and backups are just making a copy of the folder and putting it somewhere safe.&lt;/p&gt;
          &lt;p&gt;Markdown is simple, portable, independent, and free — exactly how I want to live.&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Thoughts on Information Fidelity and Transmission</title>
        <link rel="alternate" href="https://andrewstiefel.com/information-fidelity-transmission/"/>
        <published>2023-08-25T00:00:00-07:00</published>
        <id>https://andrewstiefel.com/information-fidelity-transmission</id>
        <summary>Rich, complex ideas can have more impact — but they won't travel as far as a simple idea.</summary>
        <content type="html">&lt;p&gt;There is a useful axiom to keep in mind whenever you are crafting a message for someone else, whether writing a book, filming a video, or drafting an email.&lt;/p&gt;
          &lt;p&gt;&lt;em&gt;Simple ideas travel farther than complex ones&lt;/em&gt;&lt;/p&gt;
          &lt;p&gt;Most of us intuitively understand this. But sometimes we forget as we get into the details of whatever we are doing. That’s why I like to keep the idea of fidelity vs transmission in mind.&lt;/p&gt;
          &lt;p&gt;&lt;img src=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_725/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png&quot; srcset=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_320/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png 320w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_602/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png 602w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_884/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png 884w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_1166/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png 1166w, https://res.cloudinary.com/andrewstiefel/image/fetch/c_limit,f_auto,q_auto,w_1448/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png 1448w&quot; sizes=&quot;(min-width: 50rem) 50rem, 90vw&quot; data-lightbox=&quot;&quot; data-full=&quot;https://res.cloudinary.com/andrewstiefel/image/fetch/q_auto,f_auto/https://andrewstiefel.com/assets/img/Information-Transmission-Fidelity-Dark-Mode-Revised.png&quot; alt=&quot;Information transmission and fidelity&quot; width=&quot;2366&quot; height=&quot;1158&quot; crossorigin=&quot;anonymous&quot; class=&quot;dark:brightness-75 cursor-pointer&quot; /&gt;&lt;/p&gt;
          &lt;p&gt;A book has hi-fidelity, but low transmission. You can read an author’s ideas in depth. Everything they wanted to tell you is there. But the full message — the text of the entire book itself — will practically never be remembered or transmitted, in detail, to the recipient. They may highlight the text, take notes, and summarize the text. But the full message will be lost.&lt;/p&gt;
          &lt;p&gt;In contrast, a social media post has lo-fidelity, but high transmission. The full idea is almost invariably reduced to its essential elements. Details are left out. Things become black and white. But the recipient might be able to remember the entire message, so it has high transmission.&lt;/p&gt;
          &lt;p&gt;This is why slogans are so powerful. They are easy to remember, and collect associations with other information you might have received or interacted with about a brand, politician, or idea. But they don’t have to communicate the whole thing – the recipient fills in the rest.&lt;/p&gt;
          &lt;h2 id=&quot;why-does-this-matter&quot;&gt;Why does this matter?&lt;/h2&gt;
          &lt;p&gt;There is an inherent tension between fidelity and transmission in all communication. Too much information, and your audience won’t remember what you needed them to know. Too little, and the message becomes banal, or simply worthless.&lt;/p&gt;
          &lt;p&gt;There is an ethical element to navigate as well, especially when reporting or documenting someone else’s experience. Storytelling is reductive: it removes and flattens details in favor of creating an understandable narrative. The details you include or leave out will shape an audience’s understanding of the message you are communicating.&lt;/p&gt;
          &lt;h2 id=&quot;what-does-this-look-like-in-practice&quot;&gt;What does this look like in practice?&lt;/h2&gt;
          &lt;p&gt;Practically, this is why most messaging frameworks provide multiple tiers:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;strong&gt;Pillars&lt;/strong&gt; — Simple, two or three word phrases&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Key Message&lt;/strong&gt; — Short, memorable statements&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Proof Points&lt;/strong&gt; — supporting statements, benefits, or other evidence&lt;/li&gt;
          &lt;/ul&gt;
          &lt;p&gt;From here, you can expand into even higher fidelity forms like blog, videos, white papers, or books that expand and build on the summary provided by the messaging framework.&lt;/p&gt;
          &lt;h2 id=&quot;closing-thoughts&quot;&gt;Closing Thoughts&lt;/h2&gt;
          &lt;p&gt;We see the impact of this all the time. Stories go viral based on a bit of sensational news. But as the details come out, the original story turns out to be false. Bias and hate travels farther and faster than the nuance of compromise and collaboration.&lt;/p&gt;
          &lt;p&gt;As a writer, marketer, or anyone who works with words, how do you balance fidelity and transmission in your work?&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Writing for Technical Audiences</title>
        <link rel="alternate" href="https://andrewstiefel.com/writing-technical-audiences/"/>
        <published>2023-05-06T00:00:00-07:00</published>
        <id>https://andrewstiefel.com/writing-technical-audiences</id>
        <summary>These tips can help you write more effectively for software developers, scientists, and other expert audiences.</summary>
        <content type="html">&lt;p&gt;Whether you are marketing to software developers, scientists, academic audiences, or other specialized industries, writing is a tool that can serve you well.&lt;/p&gt;
          &lt;p&gt;But writing for technical audiences is a unique skill that requires a different set of techniques than copywriting for a consumer marketing campaign. You need not only an in-depth understanding of the subject but also the ability to convey complex information clearly and concisely.&lt;/p&gt;
          &lt;p&gt;The following tips can help you to communicate your ideas more effectively.&lt;/p&gt;
          &lt;h2 id=&quot;know-your-audience&quot;&gt;Know your audience&lt;/h2&gt;
          &lt;p&gt;One of the tricky aspects of writing for technical audiences is knowing when to simplify something, and when to assume a level of advanced knowledge. Nothing drives developers, scientists, and other technical audiences away faster than overly simplified, 101-level writing. Occasionally, you do need 101-level content! But know what level of information your audience should already know.&lt;/p&gt;
          &lt;p&gt;For example, I often write about API technologies. In 101-level content, I might define that the acronym API stands for an application programming interface. But if I start an article for a technical audience by introducing “what is an API” and defining the acronym, they are likely to quit reading and look for a resource that is more aligned with their knowledge level.&lt;/p&gt;
          &lt;h2 id=&quot;use-clear-language&quot;&gt;Use clear language&lt;/h2&gt;
          &lt;p&gt;When writing technical documents, it can be tempting to use complex technical jargon and terminology. However, this can often make your writing more difficult to understand, especially for those who are not familiar with the subject.&lt;/p&gt;
          &lt;p&gt;To avoid confusion, it is best to use simple, clear language that is easy to understand. This means avoiding overly technical terms and breaking down complex concepts into more digestible pieces. You should also summarize key ideas in bullet points, which can help reinforce your ideas and improve retention.&lt;/p&gt;
          &lt;p&gt;One of the most important first lessons I learned was to avoid adverbs whenever possible, especially in headlines. Adverbs typically make writing “feel like marketing” because they make broad claims (for example, “quickly, effortlessly, rapidly, always”).&lt;/p&gt;
          &lt;h2 id=&quot;provide-evidence&quot;&gt;Provide evidence&lt;/h2&gt;
          &lt;p&gt;In technical writing, you should avoid making sweeping statements or generalizations. It is important to back up any claims you make with evidence. This could be in the form of data, statistics, or references to existing research. By providing evidence to support your arguments, you can add credibility to your writing and show that your ideas are based on solid research and analysis.&lt;/p&gt;
          &lt;p&gt;A brief word of caution: most technical audiences know what is a valuable resource, and what is marketing evidence. Use authoritative sources whenever possible, or commission relatively neutral third parties to conduct research on your behalf.&lt;/p&gt;
          &lt;h2 id=&quot;give-concrete-examples&quot;&gt;Give concrete examples&lt;/h2&gt;
          &lt;p&gt;Whenever possible, show rather than tell your audience how your product works. It’s one thing to claim that something is easier. But it’s more impactful to show it in action. Rather than relying on abstract concepts or hypothetical scenarios, try to use real-world examples to illustrate your points. For example, if you are writing a user manual for a software application, you could include screenshots or step-by-step instructions to help users understand how to use the software.&lt;/p&gt;
          &lt;h2 id=&quot;use-visuals&quot;&gt;Use visuals&lt;/h2&gt;
          &lt;p&gt;Visual aids can be extremely helpful in technical writing, as they can help to clarify complex concepts and make your writing more engaging. This could include diagrams, charts, graphs, or illustrations. Visuals can be particularly effective when you are trying to explain a complex process or system, as they can provide a clear, easy-to-follow representation of the subject.&lt;/p&gt;
          &lt;h2 id=&quot;incorporate-storytelling&quot;&gt;Incorporate storytelling&lt;/h2&gt;
          &lt;p&gt;While technical writing is often associated with dry language, incorporating storytelling can make your writing more engaging and accessible. This could involve using anecdotes, case studies, or narratives to illustrate your points. Techniques like metaphors, extended analogies, and other techniques can be valuable ways to explain complex topics or frame a concept in a new way. By using storytelling, you can help your readers understand the subject on a deeper level.&lt;/p&gt;
          &lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;
          &lt;p&gt;Technical writing is an essential skill for anyone working in a complex field, or marketing to experts. By following these tips, you can ensure that your technical writing is clear, concise, and easy to understand, helping you to communicate your ideas more effectively to your intended audience.&lt;/p&gt;
          &lt;p&gt;A few parting questions to consider:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;Are there any examples of technical writing that you particularly admire What made it stand out, and what lessons can be learned from its approach to technical writing?&lt;/li&gt;
          &lt;li&gt;What are some strategies for using visuals effectively in technical writing&lt;/li&gt;
          &lt;li&gt;Are there any tips you would add to the list above?&lt;/li&gt;
          &lt;/ul&gt;
          &lt;h2 id=&quot;additional-resources&quot;&gt;Additional Resources&lt;/h2&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://www.samjulien.com/how-to-get-started-with-technical-writing&quot;&gt;How to Get Started with Technical Writing&lt;/a&gt; – tips for building your technical writing skills and portfolio&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://thenewstack.io/a-software-developers-guide-to-technical-writing/&quot;&gt;A Software Developer’s Guide to Technical Writing&lt;/a&gt; – useful tips for anyone interested in writing for software developers&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://hemingwayapp.com/&quot;&gt;Hemingway Editor&lt;/a&gt; – an excellent resource for sharpening your writing and removing those pesky adverbs&lt;/li&gt;
          &lt;/ul&gt;
        </content>
      </entry>
      <entry>
        <title>Thoughts on Open-Ended Writing</title>
        <link rel="alternate" href="https://andrewstiefel.com/some-thoughts-open-ended-writing/"/>
        <published>2023-03-03T00:00:00-08:00</published>
        <id>https://andrewstiefel.com/some-thoughts-open-ended-writing</id>
        <summary>Open-ended writing connects ideas and identifies new questions. It encourages conversation instead of presenting a polished argument.</summary>
        <content type="html">&lt;p&gt;Writing online, especially for a blog, can feel difficult. Especially for a (recovering) social media and content marketer like myself. Yes, it’s easy to make a blog. It seems like there are constantly new tools popping up promising to help you blog, build a newsletter, or post on social media.&lt;/p&gt;
          &lt;p&gt;But writing is a different matter. Today it seems like blogging is focused on producing capital “C” Content for consumption. Everything becomes an “ultimate guide to X,” even if you try to use slightly more tasteful titles. With the arrival of Chat-GPT and other AI tools, the world is faced with even more bland and repetitive capital “C” content as the “&lt;a href=&quot;https://onezero.medium.com/the-dark-forest-theory-of-the-internet-7dc3e68a7cb1&quot;&gt;dark forest&lt;/a&gt;” of the web expands, to borrow a term from &lt;a href=&quot;https://www.ystrickler.com/&quot;&gt;Yancey Strickler&lt;/a&gt;.&lt;/p&gt;
          &lt;p&gt;This isn’t inspiring. And it’s rarely enjoyable to write these types of articles.&lt;/p&gt;
          &lt;h2 id=&quot;digital-gardening-and-small-b-blogging&quot;&gt;Digital Gardening and Small b Blogging&lt;/h2&gt;
          &lt;p&gt;When I started writing on this website (again), I wanted to treat it more like a digital garden. I’d like to expand my thoughts on digital gardening sometime, but I think Maggie Appleton has &lt;a href=&quot;https://maggieappleton.com/garden-history&quot; title=&quot;A Brief History &amp;amp; Ethos of the Digital Garden&quot;&gt;the best working definition&lt;/a&gt; for now:&lt;/p&gt;
          &lt;blockquote&gt;
          &lt;p&gt;&lt;em&gt;“A garden is a collection of evolving ideas that aren’t strictly organised by their publication date. They’re inherently exploratory – notes are linked through contextual associations. They aren’t refined or complete - notes are published as half-finished thoughts that will grow and evolve over time. They’re less rigid, less performative, and less perfect than the personal websites we’re used to seeing.”&lt;/em&gt;&lt;/p&gt;
          &lt;/blockquote&gt;
          &lt;p&gt;This approach resonates with me. Mainly because producing exhaustive articles is, well, exhausting. This definition of the digital garden is similar to the concept of “&lt;a href=&quot;https://tomcritchlow.com/2018/02/23/small-b-blogging/&quot; title=&quot;Small B Blogging&quot;&gt;small b blogging&lt;/a&gt;” introduced by Tom Critchlow:&lt;/p&gt;
          &lt;blockquote&gt;
          &lt;p&gt;&lt;em&gt;“Small b blogging is learning to write and think with the network. Small b blogging is writing content designed for small deliberate audiences and showing it to them. Small b blogging is deliberately chasing interesting ideas over pageviews and scale. An attempt at genuine connection vs the gloss and polish and mass market of most content marketing.”&lt;/em&gt;&lt;/p&gt;
          &lt;/blockquote&gt;
          &lt;p&gt;I recently read another note by Tom Critchlow that was the direct inspiration for this line of thinking, entitled “&lt;a href=&quot;https://tomcritchlow.com/2023/02/10/riffs/&quot;&gt;Writing, Riffs, and Relationships&lt;/a&gt;.” There are lots of good concepts in the article, but the idea of &lt;em&gt;making writing small&lt;/em&gt; stood out to me. In particular&lt;/p&gt;
          &lt;blockquote&gt;
          &lt;p&gt;&lt;em&gt;“People’s first instinct with content is to try and make it polished and closed. To be useful by solving something or creating the ultimate guide to something. Those pieces of content can be good - but they’re very hard to write, and even harder to write well! Instead I prefer to take a more inquisitive and open-ended approach….”&lt;/em&gt;&lt;/p&gt;
          &lt;/blockquote&gt;
          &lt;p&gt;And then:&lt;/p&gt;
          &lt;blockquote&gt;
          &lt;p&gt;&lt;em&gt;“Closed writing is boring writing. If you’ve fully explored and put to bed the topic you’re writing about then there’s very little left for someone to react to. “Nice post” someone might say.&lt;/em&gt;&lt;/p&gt;
          &lt;p&gt;&lt;em&gt;But if you deliberately leave some rough edges, some threads that the reader can pull on, then you’re inviting the reader into the conversation. You’re saying (possibly explicitly!) - “Hey, what are your thoughts on this topic? How do you think about it?”&lt;/em&gt;&lt;/p&gt;
          &lt;/blockquote&gt;
          &lt;p&gt;Critchlow goes on to recommend ending a blog post or “riff” with more questions that encourage you (and your audience) to explore other topics. Altogether, this made me think about the difference between open-ended and closed writing and how they are different modes of writing altogether.&lt;/p&gt;
          &lt;h2 id=&quot;a-brief-definition-of-open-ended-writing&quot;&gt;A Brief Definition of Open-Ended Writing&lt;/h2&gt;
          &lt;p&gt;Open-ended writing seeks to connect ideas and identify new pathways of inquiry. It explores a topic by connecting sources and identifying tensions, conflicts, or missing information. Open-ended writing invites conversation and debate.&lt;/p&gt;
          &lt;p&gt;In practice, open-ended writing is defined by three basic activities: free writing, summarizing, and questioning:&lt;/p&gt;
          &lt;ol&gt;
          &lt;li&gt;Free writing introduces sources, ideas, and questions and starts to connect them together.&lt;/li&gt;
          &lt;li&gt;Summarizing organizes the information into a statement of what is known so far and what has been covered.&lt;/li&gt;
          &lt;li&gt;Questioning identifies tensions and gaps that could be explored further in the future or invites areas of conversation.&lt;/li&gt;
          &lt;/ol&gt;
          &lt;h2 id=&quot;some-spring-cleaning&quot;&gt;Some Spring Cleaning&lt;/h2&gt;
          &lt;p&gt;I started this blog to write small, informal blog posts. So far I’ve fallen back into the trap of writing “articles” that don’t really encourage conversation or provide new threads to pull on. While it’s not critical for doing the actual writing, I decided to re-classify my digital garden to encourage myself to focus more on riffs and notes.&lt;/p&gt;
          &lt;p&gt;Previously, I had two categories: &lt;strong&gt;Notes&lt;/strong&gt; and &lt;strong&gt;Essays&lt;/strong&gt;. Notes were supposed to be objective and focused on single topics; essays would pull together multiple notes to present a specific point of view. Obviously, neither category encouraged exploratory writing. I generally wrote less and focused on polishing my notes, which were supposed to be the rough form of writing. I seldom got around to writing essays.&lt;/p&gt;
          &lt;p&gt;I now have my digital garden organized into three categories:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://andrewstiefel.com/notes/&quot;&gt;Notes&lt;/a&gt;&lt;/strong&gt;– Open-ended, exploratory riffs that connect 2-3 ideas or sources together. These are the heart of the digital garden.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://andrewstiefel.com/articles/&quot;&gt;Articles&lt;/a&gt;&lt;/strong&gt; – Closed writing that thoroughly explores a single topic from a mostly objective point of view.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://andrewstiefel.com/essays/&quot;&gt;Essays&lt;/a&gt;&lt;/strong&gt; – Utilizes either open-ended or closed writing to explore a single subject from a personal point of view.&lt;/li&gt;
          &lt;/ul&gt;
          &lt;h2 id=&quot;how-do-you-practice-open-ended-writing&quot;&gt;How do you practice open-ended writing?&lt;/h2&gt;
          &lt;p&gt;This particular post might be my first true note. It’s not meant to be comprehensive and it’s mostly my attempt to work out (in public) an approach to open-ended writing.&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;What do you find hard or challenging about writing?&lt;/li&gt;
          &lt;li&gt;Does changing the purpose to open-ended writing encourage you to write more? Or does it scare you?&lt;/li&gt;
          &lt;li&gt;Do you use a public platform or a private one? Is one better than the other, or are they just different?&lt;/li&gt;
          &lt;/ul&gt;
        </content>
      </entry>
      <entry>
        <title>Just Start</title>
        <link rel="alternate" href="https://andrewstiefel.com/just-start/"/>
        <published>2022-06-28T00:00:00-07:00</published>
        <id>https://andrewstiefel.com/just-start</id>
        <summary>How long have you been working on a project with nothing to show?</summary>
        <content type="html">&lt;p&gt;How long have you been working on a project with nothing to show?&lt;/p&gt;
          &lt;p&gt;I am an expert procrastinator. I spent three years building, tearing down, and restarting this blog. The colors were never right, I didn’t like the font, I needed just one more feature to be ready.&lt;/p&gt;
          &lt;p&gt;Finally, I decided to slim down to just what I need to write. The rest could come later. For now It’s minimal, but it’s all I needed to start.&lt;/p&gt;
          &lt;p&gt;Today you can publish your writing in less than five minutes. Start with tools like:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://medium.com/&quot; title=&quot;Medium&quot; target=&quot;_blank&quot;&gt;Medium&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://substack.com/&quot; title=&quot;Substack&quot; target=&quot;_blank&quot;&gt;Substack&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://convertkit.com/&quot; title=&quot;ConvertKit&quot; target=&quot;_blank&quot;&gt;ConvertKit&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://ghost.org/&quot; title=&quot;Ghost&quot; target=&quot;_blank&quot;&gt;Ghost&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://wordpress.com/&quot; title=&quot;Wordpress&quot; target=&quot;_blank&quot;&gt;Wordpress&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
          &lt;p&gt;The list is endless. So what are you waiting for?&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;Start writing&lt;/li&gt;
          &lt;li&gt;Get feedback&lt;/li&gt;
          &lt;li&gt;Refine your work&lt;/li&gt;
          &lt;li&gt;Try again&lt;/li&gt;
          &lt;/ul&gt;
          &lt;p&gt;One of the biggest misconceptions about writing or creating anything is that you should start with a strategy: “I’m going to write about X for people interested in Y.”&lt;/p&gt;
          &lt;p&gt;But here’s the truth: you don’t need a plan to start.&lt;/p&gt;
          &lt;p&gt;Write about whatever interests you. You’ll eventually find what you enjoy writing about the most and what resonates most with your audience.&lt;/p&gt;
          &lt;p&gt;You just have to start.&lt;/p&gt;
          &lt;p&gt;Here are three formats to get started:&lt;/p&gt;
          &lt;ul&gt;
          &lt;li&gt;Today I learned how to…&lt;/li&gt;
          &lt;li&gt;Did you read or hear about X? Here’s my reaction…&lt;/li&gt;
          &lt;li&gt;Someone asked me about X, so here is the answer&lt;/li&gt;
          &lt;/ul&gt;
          &lt;p&gt;Keep a notebook with all the questions people ask you for help with. Write up your answers and publish them.&lt;/p&gt;
          &lt;p&gt;Eventually you’ll hit your stride — and you’ll probably discover an idea you could never have found while planning your strategy, picking brand colors, and brainstorming topics for your blog.&lt;/p&gt;
          &lt;p&gt;Start today.&lt;/p&gt;
        </content>
      </entry>
    </feed>