Minimum Viable mise-en-place

A stone arch bridge over a still river forms a circle with its reflection, surrounded by a beautiful forest.

Minimum Viable mise-en-place

For those who, like me, love to procrastinate by trying on a shiny new productivity tool, how much time should we invest in a new setup when launching a new venture? Where is the line between investing in tools, versus indulging in non-scary activities in avoidance of terrifying things like writing a two-sentence bio or calling a potential client?

What is your Minimum Viable Mise-en-place?

How do you determine your Minimum Viable Mise-en-place? What are those elements which are essential enough to your core working process that they are vital right now? And what is the simplest means of implementing those elements in a way that's good-enough-for-now?

Let's start by identifying personal needs, specific business needs, and then some universal tooling.

I have a brain which is always generating ideas. It's great for creativity but it can also be distracting, so I need places to easily jot and store ideas for later. I also need a reminder of what I'm supposed to be currently focused on. Emotionally, I need to be gentle with myself. Reminders are good, "discipline" is not. I also need to establish and maintain a sense of safety. A large part of safety is around not having other people be "mad at me", which means I want to keep on top of communication and promises to others. This should mean both a good system for keeping track of things I want to do, and preparation and tooling so that I can quickly take care of tasks for other people. For example, having an updated resume, bio, and photograph handy in an easy-to-send email template. (And, separately from this organizational track, it means emotional care to notice and mitigate emotionally unsafe situations.)

In terms of business, I'm building (among other things) a content-driven consulting and workshop business. So I need tools for developing, publishing, and sharing content. I also need easy ways for people to get in touch with me, and for me to follow up with them. An integral part of my approach is also that I document and share my process and tools. Another is that I use, support, and create open source tools and copyleft content wherever practical. And, like all businesses, I need invoicing and accounting tools.

This seems like a lot to take into account, and it is, but many tools and solutions will take care of multiple considerations at once.

On top of meeting specific needs, tools should be delightful. You should feel good using them. Since you will be interacting with and staring at these tools for many hours a day, they will end up having a profound impact on your brain. If you don't like your tools, it will add to the cognitive burden of tasks you may already not like. If you delight in your tools, it may be the nudge that makes you start to even like invoicing.

A psychological, rather than a culinary, mise en place refers to how one’s stance towards a given environment places constraints on what one feels able to do within that environment, and how these assessments and predispositions impact the process of preparing to act.

from Mise en place: Setting the stage for thought and action

There are many reasons why we find certain tasks easy, and others overwhelmingly big. (And we probably have friends who assign the opposite difficulty ratings to the same tasks.) In many cases there are deep psychological reasons underlying which tasks we find disproportionately hard. Good design and advance preparation won't erase underlying trauma or reprogram years of negative associations, but by reducing friction and making tasks more superficially pleasant, we can make them feel a little lighter, and support ourselves in the heavier lifting we are doing in our personal healing work.

Ultimately, a successful tool is one that you use consistently for a particular purpose, so it contains accurate and complete information. It is vital that any tool allows you to export your data in a non-proprietary format, so you can back up your data, migrate it to a different tool, and make use of it in ways the tool might not support. And, you're likely to be least frustrated with a tool where your usage aligns with the business model of the tool's creator. Using the free tier of a fremium service frequently means you'll be dealing with frequent attempts at upselling.

Here are the tools and systems I am starting out with.

Task, Project & Current Focus Tracking

As a programmer, I love working with plain text files and my trusty text editor vim. I'm currently writing this blog post using vim, and I'm happiest when I can use simple tools based on plain text files. I have been wanting for a while to use a simple text-based task tracker - I like having my tasks local, private, and easily editable, but just-task-tracking wasn't enough. My lightbulb moment was realizing that I could display my todo.sh tasks alongside several other documents which provide additional context and support. Taken together, these form a sort of dashboard, and, with just a few keystrokes, I can quickly move to whichever window has the document I need to jot down the idea burning in my head, whether it's a new big project idea, a little TODO for the inbox, or a working methodology I want to keep front-of-mind today.

For those who want the details, todo.sh is a command-line task manager with context and project support per GTD methodology. To organize my windows, I split my vim session several times and use vim sessions to easily save and restore this window configuration.

Here's a screenshot of what it looks like (annotated with Skitch):

Organizer

With this setup, I can now create a +Tooling project and add tasks to it for any refinements to tooling. This is a great way to stop myself from running out to implement the fun new thing right now.

2020-04-23 Synchronize Projects list with Todo.sh Projects +Tooling
2020-04-23 Generate a hierarchical task report by project +Tooling
2020-04-23 figure out how to have vim periodically refresh todo list +Tooling

