<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Maryam TB</title>
    <description>The latest articles on Forem by Maryam TB (@mimobenjo).</description>
    <link>https://forem.com/mimobenjo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3892792%2Fb2e9b374-f524-4879-9bfe-d72266e95427.jpg</url>
      <title>Forem: Maryam TB</title>
      <link>https://forem.com/mimobenjo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mimobenjo"/>
    <language>en</language>
    <item>
      <title>Why I stopped using Apple Notes for my code notes</title>
      <dc:creator>Maryam TB</dc:creator>
      <pubDate>Thu, 23 Apr 2026 20:34:51 +0000</pubDate>
      <link>https://forem.com/mimobenjo/why-i-stopped-using-apple-notes-for-my-code-notes-110p</link>
      <guid>https://forem.com/mimobenjo/why-i-stopped-using-apple-notes-for-my-code-notes-110p</guid>
      <description>&lt;h1&gt;
  
  
  Why I stopped using Apple Notes for my code notes
&lt;/h1&gt;

&lt;p&gt;I've been an Apple Notes person for years. Meeting notes, rapid-fire thoughts, things to remember. I don't think about it, I just use it. For most notes, it's all I need.&lt;/p&gt;

&lt;p&gt;It has one problem, and I could never get past it: it cannot handle code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The specific gap
&lt;/h2&gt;

&lt;p&gt;Some mess in my notes was fine. But once I started picking up Kubernetes and heavy AWS infra, it kinda got out of hand. Half the note would be me explaining something, the other half would be a command or a config block. My actual notes looked like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Quick commands

kubectl config get-contexts
kubectl config current-context
kubectl config use-context &amp;lt;context-name&amp;gt;

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:CreateTable",
                "dynamodb:DeleteTable",
                ...
            ]
        }
    ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Apple Notes has a monospace toggle, but my markdown muscle memory is to wrap code in backticks, like &lt;code&gt;this&lt;/code&gt;, then press enter. But Apple Notes doesn't register that as monospace code. So I end up with no monospace at all.&lt;/p&gt;

&lt;p&gt;For a while I just lived with it. The notes were still useful, even if they looked bad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I didn't just use something else
&lt;/h2&gt;

&lt;p&gt;The obvious response is to pick a notes app that handles code well. I tried:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VS Code.&lt;/strong&gt; It works for markdown, but I always needed a preview extension to see it rendered, which felt clunky. And I wanted notes to live outside of any specific codebase, not tied to a repo. Something small, open on the side of my desktop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Obsidian.&lt;/strong&gt; Didn't feel right at all. Not designed for the kind of simplicity I was looking for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bear, Craft, Notion.&lt;/strong&gt; Too clunky. Not as minimal or fast as I wanted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dedicated snippet apps.&lt;/strong&gt; Opposite problem. Great for code, no place for the notes around it.&lt;/p&gt;

&lt;p&gt;So I had a weirdly specific gap. I wanted something as minimal and fast as Apple Notes, but with real code blocks and a beautiful design.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I called it Rook. The goal was narrow: a minimal notes app where text feels like Apple Notes, and code feels like code. Basically, Apple Notes and VS Code had a child.&lt;/p&gt;

&lt;p&gt;Here's what it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fully local.&lt;/strong&gt; Everything stays on your Mac. Nothing to sign in to, nothing to sync.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code blocks with automatic language detection.&lt;/strong&gt; Paste a bash one-liner, it gets highlighted as bash. Paste Swift, it figures out Swift.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Five themes.&lt;/strong&gt; Dark, light, paper, terminal, midnight. I almost cut this for v1 and I'm glad I didn't. You didn't ask, but paper and dark are my favorite themes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slash commands.&lt;/strong&gt; Headers, lists, code blocks, links, all via &lt;code&gt;/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimal UI.&lt;/strong&gt; Sidebar, note list, editor. Skipped the graph views, daily notes, and plugin marketplaces. Less is more.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What surprised me
&lt;/h2&gt;

&lt;p&gt;A few things I didn't expect going in:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The text editor took longer to build than I thought.&lt;/strong&gt; Highlightr handled syntax coloring inside code blocks. The bulk of the work was the editing rules. I built a custom NSTextStorage subclass for markdown styling, and a custom NSTextView subclass to handle the editing behavior: detecting triple backticks to start a code block, handling inline code as you type around it, and making the cursor and Enter key behave correctly at code block boundaries. NSTextView gives you the basics out of the box (undo/redo, select all, input). The work was making them play nicely with custom storage and markdown rules, especially undo grouping for syntax-aware edits like bold/italic toggles and code block insertions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local-first made everything simpler.&lt;/strong&gt; No account flow, password reset, or sync conflicts to wrangle. You open the app and type. Rook launches in under a quarter-second, which I'm proud of given I was aiming for Apple Notes speed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I still use Apple Notes for non-code things.&lt;/strong&gt; Rook didn't kill it. Rapid-fire meeting notes stay in Apple Notes. Anything with code or commands goes in Rook. Honestly, it feels great. Using a notes app I built for my own problem is weirdly satisfying.&lt;/p&gt;

&lt;h2&gt;
  
  
  If this resonates
&lt;/h2&gt;

&lt;p&gt;Rook is live for Mac. Free to use. You can check it out at &lt;a href="https://userook.app" rel="noopener noreferrer"&gt;userook.app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The first 100 lifetime discount spots filled in 48 hours, but you can still sign up for updates. The Product Hunt launch is on May 19.&lt;/p&gt;

&lt;p&gt;Would genuinely love to hear what you use today for code notes, and what's missing. Even if Rook isn't it, I'm curious to know.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9b6iaidsbe8zq73aw5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9b6iaidsbe8zq73aw5f.png" alt="rook-banner" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
