diff --git a/README.org b/README.org
new file mode 100644
index 0000000..98e2909
--- /dev/null
+++ b/README.org
@@ -0,0 +1,549 @@
+#+summary: My life in a Python package
+#+filetags: :infra:pkm:quantifiedself:hpi:
+#+upid: hpi
+
+#+macro: map @@html:@@$1@@html:@@
+
+#+macro: extraid @@html:@@
+
+*TLDR*: I'm using [[https://github.com/karlicoss/HPI][HPI]] (Human Programming Interface) package as a means of unifying, accessing and interacting with all of my personal data.
+
+It's a Python library (named ~my~), a collection of modules for:
+
+- social networks: posts, comments, favorites
+- reading: e-books and pdfs
+- annotations: highlights and comments
+- todos and notes
+- health data: sleep, exercise, weight, heart rate, and other body metrics
+- location
+- photos & videos
+- browser history
+- instant messaging
+
+The package hides the [[https://beepb00p.xyz/sad-infra.html#exports_are_hard][gory details]] of locating data, parsing, error handling and caching.
+You simply 'import' your data and get to work with familiar Python types and data structures.
+
+- Here's a short example to give you an idea: "which subreddits I find the most interesting?"
+
+ #+begin_src python
+ import my.reddit
+ from collections import Counter
+ return Counter(s.subreddit for s in my.reddit.saved()).most_common(4)
+ #+end_src
+
+
+ | orgmode | 62 |
+ | emacs | 60 |
+ | selfhosted | 51 |
+ | QuantifiedSelf | 46 |
+
+
+I consider my digital trace an important part of my identity. ([[https://beepb00p.xyz/tags.html#extendedmind][#extendedmind]])
+The fact that the data is siloed, and accessing it is inconvenient and borderline frustrating feels very wrong.
+
+Once the data is available as Python objects, I can easily plug it into existing tools, libraries and frameworks.
+It makes building new tools considerably easier and allows creating new ways of interacting with the data.
+
+I tried different things over the years and I think I'm getting to the point where other people can also benefit from my code by 'just' plugging in their data,
+and that's why I'm sharing this.
+
+Imagine if all your life was reflected digitally and available at your fingertips.
+This library is my attempt to achieve this vision.
+
+If you're in a hurry, feel free to jump straight to the [[#usecases][demos]].
+
+For *installation/configuration/development guide*, see [[https://github.com/karlicoss/HPI/tree/master/doc/SETUP.org][SETUP.org]].
+
+
+#+toc: headlines 2
+
+* Why?
+The main reason that led me to develop this is the dissatisfaction of the current situation:
+
+- Our personal data is siloed and trapped across cloud services and various devices
+
+ Even when it's possible to access it via the API, it's hardly useful, unless you're an experienced programmer, willing to invest your time and infrastructure.
+
+- We have insane amounts of data scattered across the cloud, yet we're left at the mercy of those who collect it to provide something useful based on it
+
+ Integrations of data across silo boundaries are almost non-existent. There is so much potential and it's all wasted.
+
+- I'm not willing to wait till some vaporwave project reinvents the whole computing model from scratch
+
+ As a programmer, I am in capacity to do something *right now*, even though it's not necessarily perfect and consistent.
+
+I've written a lot about it [[https://beepb00p.xyz/sad-infra.html#why][here]], so allow me to simply quote:
+
+
+:results:
+#+begin_quote
+- search and information access
+ - Why can't I search over all of my personal chat history with a friend, whether it's ICQ logs from 2005 or Whatsapp logs from 2019?
+ - Why can't I have incremental search over my tweets? Or browser bookmarks? Or over everything I've ever typed/read on the Internet?
+ - Why can't I search across my watched youtube videos, even though most of them have subtitles hence allowing for full text search?
+ - Why can't I see the places my friends recommended me on Google maps (or any other maps app)?
+- productivity
+ - Why can't my Google Home add shopping list items to Google Keep? Let alone other todo-list apps.
+ - Why can't I create a task in my todo list or calendar from a conversation on Facebook Messenger/Whatsapp/VK.com/Telegram?
+- journaling and history
+ - Why do I have to lose all my browser history if I decide to switch browsers?
+ - Why can't I see all the places I traveled to on a single map and photos alongside?
+ - Why can't I see what my heart rate (i.e. excitement) and speed were side by side with the video I recorded on GoPro while skiing?
+ - Why can't I easily transfer all my books and metadata if I decide to switch from Kindle to PocketBook or vice versa?
+- consuming digital content
+ - Why can't I see stuff I highlighted on Instapaper as an overlay on top of web page?
+ - Why can't I have single 'read it later' list, unifying all things saved on Reddit/Hackernews/Pocket?
+ - Why can't I use my todo app instead of 'Watch later' playlist on youtube?
+ - Why can't I 'follow' some user on Hackernews?
+ - Why can't I see if I've run across a Youtube video because my friend sent me a link months ago?
+ - Why can't I have uniform music listening stats based on my Last.fm/iTunes/Bandcamp/Spotify/Youtube?
+ - Why am I forced to use Spotify's music recommendation algorithm and don't have an option to try something else?
+ - Why can't I easily see what were the books/music/art recommended by my friends or some specific Twitter/Reddit/Hackernews users?
+ - Why my otherwise perfect hackernews [[https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic][app for Android]] doesn't share saved posts/comments with the website?
+- health and body maintenance
+ - Why can't I tell if I was more sedentary than usual during the past week and whether I need to compensate by doing a bit more exercise?
+ - Why can't I see what's the impact of aerobic exercise on my resting HR?
+ - Why can't I have a dashboard for all of my health: food, exercise and sleep to see baselines and trends?
+ - Why can't I see the impact of temperature or CO2 concentration in room on my sleep?
+ - Why can't I see how holidays (as in, not going to work) impact my stress levels?
+ - Why can't I take my Headspace app data and see how/if meditation impacts my sleep?
+ - Why can't I run a short snippet of code and check some random health advice on the Internet against *my* health data.
+- personal finance
+ - Why am I forced to manually copy transactions from different banking apps into a spreadsheet?
+ - Why can't I easily match my Amazon/Ebay orders with my bank transactions?
+- why I can't do anything when I'm offline or have a wonky connection?
+- tools for thinking and learning
+ - Why when something like [[https://en.wikipedia.org/wiki/Method_of_loci]['mind palace']] is *literally possible* with VR technology, we don't see any in use?
+ - Why can't I easily convert select Instapaper highlights or new foreign words I encountered on my Kindle into Anki flashcards?
+- mediocre interfaces
+ - Why do I have to suffer from poor management and design decisions in UI changes, even if the interface is not the main reason I'm using the product?
+ - Why can't I leave priorities and notes on my saved Reddit/Hackernews items?
+ - Why can't I leave private notes on Deliveroo restaurants/dishes, so I'd remember what to order/not to order next time?
+ - Why do people have to suffer from Google Inbox shutdown?
+- communication and collaboration
+ - Why can't I easily share my web or book highlights with a friend? Or just make highlights in select books public?
+ - Why can't I easily find out other person's expertise without interrogating them, just by looking what they read instead?
+- backups
+ - Why do I have to think about it and actively invest time and effort?
+#+end_quote
+:END:
+
+- I'm tired of having to use multiple different messengers and social networks
+- I'm tired of shitty bloated interfaces
+
+ Why do we have to be at mercy of their developers, designers and product managers? If we had our data at hand, we could fine-tune interfaces for our needs.
+
+- I'm tired of mediocre search experience
+
+ Text search is something computers do *exceptionally* well.
+ Yet, often it's not available offline, it's not incremental, everyone reinvents their own query language, and so on.
+
+- I'm frustrated by poor information exploring and processing experience
+
+ While for many people, services like Reddit or Twitter are simply time killers (and I don't judge), some want to use them efficiently, as a source of information/research.
+ Modern bookmarking experience makes it far from perfect.
+
+You can dismiss this as a list of first-world problems, and you would be right, they are.
+But the major reason I want to solve these problems is to be better at learning and working with knowledge,
+so I could be better at solving the real problems.
+
+* How does a Python package help?
+When I started solving some of these problems for myself, I've noticed a common pattern: the [[https://beepb00p.xyz/sad-infra.html#exports_are_hard][hardest bit]] is actually getting your data in the first place.
+It's inherently error-prone and frustrating.
+
+But once you have the data in a convenient representation, working with it is pleasant -- you get to explore and build instead of fighting with yet another stupid REST API.
+
+This python package knows how to find data, deserialize it and normalize it to the convenient representation.
+You have the full power of the programming language to transform the data and do whatever comes to your mind.
+
+** Why don't you just put everything in a massive database?
+Glad you've asked! I wrote a whole [[https://beepb00p.xyz/unnecessary-db.html][post]] about it.
+
+In short: while databases are efficient and easy to read from, often they aren't flexible enough to fit your data.
+You're probably going to end up writing code anyway.
+
+While working with your data, you'll inevitably notice common patterns and code repetition, which you'll probably want to extract somewhere.
+That's where a Python package comes in.
+
+
+* What's inside?
+Here's an (incomplete) list of the modules in the public package:
+
+
+:results:
+| [[https://github.com/karlicoss/my/tree/master/my/bluemaestro][my.bluemaestro]] | [[https://bluemaestro.com/products/product-details/bluetooth-environmental-monitor-and-logger][Bluemaestro]] temperature/humidity/pressure monitor |
+| [[https://github.com/karlicoss/my/tree/master/my/body/blood.py][my.body.blood]] | Blood tracking |
+| [[https://github.com/karlicoss/my/tree/master/my/body/weight.py][my.body.weight]] | Weight data (manually logged) |
+| [[https://github.com/karlicoss/my/tree/master/my/books/kobo.py][my.books.kobo]] | Kobo e-ink reader: annotations and reading stats |
+| [[https://github.com/karlicoss/my/tree/master/my/calendar/holidays.py][my.calendar.holidays]] | Provides data on days off work (based on public holidays + manual inputs) |
+| [[https://github.com/karlicoss/my/tree/master/my/coding/commits.py][my.coding.commits]] | Git commits data: crawls filesystem |
+| [[https://github.com/karlicoss/my/tree/master/my/coding/github.py][my.coding.github]] | Github events and their metadata: comments/issues/pull requests |
+| [[https://github.com/karlicoss/my/tree/master/my/emfit][my.emfit]] | [[https://shop-eu.emfit.com/products/emfit-qs][Emfit QS]] sleep tracker |
+| [[https://github.com/karlicoss/my/tree/master/my/fbmessenger.py][my.fbmessenger]] | Module for Facebook Messenger messages |
+| [[https://github.com/karlicoss/my/tree/master/my/feedbin.py][my.feedbin]] | Module for Feedbin RSS reader |
+| [[https://github.com/karlicoss/my/tree/master/my/feedly.py][my.feedly]] | Module for Fedly RSS reader |
+| [[https://github.com/karlicoss/my/tree/master/my/hypothesis.py][my.hypothesis]] | Hypothes.is highlights and annotations |
+| [[https://github.com/karlicoss/my/tree/master/my/instapaper.py][my.instapaper]] | Instapaper bookmarks, highlights and annotations |
+| [[https://github.com/karlicoss/my/tree/master/my/location/takeout.py][my.location.takeout]] | Module for Google Takeout data |
+| [[https://github.com/karlicoss/my/tree/master/my/materialistic.py][my.materialistic]] | Module for [[https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic][Materialistic]] app for Hackernews |
+| [[https://github.com/karlicoss/my/tree/master/my/notes/orgmode.py][my.notes.orgmode]] | Programmatic access and queries to org-mode files on the filesystem |
+| [[https://github.com/karlicoss/my/tree/master/my/photos][my.photos]] | Module for accessing photos and videos, with their GPS and timestamps |
+| [[https://github.com/karlicoss/my/tree/master/my/pinboard.py][my.pinboard]] | Module for pinboard.in bookmarks |
+| [[https://github.com/karlicoss/my/tree/master/my/reading/polar.py][my.reading.polar]] | Module for Polar articles and highlights |
+| [[https://github.com/karlicoss/my/tree/master/my/reddit.py][my.reddit]] | Module for Reddit data: saved items/comments/upvotes etc |
+| [[https://github.com/karlicoss/my/tree/master/my/rtm.py][my.rtm]] | [[https://rememberthemilk.com][Remember The Milk]] tasks and notes |
+| [[https://github.com/karlicoss/my/tree/master/my/smscalls.py][my.smscalls]] | Phone calls and SMS messages |
+| [[https://github.com/karlicoss/my/tree/master/my/twitter.py][my.twitter]] | Module for Twitter (uses official twitter archive export) |
+:END:
+
+Some modules are private, and need a bit of cleanup before merging:
+
+| my.workouts | Exercise activity, from Endomondo and manual logs |
+| my.sleep.manual | Subjective sleep data, manually logged |
+| my.nutrition | Food and drink consumption data, logged manually from different sources |
+| my.money | Expenses and shopping data |
+| my.webhistory | Browsing history (part of [[https://github.com/karlicoss/promnesia][promnesia]]) |
+
+
+
+#+html:
+
+* How do you use it?
+Mainly I use it as a data provider for my scripts, tools, and dashboards.
+
+Also, check out [[https://beepb00p.xyz/myinfra.html#mypkg][my infrastructure map]].
+It's a draft at the moment, but it might be helpful for understanding what's my vision on HPI.
+** Instant search
+Typical search interfaces make me unhappy as they are *siloed, slow, awkward to use and don't work offline*.
+So I built my own ways around it! I write about it in detail [[https://beepb00p.xyz/pkm-search.html#personal_information][here]].
+
+In essence, I'm mirroring most of my online data like chat logs, comments, etc., as plaintext.
+I can overview it in any text editor, and incrementally search over *all of it* in a single keypress.
+** orger
+[[https://github.com/karlicoss/orger][orger]] is a tool and set of modules for accessing data via org-mode.
+It allows searching and overviewing, and in addition, I'm using it for creating tasks straight from native app interfaces (e.g. Reddit/Telegram) and spaced repetition via [[https://orgmode.org/worg/org-contrib/org-drill.html][org-drill]].
+
+I write about it in detail [[https://beepb00p.xyz/orger.html][here]] and [[https://beepb00p.xyz/orger-todos.html][here]].
+** promnesia
+[[https://github.com/karlicoss/promnesia#demo][promnesia]] is a browser extension I'm working on to escape silos by *unifying annotations and browsing history* from different data sources.
+
+I've been using it for more than a year now and working on final touches to properly release it for other people.
+** dashboard
+As a big fan of [[https://beepb00p.xyz/tags.html#quantified-self][#quantified-self]], I'm working on personal health, sleep and exercise dashboard, built from various data sources.
+
+I'm working on making it public, you can see some screenshots [[https://www.reddit.com/r/QuantifiedSelf/comments/cokt4f/what_do_you_all_do_with_your_data/ewmucgk][here]].
+** timeline
+Timeline is a [[https://beepb00p.xyz/tags.html#lifelogging][#lifelogging]] project I'm working on.
+
+I want to see all my digital history, search in it, filter, easily jump at a specific point in time and see the context when it happened.
+That way it works as a sort of external memory.
+
+Ideally, it would look similar to Andrew Louis's [[https://hyfen.net/memex][Memex]], or might even reuse his interface if
+he open sources it. I highly recommend watching his talk for inspiration.
+
+* Ad-hoc and interactive
+
+
+** What were my music listening stats for 2018?
+Single import away from getting tracks you listened to:
+
+#+begin_src python
+ from my.lastfm import get_scrobbles
+ scrobbles = get_scrobbles()
+ scrobbles[200: 205]
+#+end_src
+
+
+: [Scrobble(raw={'album': 'Nevermind', 'artist': 'Nirvana', 'date': '1282488504', 'name': 'Drain You'}),
+: Scrobble(raw={'album': 'Dirt', 'artist': 'Alice in Chains', 'date': '1282489764', 'name': 'Would?'}),
+: Scrobble(raw={'album': 'Bob Dylan: The Collection', 'artist': 'Bob Dylan', 'date': '1282493517', 'name': 'Like a Rolling Stone'}),
+: Scrobble(raw={'album': 'Dark Passion Play', 'artist': 'Nightwish', 'date': '1282493819', 'name': 'Amaranth'}),
+: Scrobble(raw={'album': 'Rolled Gold +', 'artist': 'The Rolling Stones', 'date': '1282494161', 'name': "You Can't Always Get What You Want"})]
+
+
+Or, as a pandas frame to make it pretty:
+
+#+begin_src python
+ import pandas as pd
+ df = pd.DataFrame([{
+ 'dt': s.dt,
+ 'track': s.track,
+ } for s in scrobbles])
+ cdf = df.set_index('dt')
+ cdf[200: 205]
+#+end_src
+
+
+: track
+: dt
+: 2010-08-22 14:48:24+00:00 Nirvana — Drain You
+: 2010-08-22 15:09:24+00:00 Alice in Chains — Would?
+: 2010-08-22 16:11:57+00:00 Bob Dylan — Like a Rolling Stone
+: 2010-08-22 16:16:59+00:00 Nightwish — Amaranth
+: 2010-08-22 16:22:41+00:00 The Rolling Stones — You Can't Always Get What...
+
+
+We can use [[https://github.com/martijnvermaat/calmap][calmap]] library to plot a github-style music listening activity heatmap:
+
+#+begin_src python
+ import matplotlib.pyplot as plt
+ plt.figure(figsize=(10, 2.3))
+
+ import calmap
+ cdf = cdf.set_index(cdf.index.tz_localize(None)) # calmap expects tz-unaware dates
+ calmap.yearplot(cdf['track'], how='count', year=2018)
+
+ plt.tight_layout()
+ plt.title('My music listening activity for 2018')
+ plot_file = 'lastfm_2018.png'
+ plt.savefig(plot_file)
+ plot_file
+#+end_src
+
+
+[[https://beepb00p.xyz/lastfm_2018.png]]
+
+This isn't necessarily very insightful data, but fun to look at now and then!
+
+** What are the most interesting Slate Star Codex posts I've read?
+My friend asked me if I could recommend them posts I found interesting on [[https://slatestarcodex.com][Slate Star Codex]].
+With few lines of Python I can quickly recommend them posts I engaged most with, i.e. the ones I annotated most on [[https://hypothes.is][Hypothesis]].
+
+#+begin_src python
+ from my.hypothesis import get_pages
+ from collections import Counter
+ cc = Counter({p.url: len(p.highlights) for p in get_pages() if 'slatestarcodex' in p.url})
+ return cc.most_common(10)
+#+end_src
+
+
+| http://slatestarcodex.com/2013/10/20/the-anti-reactionary-faq/ | 32 |
+| https://slatestarcodex.com/2013/03/03/reactionary-philosophy-in-an-enormous-planet-sized-nutshell/ | 17 |
+| http://slatestarcodex.com/2014/12/17/the-toxoplasma-of-rage/ | 16 |
+| https://slatestarcodex.com/2014/03/17/what-universal-human-experiences-are-you-missing-without-realizing-it/ | 16 |
+| http://slatestarcodex.com/2014/07/30/meditations-on-moloch/ | 12 |
+| http://slatestarcodex.com/2015/04/21/universal-love-said-the-cactus-person/ | 11 |
+| http://slatestarcodex.com/2015/01/01/untitled/ | 11 |
+| https://slatestarcodex.com/2017/02/09/considerations-on-cost-disease/ | 10 |
+| http://slatestarcodex.com/2013/04/25/in-defense-of-psych-treatment-for-attempted-suicide/ | 9 |
+| https://slatestarcodex.com/2014/09/30/i-can-tolerate-anything-except-the-outgroup/ | 9 |
+
+** Accessing exercise data
+ E.g. see use of ~my.workouts~ [[https://beepb00p.xyz/./heartbeats_vs_kcals.html][here]].
+
+** Book reading progress
+I publish my reading stats on [[https://www.goodreads.com/user/show/22191391-dima-gerasimov][Goodreads]] so other people can see what I'm reading/have read, but Kobo [[https://beepb00p.xyz/ideas.html#kobo2goodreads][lacks integration]] with Goodreads.
+I'm using [[https://github.com/karlicoss/kobuddy][kobuddy]] to access my my Kobo data, and I've got a regular task that reminds me to sync my progress once a month.
+
+The task looks like this:
+
+#+begin_src org
+ ,* TODO [#C] sync [[https://goodreads.com][reading progress]] with kobo
+ DEADLINE: <2019-11-24 Sun .+4w -0d>
+ [[eshell: with_my python3 -c 'import my.books.kobo as kobo; kobo.print_progress()']]
+#+end_src
+
+With a single Enter keypress on the inlined =eshell:= command I can print the progress and fill in the completed books on Goodreads, e.g.:
+
+
+#+begin_example
+
+ A_Mathematician's_Apology by G. H. Hardy
+ Started : 21 Aug 2018 11:44
+ Finished: 22 Aug 2018 12:32
+
+ Fear and Loathing in Las Vegas: A Savage Journey to the Heart of the American Dream (Vintage) by Thompson, Hunter S.
+ Started : 06 Sep 2018 05:54
+ Finished: 09 Sep 2018 12:21
+
+ Sapiens: A Brief History of Humankind by Yuval Noah Harari
+ Started : 09 Sep 2018 12:22
+ Finished: 16 Sep 2018 07:25
+
+ Inadequate Equilibria: Where and How Civilizations Get Stuck by Eliezer Yudkowsky
+ Started : 31 Jul 2018 22:54
+ Finished: 16 Sep 2018 07:25
+
+ Albion Dreaming by Andy Roberts
+ Started : 20 Aug 2018 21:16
+ Finished: 16 Sep 2018 07:26
+#+end_example
+
+** Messenger stats
+How much do I chat on Facebook Messenger?
+
+#+begin_src python
+ from my.fbmessenger import messages
+
+ import pandas as pd
+ import matplotlib.pyplot as plt
+
+ df = pd.DataFrame({'dt': m.dt, 'messages': 1} for m in messages())
+ df.set_index('dt', inplace=True)
+
+ df = df.resample('M').sum() # by month
+ df = df.loc['2016-01-01':'2019-01-01'] # past subset for determinism
+
+ fig, ax = plt.subplots(figsize=(15, 5))
+ df.plot(kind='bar', ax=ax)
+
+ # todo wonder if that vvv can be less verbose...
+ x_labels = df.index.strftime('%Y %b')
+ ax.set_xticklabels(x_labels)
+
+ plot_file = 'messenger_2016_to_2019.png'
+ plt.tight_layout()
+ plt.savefig(plot_file)
+ return plot_file
+#+end_src
+
+
+[[https://beepb00p.xyz/messenger_2016_to_2019.png]]
+
+
+* How does it get input data?
+If you're curious about any specific data sources I'm using, I've written it up [[https://beepb00p.xyz/my-data.html][in detail]].
+
+In short:
+
+- The data is [[https://beepb00p.xyz/myinfra.html#exports][periodically synchronized]] from the services (cloud or not) locally, on the filesystem
+
+ As a result, you get [[https://beepb00p.xyz/myinfra.html#fs][JSONs/sqlite]] (or other formats, depending on the service) on your disk.
+
+ Once you have it, it's trivial to back it up and synchronize to other computers/phones, if necessary.
+
+ To schedule periodic sync, I'm using [[https://beepb00p.xyz/scheduler.html#cron][cron]].
+
+- =my.= package only accesses the data on the filesystem
+
+ That makes it extremely fast, reliable, and fully offline capable.
+
+As you can see, in such a setup, the data is lagging behind the 'realtime'.
+I consider it a necessary sacrifice to make everything fast and resilient.
+
+In theory, it's possible to make the system almost realtime by having a service that sucks in data continuously (rather than periodically), but it's harder as well.
+
+* Q & A
+
+** Why Python?
+I don't consider Python unique as a language suitable for such a project.
+It just happens to be the one I'm most comfortable with.
+I do have some reasons that I think make it /specifically/ good, but explaining them is out of this post's scope.
+
+In addition, Python offers a [[https://github.com/karlicoss/awesome-python#data-analysis][very rich ecosystem]] for data analysis, which we can use to our benefit.
+
+That said, I've never seen anything similar in other programming languages, and I would be really interested in, so please send me links if you know some.
+I've heard LISPs are great for data? ;)
+
+Overall, I wish [[https://en.wikipedia.org/wiki/Foreign_function_interface][FFIs]] were a bit more mature, so we didn't have to think about specific programming languages at all.
+
+** Can anyone use it?
+Yes!
+
+- you can plug in your own data
+- most modules are isolated, so you can only use the ones that you want to
+- everything is easily extensible
+
+ Starting from simply adding new modules to any dynamic hackery you can possibly imagine within Python.
+
+** How easy is it to use?
+The whole setup requires some basic programmer literacy:
+
+- installing/running and potentially modifying Python code
+- using symlinks
+- potentially running Cron jobs
+
+If you have any ideas on making the setup simpler, please let me know!
+
+** What about privacy?
+The modules contain no data, only code to operate on the data.
+
+Everything is [[https://beepb00p.xyz/tags.html#offline][local fist]], the input data is on your filesystem.
+If you're truly paranoid, you can even wrap it in a Docker container.
+
+There is still a question of whether you trust yourself at even keeping all the data on your disk, but it is out of the scope of this post.
+
+If you'd rather keep some code private too, it's also trivial to achieve with a private subpackage.
+
+** But /should/ I use it?
+#+begin_quote
+Sure, maybe you can achieve a perfect system where you can instantly find and recall anything that you've done. Do you really want it?
+Wouldn't that, like, make you less human?
+#+end_quote
+
+I'm not a gatekeeper of what it means to be human, but I don't think that the shortcomings of the human brain are what makes us such.
+
+So I can't answer that for you. I certainly want it though.
+I'm [[https://beepb00p.xyz/tags.html#pkm][quite open]] about my goals -- I'd happily get merged/augmented with a computer to enhance my thinking and analytical abilities.
+
+While at the moment [[https://en.wikipedia.org/wiki/Hard_problem_of_consciousness][we don't even remotely understand]] what would such merging or "mind uploading" entail exactly,
+I can clearly delegate some tasks, like long term memory, information lookup, and data processing to a computer. They can already handle it really well.
+
+#+begin_quote
+What about these people who have perfect recall and wish they hadn't.
+#+end_quote
+
+Sure, maybe it sucks. At the moment though, I don't anything close to it and this only annoys me.
+I want to have a choice at least, and digital tools give me this choice.
+
+** Would it suit /me/?
+Probably, at least to some extent.
+
+First, our lives are different, so our APIs might be different too.
+This is more of a demonstration of what's I'm using, although I did spend effort towards making it as modular and extensible as possible, so other people could use it too.
+It's easy to modify code, add extra methods and modules. You can even keep all your modifications private.
+
+But after all, we've all sharing many similar activities and using the same products, so there is a huge overlap.
+I'm not sure how far we can stretch it and keep modules generic enough to be used by multiple people. But let's give it a try perhaps? :)
+
+Second, interacting with your data through the code is the central idea of the project.
+That kind of cuts off people without technical skills, and even many people capable of coding,
+who dislike the idea of writing code outside of work.
+
+It might be possible to expose some [[https://en.wikipedia.org/wiki/No-code_development_platform][no-code]] interfaces,
+but I still feel that wouldn't be enough.
+
+I'm not sure whether it's a solvable problem at this point, but happy to hear any suggestions!
+
+** What it isn't?
+- It's not vaporwave
+
+ The project is a little crude, but it's real and working. I've been using it for a long time now, and find it fairly sustainable to keep using for the foreseeable future.
+
+- It's not going to be another silo
+
+ While I don't have anything against commercial use (and I believe any work in this area will benefit all of us), I'm not planning to build a product out of it.
+
+ I really hope it can grow into or inspire some mature open source system.
+
+ Please take my ideas and code and build something cool from it!
+
+
+* Related links
+Similar projects:
+
+- [[https://github.com/novoid/Memacs][Memacs]] by Karl Voit
+- [[https://news.ycombinator.com/item?id=9615901][Me API - turn yourself into an open API (HN)]]
+- [[https://github.com/markwk/qs_ledger][QS ledger]] from Mark Koester
+
+- [[https://github.com/tehmantra/my][tehmantra/my]]: directly inspired by this package
+- [[https://github.com/bcongdon/bolero][bcongdon/bolero]]
+- [[https://en.wikipedia.org/wiki/Solid_(web_decentralization_project)#Design][Solid project]]: personal data pod, which websites pull data from
+
+Other links:
+
+- NetOpWibby: [[https://news.ycombinator.com/item?id=21684949][A Personal API (HN)]]
+- [[https://beepb00p.xyz/sad-infra.html][The sad state of personal data and infrastructure]]: here I am going into motivation and difficulties arising in the implementation
+
+* --
+Open to any feedback and thoughts!
+
+Also, don't hesitate to raise an issue, or reach me personally if you want to try using it, and find the instructions confusing. Your questions would help me to make it simpler!
+
+In some near future I will write more about:
+
+- specific technical decisions and patterns
+- challenges I had so solve
+- more use-cases and demos -- it's impossible to fit everything in one post!
+
+, but happy to answer any questions on these topics now!
\ No newline at end of file
diff --git a/doc/SETUP.org b/doc/SETUP.org
index 6bfce94..3560e2a 100644
--- a/doc/SETUP.org
+++ b/doc/SETUP.org
@@ -1,7 +1,7 @@
-# TODO hmm, preamble?
-# TODO hci??
-[[https://circleci.com/gh/karlicoss/my/tree/master][https://circleci.com/gh/karlicoss/my/tree/master.svg?style=svg]]
+# [[https://circleci.com/gh/karlicoss/my/tree/master][https://circleci.com/gh/karlicoss/my/tree/master.svg?style=svg]]
+Please don't be shy and raise issues if something in the instructions is unclear.
+You'd be really helping me, I want to make the setup as straightforward as possible!
* Setting up
** =mycfg= package for private paths/repositories (optional)