What I use

Andrew Heiss is working on a bunch of exciting and groundbreaking projects
Last updated

May 3, 2024

People often ask me what programs I use for my writing and design. In truth, my workflow tends to look like this or this, but here’s a more detailed list of all the interconnected programs I use.

I try to keep this updated fairly regularly. As of May 3, 2024 this is what I’m using:


  • I permanently ditched Word as a writing environment in 2008 after starting grad school. I do all my writing in pandoc-flavored Markdown (including e-mails and paper-and-pencil writing)—it’s incredibly intuitive, imminently readable, flexible, future proof, and lets me ignore formatting and focus on content.
  • I live in Ulysses. At first I chafed at the fact that it stores everything in its own internal folder structure, since I store most of my writing in git repositories, but exporting a compiled Markdown file from a bunch of Ulysses sheets is trivial (and still easily trackable in version control).
  • I use Typora to edit standalone Markdown files, since Ulysses uses its own syntax when using fancy things like footnotes. Typora is my favorite standalone Markdown editor I’ve found so far because it inherently supports pandoc-flavored Markdown.
  • The key to my writing workflow is the magical pandoc, which converts Markdown files into basically anything else. I use my own variation of Kieran Healy’s Plain Text Social Science workflow to convert Markdown to HTML, PDF (through LaTeX), and Word (through LibreOffice).
  • I store all my bibliographic references, books, and articles in Zotero (see here for why).
  • I read and annotate all my PDFs with Skim (and iAnnotate on iOS), since both export annotations as clean plain text.
  • I store all my notes in Obsidian. Before switching to Obsidian I used Bear, which was great but didn’t support fancier things like math or syntax highlighting. Before that, I used Evernote, but I abandoned it in September 2018 after 9 years of heavy use, given their ongoing privacy controversies and mass layoffs.


Science and research

  • I post almost everything I write or develop on GitHub.
  • I use R and RStudio for most of my statistical computing, and I’m a dedicated devotee of the tidyverse. In the interest of full reproducibility and transparency, I make R Markdown websites for each of my projects. I don’t typically make full-blown literate documents (like, I have yet to write a full article or book in R Markdown)—instead, I generate figures and tables with R and reference them in my writing. See a list of these websites.
  • I also use Python (3!) occasionally. Every few months I play with pandas and numpy and Jupyter, but I’m far more comfortable with R for scientific computing.
  • I use RStudio for editing R files, but I use Visual Studio Code for everything else.
  • I adapted the idea for research haikus from Kirby Nielsen.
  • I use The Rogue Scholar to create stable DOIs for each of my blog posts.



Desktop apps

Graphic design

  • Though I regularly use LaTeX (through pandoc), I adore InDesign CC and use it to make fancier academic and policy documents. I also used it for all the typesetting I did for BYU’s Neal A. Maxwell Institute.
  • I use Illustrator CC all the time to enhance graphics I make in R and to make non-data-driven figures and diagrams.
  • I use Lightroom and Photoshop too, but less often nowadays.
  • Despite my dislike for Word and Excel, I use PowerPoint for all my presentations. It’s not my favorite, but in the apocryphal words of Churchill, “PowerPoint is the worst form of slide editor, except for all the others.”


  • My secret for avoiding the siren call of the internet is Freedom. I have two blocklists: (1) antisocial, which blocks Facebook and Twitter, and (2) nuclear, which blocks everything. I have the antisocial blocklist enabled on my laptop and phone from 8:00 AM–6:00 PM and 8:30 PM–11:30 PM. Since I accidentally discovered that it’s relatively easy to circumvent the blocking on the Mac, I also use Focus with the same schedule.
  • I was an early convert to Todo.txt and used it for years until my tasks and projects got too unwieldy. I switched to Taskpaper for a while, used 2Do for a couple years, and now I’m a convert to OmniFocus.
  • Fantastical 2’s natural language input is a glorious thing.
  • I use Timery as an interface to Toggl to track my time during the day
  • I keep a log of what I work on (and occasionally do more traditional diary-like entries) with Day One on both iOS and macOS.
  • I use TextExpander to replace and expand a ton of snippets, and I use Keyboard Maestro to run dozens of little scripts that help control my computer with the keyboard.
  • I use Übersicht to show weather, iTunes track information, and my todo lists on my desktop.
  • I use Dropbox religiously and use Backblaze to back up all the computers in our house to the cloud.
  • With all these little helper apps, I use Bartender to keep my menubar clean.


  • I use a 2021 14″ M1 Max MacBook Pro, a 2018 15″ MacBook Pro, a 5th generation iPad, and an iPhone 8.