đź“’

Principles for personal publishing

Published
Tags
web frameworks
‣

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

  1. Discoverability: can people find my content easily and in different content networks? how open is the ecosystem?
  2. Ease of entry: can I add items easily and change format easily?
  3. 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
‣
Custom site
‣
Notion

Simplicity of Stack

  • Few technologies used. Brian lovins site anti example
  • No new database
  • Draft stage stack should be united with production stack
‣
Notion

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:

image

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

  1. Clarity: forces me to explain my thinking clearly
  2. **Life Philosophy:** forces me to think about my first principles, esp on work, products, introspection, relationships.
  3. Goals: document my goals and ask for help
  4. **Questions:** forces me to ask questions about the world (and receive answers)
  5. Life assessment: give me a birds eye view of my progress and time left to achieve goals
  6. **Integrates:** links to twitter, mirror, etc

Design

  1. Radical simplicity or familiarity?
  2. Low cognitive overhead: easy to navigate, familiar UI
  3. Few centralized dependencies: should not be a litany of technologies, where each can become obsolete. Anti example

Tradeoffs

  1. It should be built simply, but the compilation from simple to functional doesn’t need to be?
  2. It doesn’t have to appear simple; it should just appear familiar if it isn’t
  3. Feedback enabled?: it could skip accepting user feedback and just link to twitter/medium for public comments. Private comments - not sure
  4. **Gimmicky?:** Gimmicks get old and make me want to switch eventually
  5. Easy to find collaborators e.g. comments and pull requests. Can use gdocs etc

Implementation

  1. Easy to get revisions from others in draft mode
  2. **Incremental correctness-** should allow me to play with new ideas
  3. Easy to navigate: table of contents, maybe a sidebar
  4. Great SEO
  5. Fast page load
  6. Defensive - bad actors shouldn’t be able to spam or run up bill too high
  7. Easy to comment on
    1. Easy to comment on privately too
  8. **Composable?**: people should be able to build on top of it or program around it (e.g. the philosophies)
  9. **Subscribe-able:** anyone should be able to get email updates
  10. Categorization - e.g. entrepreneurship, principles
  11. **Simple build:** few dependencies and lines of code
  12. **Easy or unnecessary to upgrade:** should be easy to fix bugs in 5 years, or managed or permaweb
    1. Open source: other people can improve it
  13. **Easy to visit:** can use alexatallah.com or an eth site
  14. Easy import: should accept easy new entries pulled from my Day One, and should be easy to edit overall
  15. **Portability:** posts should be written in markdown and portable to other platforms
    1. Feedback doesn’t need to be portable

Gimmick Ideas

  1. Real-time updates (Phoenix LiveView)
  2. ENS names of users on page
  3. NFTs I own
  4. Decentralized database

Distinction from twitter

  1. Open source
  2. Bad actor resistant
  3. Easy export
  4. Simple look
  5. Resilience (in case company fails)
  6. Gimmicky

Distinction from Mirror

  1. Feedback
  2. Resilience
  3. Open source
  4. Gimmicky