Todo
My Goals
Important to treat these as distinct concepts
This blog is a forcing function to:
Make decisions
Learn new technologies
Learn about new problems
Core tenets
- Discoverability: can people find my content easily and in different content networks? how open is the ecosystem?
- Ease of entry: can I add items easily and change format easily?
- Durability: will this break? Is the data portable in case it does? is the stack simple?
How it’s made should be obscured. And yet, how it looks should be familiar.
Nothing does this today. We need a decentralized data network. Assume I will get the framework wrong to begin with. What will the lowest opportunity cost be, with the fewest decisions to make? Notion and Super.
this means we need an unbundling of solutions. CMS different from web framework.
https://github.com/mickael-menu/zk/blob/main/docs/neuron.md
Forcing functions
Current stack and cost
After spending several days comparing different stacks, I reduced the number of tools I use to five:
Tool | Reason(s) | Cost |
1. CMS
2. Comment system | Free (if paired with Super, else $4/mo) | |
1. Web framework (Notion → web)
2. Content host | $20/mo | |
Subscriber form | Free | |
1. Privacy-focused analytics
2. Uptime monitoring | $14/mo (100k pageviews) | |
DNS | Free |
If I hadn’t…
Pluggable data sources
- Tumblr, Medium, Wordpress, Ghost, mirror… notion and super… there’s always another one (or one that breaks and goes obsolete
- Super is breakable: no dates on these posts, etc
Extensibility and portability
Separation of data from platform. Freedom to exit. Low refactor cost.
- Push-based consumption (RSS, Subscriber list)
- No data lock-in for posts
- No data lock-in for subscriber list
- Features like comments and subscribe are isolated and upgradeable
- Built on a developer community that will inevitably grow
Simplicity of Stack
- Few technologies used. Brian lovins site anti example
- No new database
- Draft stage stack should be united with production stack
Simplicity of Design
- Easy to parse UX
- Fewest visual changes possible between mobile and desktop
- Design during comments should be the same as production
Discoverability and navigability
- Can see the list of articles while reading one
- Can navigate seamlessly and quickly between sites, if there are many
- Good SEO
- Maybe: taps into a network of content?
Super does a decent job at converting Notion documents into performant websites, using Vercel and SWR under the hood:
Collaboration
- Allow public to work with me on an idea before it hits twitter
- Allow friends to give me feedback on a draft before it hits internet
Ultimately, what matters most to me is reducing the friction to write, both for myself and for others to give me feedback. Notion gave me enough conviction to draft this blog post there, and the next steps become easier and less error-prone if they’re tied to Notion as well. Zero friction creation and transformation is hard to get right - the Notion team deserves a lot of credit here.
More
Content
- Clarity: forces me to explain my thinking clearly
- **Life Philosophy:** forces me to think about my first principles, esp on work, products, introspection, relationships.
- Goals: document my goals and ask for help
- **Questions:** forces me to ask questions about the world (and receive answers)
- Life assessment: give me a birds eye view of my progress and time left to achieve goals
- **Integrates:** links to twitter, mirror, etc
Design
- Radical simplicity or familiarity?
- Low cognitive overhead: easy to navigate, familiar UI
- Few centralized dependencies: should not be a litany of technologies, where each can become obsolete. Anti example
Tradeoffs
- It should be built simply, but the compilation from simple to functional doesn’t need to be?
- It doesn’t have to appear simple; it should just appear familiar if it isn’t
- Feedback enabled?: it could skip accepting user feedback and just link to twitter/medium for public comments. Private comments - not sure
- **Gimmicky?:** Gimmicks get old and make me want to switch eventually
- Easy to find collaborators e.g. comments and pull requests. Can use gdocs etc
Implementation
- Easy to get revisions from others in draft mode
- **Incremental correctness-** should allow me to play with new ideas
- Easy to navigate: table of contents, maybe a sidebar
- Great SEO
- Fast page load
- Defensive - bad actors shouldn’t be able to spam or run up bill too high
- Easy to comment on
- Easy to comment on privately too
- **Composable?**: people should be able to build on top of it or program around it (e.g. the philosophies)
- **Subscribe-able:** anyone should be able to get email updates
- Categorization - e.g. entrepreneurship, principles
- **Simple build:** few dependencies and lines of code
- **Easy or unnecessary to upgrade:** should be easy to fix bugs in 5 years, or managed or permaweb
- Open source: other people can improve it
- **Easy to visit:** can use alexatallah.com or an eth site
- Easy import: should accept easy new entries pulled from my Day One, and should be easy to edit overall
- **Portability:** posts should be written in markdown and portable to other platforms
- Feedback doesn’t need to be portable
Gimmick Ideas
- Real-time updates (Phoenix LiveView)
- ENS names of users on page
- NFTs I own
- Decentralized database
Distinction from twitter
- Open source
- Bad actor resistant
- Easy export
- Simple look
- Resilience (in case company fails)
- Gimmicky
Distinction from Mirror
- Feedback
- Resilience
- Open source
- Gimmicky