Your system doesn't have to be already perfect if you have a tool to capture enhancement ideas.

Customer Relationship Management (CRM) Software

I thought about rolling my own here, and briefly played around with implementing a command line CRM using the peewee ORM. But, I realized that any command line document automation I might want to do could easily be done as long as I selected a CRM system with a good Developer API. And this was not a smart use of my time. (Yes, I am very proud of myself for pulling the plug on this after just a few hours!)

I am starting with OnePageCRM which has a focus on defining a Next Action for every contact, lovely email integration for sending small-batch mailings via individual email, and an inexpensive single-tier pricing model (no upsells or frustrating feature limitations!).

OnePageCRM does not come with a built-in form generator, which means I'll need to add another tool so that I can add forms to my website for things like a newsletter signup. For now, I'm using Birdsend (affiliate link), which is an email marketing tool targeted at content creators. Since my volume is small, I'll write a simple script to synchronize contacts between Birdsend and OnePageCRM and run it manually. This is quick for me to do, so it makes sense. (Birdsend does not currently have functionality to automatically call a webhook after a contact completes a form.)

2020-04-23 Write a script to sync OnePageCRM contacts with Birdsend contacts +Tooling

Additionally, I am trying out ArtiBot to add some simple scripted chat-bots. If you want to try it out, there's a bot in the bottom right of this page! Feel free to say hello! :) I haven't integrated it with OnePageCRM yet, but that should be a pretty quick job. ArtiBot's bots are scripted. They can have some branching logic, but they don't support free-form conversations. Deeper AI is needed for that. I may eventually explore creating and training an AI-based chat bot using a tool like Rasa.

Website & Blog

Getting this website infrastructure up was a big undertaking, but now that I have it set up, I can easily add new workshops, blog posts, and other sections. I'm using a website template purchased from ThemeForest, various free photos from Pexels, and I am using my open source tool Dexy to generate the website's content. I write in markdown and HTML, and write custom tools to help me automate parts of the site. For example, I describe each of my workshops in a text file format (YAML), and use that data to create both the detail page for each workshop, and the page which lists all my available workshops. I make heavy use of Jinja, my favorite templating tool.

Community & Social Media

I have set up a Zulip chat server which anyone is welcome to join. Zulip is an open source real-time online chat tool which has streams (like "rooms"), and within each stream has threaded conversations on different topics. I have a stream that I use just for my own note-taking, it's great for quickly brainstorming ideas. I also have shared streams on different topics where anyone who is interested can post resources or open a discussion. I also create private channels for cohorts in specific workshops, so people can chat and connect. There is a feature in development to allow read-only viewing of channels, which will be great for live Q&A sessions without the need for people to join.

I am also exploring open-source federated alternatives to unethical monolithic social media giants, and so I am tooting with Mastodon over at the.zymocosm.com and enjoying various communities on Matrix/Riot.im.

One of my most important TODOs is to establish a Code of Conduct for my workshops, events, and spaces such as the chat room.

Accounting

For accounting, I'm using an incredibly nerdy open source command-line double-entry bookkeeping tool called beancount where you enter your records in text files. My invoicing template will either pull information from beancount or I'll have a common source which populates both. Since I'm a computer nerd, a PDF design nerd, and an amateur accounting nerd, this is a very exciting little project.

Finally!

I'm feeling great about my process, especially the part where I'm not too attached to any of it, and the fact I'm actually enjoying the process of adding new ideas to a list, rather than jumping to implement them straight away.

You DO need to make an up-front investment to reduce the marginal cost of doing important things. Creating a trusted and fun TODO system will help you bootstrap this process. Adding investment ideas to a list will help free you from the Tyranny of the Most Recent Idea.

Some rabbit holes ARE worth going down, the skill is in learning when to cut your losses and let go of the ones that aren't (or aren't today). For example - I found ArtiBot while I was writing this post and decided to integrate it while I was writing. It didn't take long and it was an important piece of my Mise-en-place that I wanted to have in place. On the other hand, I postponed several other tasks, either because they were longer in scope, or because they were so well defined that I knew what their outcome would be.

In general, creating a learning environment for yourself is about emotional care and psychological safety in support of a growth mindset, and setting up and nurturing feedback loops.

I'd love to hear from you! Feel free to use the bot to say hi, share your favorite tools, or ask me any questions!

And, if you'd like some help setting up a mise-en-place for your business, I do consulting on this! I'd love to have a chat and learn more about your challenges. (And no, I won't recommend the extra-nerdy tools I use unless you are also a command-line nerd.)