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?
- Chat with org-roam notes
- Publishing pipeline
- Export backend for org-mode to notion
- Grammar and spelling linting in org-mode
- Search (tasks, notes, documents, email)
- Indexing content and sync’ing updates across multiple sources
- Web agents to crawl the internet to get an answer (research this topic, check for changes)
- Schedule a meeting consistently across calendars (sales, recruiting, other)
- A recurring task template for weekly review
- HubSpot AI question and answer (what tickets were over SLA last week)
- Auto follow-up emails
- Social media asset card builder (for posting notes)
- Mobile org agenda (org-roam projects in Beorg)
- Emacs config reproducibility (GitHub build)
- Browser in Emacs (
xwidget
browser that is scriptable) - Tools to review someday and waiting tasks in org-agenda
- Fix syncing issues with Beorg and mobile capture (iOS Shortcuts to Beorg should sync first to avoid conflicts)
Links to this note
-
I’m setting up
dokku
as a personal infrastructure PaaS for running services like the personal indexing service. -
Llamafile Has the Best Ergonomics for Local Language Models
By far the best installation and running experience for using a large language model locally is llamafile. The entire model, weights, and a server are packaged into a single binary that can be run across multiple runtime environments.
-
As much as I love my emacs setup, I can’t take my laptop with me everywhere and that is my biggest compliant. For me investing in personal infrastructure makes sense as I build more one of one software that improves my life. More specifically, there are ways of searching for information I’ve built up over the years that I’ve come to rely on. To be able to search for information consistently across devices, there needs to be a personal indexing service.
-
A pattern I really like in Notion is that you can a
@
(at) mention any page with search as you type and autocomplete. I’d like to do something similar in org-mode so that I can quickly link related headlines. -
Coming Back to Rust After 4 Years
I recently picked up rust for a personal infrastructure project and was amazed at the amount of progress on the language and tooling over the years.