<?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>DEV Community: Arthur</title>
    <description>The latest articles on DEV Community by Arthur (@arthur_teb).</description>
    <link>https://dev.to/arthur_teb</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3829968%2F61688a4e-35be-4db0-b1cd-28ddc14a1f6f.png</url>
      <title>DEV Community: Arthur</title>
      <link>https://dev.to/arthur_teb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arthur_teb"/>
    <language>en</language>
    <item>
      <title>I got tired of reading Claude Code's .md files in VS Code, so I built a native Mac viewer</title>
      <dc:creator>Arthur</dc:creator>
      <pubDate>Wed, 08 Jul 2026 08:44:34 +0000</pubDate>
      <link>https://dev.to/arthur_teb/i-got-tired-of-reading-claude-codes-md-files-in-vs-code-so-i-built-a-native-mac-viewer-4glb</link>
      <guid>https://dev.to/arthur_teb/i-got-tired-of-reading-claude-codes-md-files-in-vs-code-so-i-built-a-native-mac-viewer-4glb</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclosure&lt;/strong&gt;: I'm the developer of MacMD Viewer. Honest maker story — not a sponsored post.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Something changed when I started using Claude Code daily.&lt;/p&gt;

&lt;p&gt;It drops markdown files everywhere. CLAUDE.md, plan.md, architecture notes after every session, progress summaries I didn't ask for. By the end of a sprint I'd have five .md files I hadn't actually read properly.&lt;/p&gt;

&lt;p&gt;My workflow was Cmd+Shift+V into a VS Code preview pane. Which works. But I was always reading inside a code editor. The preview pane is half the screen. The file tree is still there. The terminal's still there. There's this constant friction between "reading mode" and "dev mode" that I couldn't shake.&lt;/p&gt;

&lt;p&gt;I looked for a native Mac app that was specifically a &lt;em&gt;viewer&lt;/em&gt; — read-only, one click to open, renders Mermaid, handles QuickLook properly. Couldn't find one I was happy with.&lt;/p&gt;

