Personal Infrastructure

It’s useful to think about the underlying utilities that go into running one’s life and business with the same rigor used to build something significant. Afterall, the things we rely on every day can have an outsized impact on our own performance so why not treat it that way?

What’s important

If we are going to intentionally design personal infrastructure, we should be clear what it’s all for. For me, personal infrastructure is in service of a few top level priorities.

  • Notes Creating bits of knowledge for myself through writing, journaling, and publishing.
  • Work Building a business, focusing on the most important goals, recalling and sharing information, and solving problems.
  • Personal Taking care of myself and my family, organizing projects, not forgetting something important.

Principles

Next, a set of principles to help guide choices and make it more obvious what the to priorities should be.

Below are the list of principles I keep in mind.

Centralized

Tools and systems should be as accretive as possible. Improvements to one area should improve many things at once. Everything should work coherently as a whole.

  • Emacs and org-mode is the central interface to all information and systems
  • Graft it together with reusable building materials (elisp)
  • Either everything is run in Emacs or everything can be run in the browser (including emacs)
  • Specialized OS tools notwithstanding (VPN, Screen caps, password manager, AV, etc.)

Portable

  • Run everything locally with few exceptions
  • I should be able to take the entire setup onto any machine within a day
  • It should be possible to get work done without an internet connection
  • It needs to work on mobile, with a form factor that makes sense (e.g. ssh’ing from a phone might work but doesn’t fit)

Open

Favor building in the open and using materials that are inspectable, changeable, and long lasting.

  • Whatever I build does not intend to be commercialized
  • Share knowledge with others by making it open-source to those who might try to solve similar problems

Secure

Security and privacy needs to be designed in. Sensitive information is constantly being created and shared—I want to be a good steward of that.

  • Endpoint security controls with good defaults and practical
  • Use a password manager and make it easy to use everywhere (1Password is still the go to)
  • Privacy controls built into what information goes where

One of one

Built specifically for me and my workflows without consideration another user of the system.

  • Favor application building over library building
  • Optimize convenience in maintaining and running tools

What should I build?

Finally, with a more clear understanding what it’s all for and the principles behind it, what should I actually build?