&lt;p&gt;So I built one.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I tried first (and why it didn't stick)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;VS Code preview&lt;/strong&gt; — already using it, already frustrated with it for long documents. Also: you can't just drag a .md onto it. You open VS Code, open the file, Cmd+Shift+V. Five steps to read one file. Feels wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Typora&lt;/strong&gt; — popular, but it's an editor. It opens in edit mode. I don't want to accidentally overwrite the plan Claude Code just wrote for me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Obsidian&lt;/strong&gt; — genuinely great app if you want a second brain. For opening a single file it's like using Photoshop to crop a photo. It also creates an .obsidian folder wherever you point it, which is fine in your notes directory and annoying everywhere else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Look (stock)&lt;/strong&gt; — renders .md as plain text. Useless.&lt;/p&gt;

&lt;p&gt;None of these were wrong tools. They were tools built for different jobs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building it — the two things that actually surprised me
&lt;/h2&gt;

&lt;p&gt;I'm a Mac dev, I know Swift, I had two months of evenings. The architecture is straightforward: SwiftUI + WKWebView, markdown renders to HTML via highlight.js and mermaid.min.js, DocumentGroup for the native open-file model.&lt;/p&gt;

&lt;p&gt;Two things caught me off-guard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Swift 6 strict concurrency.&lt;/strong&gt; I thought I was mostly there on actor isolation. I was not. Every function that touches WKWebView needs &lt;code&gt;@MainActor&lt;/code&gt;. Not "most of them." All of them. I spent an embarrassing amount of time chasing "Sending 'coordinator' risks causing data races" warnings before I stopped fighting it and just marked the entire Coordinator class &lt;code&gt;@MainActor&lt;/code&gt;. Then it worked. Swift 6 is right about this, it's just not gentle about teaching it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The scroll spy.&lt;/strong&gt; I wanted the sidebar to highlight the active heading as you scroll — one of those features that sounds simple until you actually try it. My solution: an IntersectionObserver injected into the WKWebView watches all headings; when one enters the viewport it fires &lt;code&gt;window.webkit.messageHandlers.headingObserver.postMessage(id)&lt;/code&gt; back to Swift, and a WKScriptMessageHandler picks it up to update the UI. Works great.&lt;/p&gt;

&lt;p&gt;The gotcha: I was calling &lt;code&gt;MarkdownRenderer.render()&lt;/code&gt; in the SwiftUI view body to regenerate the HTML on each update. That function generates a fresh UUID nonce for the CSP on every call, which makes WKWebView treat it as a new document and reload from scroll position zero. Every. Time. The fix was caching the rendered HTML in &lt;code&gt;@State&lt;/code&gt; and only regenerating it when the content actually changes. A weekend well spent, I guess.&lt;/p&gt;




&lt;h2&gt;
  
  
  The QuickLook part — this is the actual feature
&lt;/h2&gt;

&lt;p&gt;MacMD ships a QuickLook extension alongside the main app.&lt;/p&gt;

&lt;p&gt;Hit Space on any .md file in Finder. Rendered markdown. Syntax highlighting. Themes. Mermaid diagrams if they're in there. Not raw text. Not a wall of hashtags.&lt;/p&gt;

&lt;p&gt;For my workflow this is the thing. Claude Code drops plan.md in my project. I'm in Finder. I hit Space. I read the plan. I close the preview. No app switch, no editor opening, no Cmd+Shift+V.&lt;/p&gt;




&lt;h2&gt;
  
  
  Honest specs (because I've seen some wild claims in this space)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;highlight.js covers around 34 languages out of the box — I verified this in the source. Not 180+. Some tools claim ridiculous numbers.&lt;/li&gt;
&lt;li&gt;No LaTeX / KaTeX support yet. It's on the list.&lt;/li&gt;
&lt;li&gt;~10 MB install size. Not 2 MB either.&lt;/li&gt;
&lt;li&gt;File watching works: when Claude Code updates the file you're reading, MacMD auto-reloads.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Where it is now
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://macmdviewer.com" rel="noopener noreferrer"&gt;macmdviewer.com&lt;/a&gt; — $19.99, one-time, no subscription. Also on Homebrew (&lt;code&gt;brew install --cask macmd-viewer&lt;/code&gt;) and Setapp.&lt;/p&gt;

&lt;p&gt;I built it for my own workflow. Turns out the Claude Code / Codex / Cursor crowd has the same problem — AI agents write .md to disk, and macOS has no good native way to read them. That's the use case I'm focused on.&lt;/p&gt;

&lt;p&gt;If you're on Mac and this sounds familiar, give it a try. If something doesn't work the way you'd expect, I respond to everything — I'm the only developer.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>ChatGPT writes you a clean doc. Your Mac shows raw text with ## everywhere. Here's the fix</title>
      <dc:creator>Arthur</dc:creator>
      <pubDate>Fri, 05 Jun 2026 10:11:09 +0000</pubDate>
      <link>https://dev.to/arthur_teb/chatgpt-writes-you-a-clean-doc-your-mac-shows-raw-text-with-everywhere-heres-the-fix-1m15</link>
      <guid>https://dev.to/arthur_teb/chatgpt-writes-you-a-clean-doc-your-mac-shows-raw-text-with-everywhere-heres-the-fix-1m15</guid>
      <description>&lt;p&gt;&lt;strong&gt;Short version:&lt;/strong&gt; if ChatGPT, Claude, or Cursor handed you a file that opens as a wall of &lt;code&gt;#&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;, and backticks on your Mac, that file is Markdown and nothing on your Mac is rendering it. Install a small app that adds a Finder preview for it, then hit Space on the file and it shows up formatted. Free options exist and they are covered below. If reading AI output is part of your daily work and you want the formatted view to refresh on its own each time an agent rewrites the file, that is the specific frustration I built MacMD Viewer to solve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does my Mac show the file as raw text instead of a clean document?
&lt;/h2&gt;

&lt;p&gt;Because the file is Markdown, and macOS has no built-in renderer for it. Markdown is a plain-text format where &lt;code&gt;# Heading&lt;/code&gt;, &lt;code&gt;**bold**&lt;/code&gt;, and &lt;code&gt;- item&lt;/code&gt; are shorthand instructions for formatting. The model emits those symbols, your editor or chat window interprets them and shows you the pretty result, but the symbols themselves are all that gets saved to the &lt;code&gt;.md&lt;/code&gt; file. There is no formatting baked in, only instructions waiting to be read.&lt;/p&gt;

&lt;p&gt;The reason it looks fine in the chat and broken on disk comes down to who is doing the rendering. Inside ChatGPT or Claude, the web interface reads the Markdown and paints it for you in real time. The moment you download the file, you leave that renderer behind. Now it is just text. Double-click the &lt;code&gt;.md&lt;/code&gt; and TextEdit shows the raw symbols, because it treats the file as plain text with nothing to interpret. Press Space in Finder and Quick Look shows the same raw text, because Apple ships Quick Look generators for PDFs, images, and &lt;code&gt;.txt&lt;/code&gt;, but not for &lt;code&gt;.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This was a niche annoyance for years, mostly hitting developers. Now that millions of people receive plans, specs, meeting notes, and drafts back from AI as &lt;code&gt;.md&lt;/code&gt; files, it has become a daily papercut, and most people do not even know the file format has a name they can search for.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I fix it on macOS?
&lt;/h2&gt;

&lt;p&gt;Pick the lightest tool that matches how often you actually hit this. There is no single right answer: a one-off problem and a daily workflow deserve different solutions, and overspending on a paper cut is its own mistake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If it happens rarely.&lt;/strong&gt; Do not install anything. Send the file's contents back into the chat that produced it and ask for it formatted, then read it right there in the browser. Or open one of the many free browser-based Markdown viewers and paste it in. VS Code also has a built-in preview if you already have it: open the file, then press Shift+Cmd+V. All free, slightly fiddly, perfectly fine for something you do twice a month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you want it to just work in Finder.&lt;/strong&gt; Install a small Mac app that registers a Quick Look extension for &lt;code&gt;.md&lt;/code&gt;. Once it is installed, pressing Space on any Markdown file shows it formatted in place: headings, bold, lists, links, code blocks, tables, and Mermaid diagrams too. You never open a separate app, you just preview like you would a photo. Readdown is a free app that does exactly this and does it well, and it even refreshes on its own when the file changes. QuickMD is another free option that renders Markdown and Mermaid, though it does not add a Finder Quick Look preview or refresh when the file is overwritten. If your needs stop at "I want Space to show me a clean doc," start with Readdown before paying for anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you live in AI output all day.&lt;/strong&gt; When you run Claude Code, Cursor, or any agent that writes files on your behalf, the same &lt;code&gt;.md&lt;/code&gt; gets overwritten again and again as the model works. You want a window that stays open and repaints itself the instant the file changes. Readdown, the free option above, actually does this well, and if you just want the lightest free reader it is a genuinely great pick. I built &lt;a href="https://macmdviewer.com" rel="noopener noreferrer"&gt;MacMD Viewer&lt;/a&gt; for people who want a fuller, actively maintained and supported tool around that same live-reload idea. It is on Setapp and Homebrew (Readdown is a direct-download, no-account hobby project), it adds a Library window and 7 themes, and its live-reload is debounced at around 50ms so it keeps up cleanly with an agent overwriting the file in rapid bursts. Like the free tools it handles Mermaid and syntax-highlighted code, installs the Finder Quick Look extension, and is read-only by design (it never touches your files). It costs a one-time 19.99 dollars, no subscription. If you only need the occasional clean render, the free options above genuinely cover it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Quick Look in Finder&lt;/th&gt;
&lt;th&gt;Live reload&lt;/th&gt;
&lt;th&gt;Mermaid&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Paste back into the chat&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Readdown&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QuickMD&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MacMD Viewer&lt;/td&gt;
&lt;td&gt;19.99 once&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typora (this is an editor)&lt;/td&gt;
&lt;td&gt;14.99&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marked 2 (this is an editor companion)&lt;/td&gt;
&lt;td&gt;13.99&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What if I want to edit the file, not just read it?
&lt;/h2&gt;

&lt;p&gt;Then you want an editor, which is a different category of tool. Everything above is tuned for reading AI output cleanly. If you plan to write Markdown yourself, Typora formats your text live as you type, and Obsidian is the better pick if you are assembling a connected notes system. But you do not need either one just to look at what the model handed you, and paying for an editor to solve a viewing problem is the long way around.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: MacMD Viewer is my own product, so weigh my praise for it accordingly. I have made a point of calling out exactly where the free tools are the smarter choice, since for plenty of readers that is the honest answer.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>markdown</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How Accountants Collect Client Documents Without Endless Email Threads</title>
      <dc:creator>Arthur</dc:creator>
      <pubDate>Mon, 04 May 2026 08:57:16 +0000</pubDate>
      <link>https://dev.to/arthur_teb/how-accountants-collect-client-documents-without-endless-email-threads-464k</link>
      <guid>https://dev.to/arthur_teb/how-accountants-collect-client-documents-without-endless-email-threads-464k</guid>
      <description>&lt;p&gt;Every accountant I've talked to has the same January nightmare: 80 clients, 12 missing W-2s, 30 unsigned engagement letters, and an inbox full of "I'll send it tomorrow" replies. &lt;strong&gt;Client document collection&lt;/strong&gt; is the unglamorous bottleneck that turns a 6-hour return into a 3-week back-and-forth.&lt;/p&gt;

&lt;p&gt;This guide walks through how modern accounting firms — from solo practitioners to 50-person practices — are killing the email thread and standardizing how they collect client documents in 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why email is the worst tool for collecting client documents
&lt;/h2&gt;

&lt;p&gt;Email feels free. It's not. Every email-based document request costs an accountant roughly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;15 minutes&lt;/strong&gt; per client to draft a personalized request&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4–6 follow-ups&lt;/strong&gt; to get all documents in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20+ minutes&lt;/strong&gt; sorting attachments into the right folders&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2–3 hours&lt;/strong&gt; chasing missing items per active engagement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multiply that by 80 clients during tax season and you've burned 200+ hours on coordination — before you've done a single calculation.&lt;/p&gt;

&lt;p&gt;The real problems with email:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No status tracking.&lt;/strong&gt; You can't tell at a glance who has sent what.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Attachment chaos.&lt;/strong&gt; PDFs scattered across threads, named &lt;code&gt;Scan_001.pdf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security risk.&lt;/strong&gt; Sensitive financial data sitting in inboxes forever.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No reminders.&lt;/strong&gt; You become the reminder system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No client experience.&lt;/strong&gt; Clients hate it as much as you do.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What good client document collection looks like
&lt;/h2&gt;

&lt;p&gt;The firms that have solved this all share the same workflow shape:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A single request, sent once&lt;/strong&gt;, listing every document the client owes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A magic-link portal&lt;/strong&gt; the client opens without creating an account&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time status&lt;/strong&gt; for both sides ("3 of 7 documents received")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated reminders&lt;/strong&gt; for missing items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-organized storage&lt;/strong&gt; with consistent naming&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-click validation&lt;/strong&gt; so the accountant accepts or rejects each upload&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The shift is from &lt;em&gt;"I'm chasing you"&lt;/em&gt; to &lt;em&gt;"the system is chasing you, I'm reviewing what arrives."&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a standardized document checklist
&lt;/h2&gt;

&lt;p&gt;Before tools, you need a checklist. The biggest unlock isn't software — it's documenting what you actually need from each client type.&lt;/p&gt;

&lt;h3&gt;
  
  
  Individual tax return checklist (US example)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;W-2 forms from every employer&lt;/li&gt;
&lt;li&gt;1099s (NEC, MISC, INT, DIV, B)&lt;/li&gt;
&lt;li&gt;Mortgage interest statement (1098)&lt;/li&gt;
&lt;li&gt;Property tax records&lt;/li&gt;
&lt;li&gt;Charitable donation receipts&lt;/li&gt;
&lt;li&gt;Prior year return&lt;/li&gt;
&lt;li&gt;Government-issued ID&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Small business return checklist
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;P&amp;amp;L statement (current and prior year)&lt;/li&gt;
&lt;li&gt;Balance sheet&lt;/li&gt;
&lt;li&gt;Bank statements (12 months)&lt;/li&gt;
&lt;li&gt;Payroll summary&lt;/li&gt;
&lt;li&gt;Business mileage log&lt;/li&gt;
&lt;li&gt;Equipment purchases over $2,500&lt;/li&gt;
&lt;li&gt;Engagement letter, signed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keeping these as templates inside your tool of choice means a new client request takes 30 seconds, not 30 minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools for client document collection in 2026
&lt;/h2&gt;

&lt;p&gt;Quick comparison of the main options:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Watch out for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Email + Dropbox&lt;/td&gt;
&lt;td&gt;Solo, under 10 clients&lt;/td&gt;
&lt;td&gt;Doesn't scale, security risk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Drive shared folders&lt;/td&gt;
&lt;td&gt;Bookkeepers with recurring clients&lt;/td&gt;
&lt;td&gt;No request workflow, no reminders&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TaxDome / Karbon&lt;/td&gt;
&lt;td&gt;Full practice management&lt;/td&gt;
&lt;td&gt;Expensive, steep learning curve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dokutrak.com/features" rel="noopener noreferrer"&gt;DokuTrak&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Firms that just need document collection&lt;/td&gt;
&lt;td&gt;Newer entrant, less ecosystem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom client portal&lt;/td&gt;
&lt;td&gt;Firms with dev resources&lt;/td&gt;
&lt;td&gt;Maintenance burden&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you only need &lt;strong&gt;client document collection&lt;/strong&gt; — without the full practice management stack — a focused tool like DokuTrak gets you to a working portal in under an hour. If you also need time-tracking, billing and project management bundled, look at the heavyweight platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  A workflow you can implement this week
&lt;/h2&gt;

&lt;p&gt;Here's the lightest possible setup that still kills the email thread:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 1: Build your templates&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write 3 checklists (individual return, business return, bookkeeping onboarding)&lt;/li&gt;
&lt;li&gt;Each line item gets a clear name and a one-sentence description&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 2: Pick a tool&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you have under 5 clients, even a Notion page with file uploads works&lt;/li&gt;
&lt;li&gt;Above 5, use a real document request tool with magic-link access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 3: Send your first request&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pick one new client and send a single, structured request&lt;/li&gt;
&lt;li&gt;Resist the urge to also email them "just in case"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 4: Set up automated reminders&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day 3, day 7, day 14 cadence works for most clients&lt;/li&gt;
&lt;li&gt;Make reminders friendly — clients are busy, not hostile&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 5: Document the process for your team&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write a 1-page SOP&lt;/li&gt;
&lt;li&gt;Decide which templates to use for which engagement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After two months, the email-thread habit is dead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mistakes that kill adoption
&lt;/h2&gt;

&lt;p&gt;Three things sabotage rollouts I've seen:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tool sprawl.&lt;/strong&gt; If clients have to learn a new portal for every accountant, they revert to email. Pick one tool and stick with it for at least a year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Over-customizing the checklist.&lt;/strong&gt; Start with the 80% case. Edge cases ("client owns a yacht in Monaco") can stay as ad-hoc requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skipping the engagement letter step.&lt;/strong&gt; If your portal also handles signatures, your conversion-to-paying-client improves dramatically. Don't split signing and document collection across two tools.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is it secure to collect client tax documents through a portal?&lt;/strong&gt;&lt;br&gt;
Yes — provided the portal uses end-to-end encryption, magic-link or strong auth, and stores documents in a SOC 2 compliant region. Always more secure than email attachments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will older clients use a document portal?&lt;/strong&gt;&lt;br&gt;
Most will, if the entry point is a single email link with no account creation. Magic-link flows have ~85% completion rates even for clients over 60.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I still need DocuSign for engagement letters?&lt;/strong&gt;&lt;br&gt;
Not necessarily. Many client document collection tools now include e-signature, which removes one tool from the stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does this compare to TaxDome or Karbon?&lt;/strong&gt;&lt;br&gt;
TaxDome and Karbon are full practice management platforms (CRM + billing + projects + portal). If you only need the portal piece, focused tools like &lt;a href="https://dokutrak.com" rel="noopener noreferrer"&gt;DokuTrak&lt;/a&gt; cost a fraction and are faster to roll out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How long until I see the ROI?&lt;/strong&gt;&lt;br&gt;
Most firms recover the time investment in the first tax season, often within 4–6 weeks of rollout.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Client document collection is the highest-leverage process you can fix in an accounting practice. You don't need to rip out your existing stack — you just need to stop using email for the part it was never designed to do.&lt;/p&gt;

&lt;p&gt;Pick a tool, write three checklists, and send your first request this week. Future-you, in the middle of tax season, will thank present-you.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>saas</category>
      <category>startup</category>
      <category>automation</category>
    </item>
    <item>
      <title>How to Track Laptop Battery Health Across a Remote Team in 2026</title>
      <dc:creator>Arthur</dc:creator>
      <pubDate>Mon, 04 May 2026 08:55:45 +0000</pubDate>
      <link>https://dev.to/arthur_teb/how-to-track-laptop-battery-health-across-a-remote-team-in-2026-4190</link>
      <guid>https://dev.to/arthur_teb/how-to-track-laptop-battery-health-across-a-remote-team-in-2026-4190</guid>
      <description>&lt;p&gt;If you manage a remote team of 10+ people, &lt;strong&gt;laptop battery monitoring&lt;/strong&gt; is one of those quiet problems you only notice when it's too late: a dev's MacBook dies on a client call, a sales rep's Dell shuts down mid-demo, or you suddenly need to replace 8 laptops in the same quarter because nobody saw it coming.&lt;/p&gt;

&lt;p&gt;This guide walks through how to track laptop battery health across a remote team — the metrics that matter, the tools available in 2026, and a workflow you can roll out this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why laptop battery health matters for remote teams
&lt;/h2&gt;

&lt;p&gt;When everyone worked in the same office, IT could physically inspect machines. Remote work killed that. Today, a battery that's silently degrading on a remote worker's laptop becomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A productivity tax (machines die mid-meeting)&lt;/li&gt;
&lt;li&gt;A budget surprise (emergency replacements cost 30–40% more)&lt;/li&gt;
&lt;li&gt;A security risk (employees buy random chargers from Amazon)&lt;/li&gt;
&lt;li&gt;An ESG liability (early replacements increase e-waste)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fix isn't complicated. You need three things: the right metrics, a way to collect them automatically, and a threshold-based alerting system.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4 battery metrics you should track
&lt;/h2&gt;

&lt;p&gt;Not every battery stat is useful. These four cover 95% of real-world decisions.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Cycle count
&lt;/h3&gt;

&lt;p&gt;Every full charge-discharge counts as one cycle. Most modern laptops are rated for 1,000 cycles before significant capacity loss.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Healthy:&lt;/strong&gt; under 500 cycles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch:&lt;/strong&gt; 500–800 cycles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replace soon:&lt;/strong&gt; 800+ cycles&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Design vs. full charge capacity
&lt;/h3&gt;

&lt;p&gt;The ratio of current max capacity to original (factory) capacity. This is the single best predictor of remaining battery life.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Healthy:&lt;/strong&gt; above 85%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Degraded:&lt;/strong&gt; 70–85%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Failing:&lt;/strong&gt; below 70%&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Temperature
&lt;/h3&gt;

&lt;p&gt;Sustained high temperatures kill batteries faster than cycle counts. If a battery regularly hits 40°C+, it's being stressed by a thermal issue (often dust, often a failing fan).&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Charging behavior
&lt;/h3&gt;

&lt;p&gt;Devices left plugged in at 100% for weeks degrade twice as fast. Track average state-of-charge over time and flag machines that never drop below 95%.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to collect battery data without invading privacy
&lt;/h2&gt;

&lt;p&gt;This is where most teams stall. Employees (rightly) push back on tools that look like spyware.&lt;/p&gt;

&lt;p&gt;The minimum-viable, GDPR-compliant approach:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Collect &lt;strong&gt;only&lt;/strong&gt; hardware telemetry (battery, CPU, RAM, disk)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Never&lt;/strong&gt; collect screenshots, keystrokes, or browsing history&lt;/li&gt;
&lt;li&gt;Document what's collected in your employee handbook&lt;/li&gt;
&lt;li&gt;Give employees a way to view their own data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Native OS tools give you a starting point:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;macOS:&lt;/strong&gt; &lt;code&gt;system_profiler SPPowerDataType&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows:&lt;/strong&gt; &lt;code&gt;powercfg /batteryreport&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linux:&lt;/strong&gt; &lt;code&gt;upower -i $(upower -e | grep BAT)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Running these manually every month doesn't scale past 5 people. For real fleets, you need centralized collection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools for fleet battery monitoring
&lt;/h2&gt;

&lt;p&gt;A quick rundown of what's available in 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Pricing model&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Microsoft Intune&lt;/td&gt;
&lt;td&gt;Windows-heavy enterprises&lt;/td&gt;
&lt;td&gt;Per device/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jamf Pro&lt;/td&gt;
&lt;td&gt;Mac-only fleets&lt;/td&gt;
&lt;td&gt;Per device/year&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://sobrii.io/features" rel="noopener noreferrer"&gt;Sobrii&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Cross-platform SMBs and MSPs&lt;/td&gt;
&lt;td&gt;Per device/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kandji&lt;/td&gt;
&lt;td&gt;Apple-focused, design-led&lt;/td&gt;
&lt;td&gt;Per device/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom scripts + Grafana&lt;/td&gt;
&lt;td&gt;Engineering teams who love yak-shaving&lt;/td&gt;
&lt;td&gt;Free + ops time&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Native MDM tools (Intune, Jamf) are heavyweight — they're built for compliance and config push, not for lightweight monitoring. If all you need is &lt;strong&gt;laptop battery monitoring&lt;/strong&gt; plus basic hardware visibility, an agent-based tool like Sobrii will be cheaper to deploy and easier to explain to your team.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple weekly workflow
&lt;/h2&gt;

&lt;p&gt;Here's the workflow we landed on after iterating with three different teams:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monday:&lt;/strong&gt; Auto-generated report drops in Slack&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Devices with capacity below 80%&lt;/li&gt;
&lt;li&gt;Devices with cycle count above 800&lt;/li&gt;
&lt;li&gt;Anything reporting battery temperature alerts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Wednesday:&lt;/strong&gt; IT reviews the list, opens replacement tickets for anything in the red zone&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Friday:&lt;/strong&gt; Replacements scheduled or shipped — no surprises at end of quarter&lt;/p&gt;

&lt;p&gt;This took us from "emergency battery replacements every other week" to "two scheduled replacements per quarter, both budgeted."&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes to avoid
&lt;/h2&gt;

&lt;p&gt;After helping a few teams roll this out, three patterns burn people:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tracking too much.&lt;/strong&gt; If you collect everything, you'll review nothing. Start with the 4 metrics above.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Setting thresholds too late.&lt;/strong&gt; "Replace at 60%" means the laptop is already unusable. 80% is the right line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not telling employees.&lt;/strong&gt; Surprise monitoring is the fastest way to lose trust. Always announce, document, and share the data.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How often should I check battery health?&lt;/strong&gt;&lt;br&gt;
Weekly is enough for most teams. Daily is overkill unless you have 1,000+ devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I track battery health without installing an agent?&lt;/strong&gt;&lt;br&gt;
Partially. You can ask employees to run native commands and submit reports, but adoption tanks fast. An agent-based tool is the only sustainable approach above 20 devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is laptop battery monitoring legal under GDPR?&lt;/strong&gt;&lt;br&gt;
Yes, if you collect only hardware telemetry, document it, and have a legitimate business interest. Get a sign-off from legal before rolling out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the ROI of fleet battery monitoring?&lt;/strong&gt;&lt;br&gt;
At ~€150/year per device in monitoring cost, you break even if you avoid one premature replacement (€1,200+) per 8 devices, which is well below typical failure rates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Laptop battery monitoring isn't glamorous, but it's one of the highest-ROI moves a remote-first IT team can make in 2026. Pick your metrics, automate collection, set thresholds, and move on.&lt;/p&gt;

&lt;p&gt;If you want a tool that handles cross-platform fleets out of the box, &lt;a href="https://sobrii.io" rel="noopener noreferrer"&gt;Sobrii&lt;/a&gt; gives you battery, hardware, software and energy telemetry from a single agent — without the MDM overhead.&lt;/p&gt;

&lt;p&gt;What metrics does your team track today? Drop a comment.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>monitoring</category>
      <category>remote</category>
    </item>
    <item>
      <title>How to Preview Markdown Files Directly in macOS Finder</title>
      <dc:creator>Arthur</dc:creator>
      <pubDate>Tue, 17 Mar 2026 20:39:44 +0000</pubDate>
      <link>https://dev.to/arthur_teb/how-to-preview-markdown-files-directly-in-macos-finder-190e</link>
      <guid>https://dev.to/arthur_teb/how-to-preview-markdown-files-directly-in-macos-finder-190e</guid>
      <description>&lt;p&gt;You know that thing where you press Space on a file in Finder and get an instant preview?&lt;/p&gt;

&lt;p&gt;It works for images. PDFs. Videos. Even 3D models.&lt;/p&gt;

&lt;p&gt;But try it on a &lt;code&gt;.md&lt;/code&gt; file. Nothing useful. Just raw text in a monospace font.&lt;/p&gt;

&lt;p&gt;Here's how to fix that — and turn your Finder into a proper Markdown previewer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What QuickLook actually is
&lt;/h2&gt;

&lt;p&gt;For those unfamiliar: QuickLook is a macOS feature that renders a file preview when you press the spacebar in Finder. No app launches. No window management. Just instant preview.&lt;/p&gt;

&lt;p&gt;Developers use it constantly without thinking about it. You select a &lt;code&gt;.png&lt;/code&gt; and press Space to check the right asset. You select a &lt;code&gt;.pdf&lt;/code&gt; to skim a doc without opening Preview. It's muscle memory.&lt;/p&gt;

&lt;p&gt;The problem is that macOS ships with no QuickLook support for Markdown. Press Space on &lt;code&gt;README.md&lt;/code&gt; and you get the same experience as opening it in TextEdit — raw syntax, no rendering.&lt;/p&gt;

&lt;p&gt;Which is wild, because Markdown is arguably the most common documentation format in software development.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup (takes 2 minutes)
&lt;/h2&gt;

&lt;p&gt;You need a QuickLook extension that understands Markdown. There are a few options:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QLMarkdown&lt;/strong&gt; — Free, open-source, available on GitHub. Solid for basic Markdown rendering. No Mermaid support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MacMD Viewer&lt;/strong&gt; — $19.99 on &lt;a href="https://macmdviewer.com/from/devto" rel="noopener noreferrer"&gt;https://macmdviewer.com/from/devto&lt;/a&gt;. Full viewer app that includes a QuickLook extension. Handles Mermaid diagrams, syntax highlighting, and dark mode in the preview. This is what we built and what I'll demo below.&lt;/p&gt;

&lt;p&gt;Install either one. No config needed. macOS picks up the extension automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow that changes everything
&lt;/h2&gt;

&lt;p&gt;Once installed, here's what your daily workflow looks like:&lt;/p&gt;

&lt;h3&gt;
  
  
  Triaging repos
&lt;/h3&gt;

&lt;p&gt;You clone a repo. Before opening anything in your editor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/projects/new-repo/
├── README.md          ← select, press Space
├── CONTRIBUTING.md    ← arrow down, preview updates
├── docs/
│   ├── setup.md       ← arrow down again
│   └── api.md         ← you've scanned 4 docs in 10 seconds
├── src/
└── package.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You just read four documentation files without launching a single app. Arrow keys move between files. The preview updates in real-time.&lt;/p&gt;

&lt;p&gt;Compare that to: open VS Code → wait 3 seconds → navigate to file → Cmd+Shift+V for preview → repeat for each file. For reading documentation, QuickLook is 10x faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reviewing PRs locally
&lt;/h3&gt;

&lt;p&gt;Someone sends you a branch with updated docs. You check it out, navigate to the changed &lt;code&gt;.md&lt;/code&gt; files in Finder, press Space. Instantly see how the rendered output looks. No need to push to GitHub just to preview the formatting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Checking Mermaid diagrams
&lt;/h3&gt;

&lt;p&gt;This is where it gets interesting. If your QuickLook extension supports Mermaid, you can preview architecture diagrams without leaving Finder.&lt;/p&gt;

&lt;p&gt;Imagine your doc contains a flowchart: Client → API Gateway → Auth Service → Database. In raw Markdown, that's just text. With the right QuickLook extension, press Space and you see the actual rendered diagram — boxes, arrows, layout.&lt;/p&gt;

&lt;p&gt;No browser, no Mermaid Live Editor, no copy-pasting syntax into a web tool.&lt;/p&gt;

&lt;p&gt;For teams that document architecture in Markdown (and in 2026, most teams do), this is a massive time saver.&lt;/p&gt;

&lt;h3&gt;
  
  
  Live editing preview
&lt;/h3&gt;

&lt;p&gt;If your QuickLook extension supports live reload (MacMD Viewer does), you can keep the preview open while editing the file in your favorite editor. Every save updates the preview instantly.&lt;/p&gt;

&lt;p&gt;Split your screen: editor on the left, Finder QuickLook preview on the right. Poor man's live preview that works with any text editor — Vim, Neovim, Sublime, whatever.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pro tips
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Set your default app.&lt;/strong&gt; Right-click any &lt;code&gt;.md&lt;/code&gt; file → Get Info → Open With → choose your Markdown viewer → "Change All." Now double-clicking opens the rendered view, not TextEdit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spotlight works too.&lt;/strong&gt; Open Spotlight (Cmd+Space), type a filename, arrow down to the &lt;code&gt;.md&lt;/code&gt; file. The preview panel on the right renders it. You just searched and previewed a Markdown file without touching Finder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open/Save dialogs.&lt;/strong&gt; Any time macOS shows a file picker (Cmd+O in any app), you can press Space to QuickLook preview files. Works with the Markdown extension installed. Handy when you're looking for the right doc in a cluttered project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The before and after
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;See &lt;code&gt;.md&lt;/code&gt; file in Finder&lt;/li&gt;
&lt;li&gt;Double-click → TextEdit opens → raw text&lt;/li&gt;
&lt;li&gt;Close TextEdit&lt;/li&gt;
&lt;li&gt;Open VS Code&lt;/li&gt;
&lt;li&gt;Wait for it to load&lt;/li&gt;
&lt;li&gt;Open file, switch to preview&lt;/li&gt;
&lt;li&gt;Read the doc&lt;/li&gt;
&lt;li&gt;Close VS Code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;After:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;See &lt;code&gt;.md&lt;/code&gt; file in Finder&lt;/li&gt;
&lt;li&gt;Press Space&lt;/li&gt;
&lt;li&gt;Read the doc&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Eight steps down to two. That's not an optimization. That's a different workflow entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger picture
&lt;/h2&gt;

&lt;p&gt;Markdown isn't going away. If anything, AI tools are generating more of it than ever. Every Cursor session, every Copilot suggestion, every v0 scaffold comes with &lt;code&gt;.md&lt;/code&gt; files.&lt;/p&gt;

&lt;p&gt;Your operating system should be able to read them natively. macOS can't — yet. But with the right QuickLook extension, it takes two minutes to fix what Apple hasn't fixed in 25 years of macOS development.&lt;/p&gt;

&lt;p&gt;Try it. Select a &lt;code&gt;.md&lt;/code&gt; file. Press Space. You'll wonder how you ever lived without it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I've been using &lt;a href="https://macmdviewer.com/from/devto" rel="noopener noreferrer"&gt;MacMD Viewer&lt;/a&gt; for this — it's a native macOS app with a QuickLook extension that handles Mermaid and syntax highlighting. $19.99 once. &lt;a href="https://github.com/sbarex/QLMarkdown" rel="noopener noreferrer"&gt;QLMarkdown&lt;/a&gt; is a solid free alternative if you just need basic rendering. Either way, get QuickLook working for Markdown. Your future self will thank you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>markdown</category>
      <category>macos</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
