Fully outsourcing your inbox – my journey of victory and terror

If you’re anything like me, your inbox is the bottleneck for a ton of business processes. That’s why I made the decision to try outsourcing my inbox after reading Tim Ferris’s 4-Hour Work Week and blog post on the topic.
Honestly, I tried it for exactly 14 hours, then flipped out about the potential security risk. I thought I had it completely figured out, and only after I had granted access, I realized the massive holes in our security and shut down the project. I mean think about all of the times that your email is the single source of identity verification in your life. It was a terrifying ride.
I then decided to automate forwarding to an absurd degree, and the results have been much better.
I’ve included below the exact instructions that I provided to my assistant, and – even though I opted for a modified version of the process below – I hope these instructions bring you the peace and business efficiency that you are seeking.
As a further update – I am currently working on taking this process as step further and writing scripts to automate the sorting and filing of email attachments. More on this later!
— Detailed Instructions —
Job Posting
Title: Manage my Inbox
I’m looking for a highly detail-oriented person that can follow a step-by-step system to help me stay organized. This job is pretty easy. All you need to do is maintain my inbox. Check into it regularly for 20-30 minutes at a time several times every day, sort through the emails, and make sure that they get organized to the right folders. I will provide you with detailed instructions for handling each of the email categories. Follow the rules on when to forward emails, and when to reply. Simple.
Welcome Letter
Congratulations, and thank you for taking on this role! I am delighted to have you on my team.
First, I need your email address so I can send you access to my log in credentials via LastPass. This will give you my email and password to log in to my Gmail account. I use 2 factor authentication, so the first time you login, you will need to notify me so that I can pass you the code and grant you access.
Accounts used and access [this is where I give instructions on how to access these tools]
  • Calendar:
  • Email:
  • Drive:
  • Skype:
Folder Links [these are hyperlinks to specific folders]
  • List of vendors
  • Vendors
  • List of clients
  • Clients
How to create labels
This is a helpful set of instructions on how to create labels for emails in Gmail: https://support.google.com/mail/answer/118708?co=GENIE.Platform%3DDesktop&hl=en
You should be able to do your work initially with the labels provided. However, as we continue to work together, you can reach out and we can discuss adding further labels in the future.
How to create rules to automate labeling and archiving
You can use filters to automatically label and organize emails. Here are instructions for creating those rules: https://support.google.com/mail/answer/6579?hl=en&ref_topic=3394656
You should be able to do your work initially with the rules that have already been provided. However, as we continue to work together, you can reach out and we can discuss adding more rules in the future.
Label types
Sender | Mark as read | auto-archive | Label as | Forward
How to set up automatic forwarding:
How to set up semi-automatic filing of attachments:
IFTTT – enable attachment to Google Drive folder
Script – drive folder to accounting folder
Initial Setup
  1. I put together a spreadsheet of Email Rules [hyperlink]so that you can keep track of which emails to unsubscribe from, which ones to autotag, which ones to forward, and which ones to auto-reply to. These are each separated by a tab in the spreadsheet.
  2. Please begin by creating auto-tagging rules for each of those accounts – this is important, so ask me questions if you have any issues.
How to manage the inbox – unsubscribing, labeling, forwarding, and archiving attachments
  1. Archive emails, never delete them.
  2. Process emails 4 times daily: 7am 11am 1pm 3pm EST
  3. Send me a status update daily through Slack to discuss items that need my attention.
  4. I have done my best to unsubscribe from all automatically generated newsletters. If you see that an email is automatically generated, please unsubscribe from that email list.
  5. All email that needs to be reviewed should be placed in the_For Review folder. This should be limited to emails that cannot be directly addressed by the other category tags.
  6. HR email automation – any resumes or requests to be hired/ interviewed should be responded to with the template below and forwarded to [email address of HR]. These emails can then be tagged as Job Candidates and archived. All recruiters should be forwarded to vendors at [email address] and replied to with theRecruiter reply template, then labeled as Vendors and archived.
  7. Accounting email automation – Any receipts or invoices should be labeled as accounting and forwarded to [email address of accountant]. Payments received should follow the same process.
  8. Please use the drive icon to move documents (payments going out or account information documents) from here to the Vendor folder that matches the sender (example: salesforce invoices get filed in the “salesforce” folder), or the “Client” folder (example: Enterprise Co payments received). Reference the vendor and client lists above if you are unsure which is which.
  9. PR – If you get a request for Press, please reply with the Press Reply template and cc [email address of marketing manager]
  10. Calendar and scheduling email automation – Confirm scheduling emails added to my calendar from anyone with a [company name] email as long as there is not a conflict.
  11. Log metrics – every month you’ll get an email from Gmail Meter on email stats. Log these stats in the email reports table [hyper link]
  12. If I send you ADD TO RULES modify this list by adding a new rule to the process.
— Email Templates for Automating your Inbox — 
These are automated responses to people outside of the company. The goal of these emails is simply routing, and rapid responding to keep them flowing quickly.
I’d recommend getting a tool to automate this workflow (HubSpot or Yesware)
Recruiter template
Use this email on recruiters – anyone who has expressed interest in helping us find good talent.
[cc: email address]
Thank you for reaching out. We have a recruiting firm we currently work with, and we are quite satisfied with their performance. I have cc’d our head of procurement on this email, who you can reach at [email address] This is the single best point of contact and the starting point for all procurement – please do not contact anyone else in the company. We have added your company contact information to our list of vendors, and if we have a future need for your services, procurement will reach out.
Best regards,
Action to be taken – add the recruiter’s email, name, and company to vendors list and enter “recruiter” in the “type” column.

The ship and the sea

The CEO is the captain of her ship. She is going to face many challenges, some of them from the sea, and some of them from the ship.

In assessing her role in a business, the CEO should be aware that some of the challenges her firm faces are a result of internal challenges – mutiny, broken masts – and others are external – high seas and fierce winds. The external challenges are outside of her control, and no one blames her for failures here. But the internal ones are inexcusable. Be the master of your own ship, the captain of your own destiny.

How to plan daily activities to be more effective

Managing your time effectively is just as important in a business context as managing money. Some might even say it’s more important – time is a finite resource that you’ll never get back.
The most important thing to keep in mind when planning out your hours, days and weeks is to prioritize. If you are not working on the single most important thing right now, you are working on the wrong thing. In my case, I ask “will this destroy the company if I don’t do it?” if the answer is yes, it made my list. If the answer is no, I delegate or back burner the task.
On a daily basis, I try to get into a routine of waking up early. This works the best for my family life, and lets me get several hours in to work on the most important thing before the interruptions of the day start. Today, for example, I was up by 4 and I got into the office at 6 am. I made a cup of coffee and sat down to work.
I start by making a list for the day. “What’s on fire?” This is the existential prioritization for the day. Often times I’ll just start going to work on the firefighting immediately. When I’m at my best and when things aren’t as high stakes, I’ll organize these tasks into achievable bite sizes – often 45- 90-minute chunks. I’ll then try to get those chunks on my calendar for the day. This means most days, I can only handle 5-10 big tasks. I try to put the rest into task management, using it as a mental clearing house for the things I want to do that aren’t mission critical (Much of this technique comes from Getting Things Done). If I don’t finish something on my list, it goes to my list for the next day or makes it into the software.
If I was doing less firefighting, I would take the time to regularly groom the task management list, assign tasks and review progress. I’d be tracking those tasks against KPIs and using regular communication structures to streamline decisions on key projects.
When I have my task list, I like to “bid” time against it by putting those tasks on the calendar. Saying “ I think this should take about an hour” helps me focus on getting the task done and set the right expectations to balance what I’m working on for the day.
When handling a calendar, I budget interruption time. I try not to be too interrupted, but I know that I’m going to field unscheduled calls and need to fight someone else’s fires. As we grow as a company, I hope to transition to an “office hours” approach – giving myself a certain amount of time that’s open to interruption outside of the blocked out Deep Work of the day.
I try to budget time for email and stick to that budget. Being in my inbox or slack all day is really unproductive, in large part because the mental cost of switching tasks frequently is very high.
I don’t Pomodoro, though I hear some people find that productive.
Hope this is helpful.

What language should I learn?

This post from modulecounts should help you decide.


Module Counts

Maven Central (Java)
npm (node.js)
nuget (.NET)
Packagist (PHP)
  • Include
  • Clojars (Clojure)
  • CPAN
  • CPAN (search)
  • CRAN (R)
  • Crates.io (Rust)
  • Drupal (php)
  • DUB (dlang)
  • Gopm (go)
  • Hackage (Haskell)
  • Hex.pm (Elixir/Erlang)
  • Julia
  • LuaRocks (Lua)
  • Maven Central (Java)
  • MELPA (Emacs)
  • npm (node.js)
  • nuget (.NET)
  • Packagist (PHP)
  • Pear (PHP)
  • Perl 6 Ecosystem (perl 6)
  • PyPI
  • Rubygems.org
  • Vim Scripts
  • time period
  • all time
  • last year
  • last 90 days
  • last 30 days
  • last 7 days
May 26 May 27 May 28 May 29 May 30 May 31 Jun 1 Avg Growth
Clojars (Clojure) 18985 19000 19046 10/day
CPAN 35252 35260 35278 4/day
CPAN (search) 35252 35260 35269 35278 4/day
CRAN (R) 10693 10694 10712 10732 6/day
Crates.io (Rust) 9498 9510 9598 17/day
Drupal (php) 37571 37577 37587 37626 9/day
DUB (dlang) 1020 1024 1/day
Gopm (go) 19075 19087 19087 19087 19092 3/day
Hackage (Haskell) 11380 11390 11402 4/day
Hex.pm (Elixir/Erlang) 4214 4221 4229 4255 7/day
Julia 1393 1396 1398 1398 1401 1402 1/day
LuaRocks (Lua) 1452 1454 1458 1/day
Maven Central (Java) 188445 188522 188913 78/day
MELPA (Emacs) 3629 3630 3632 0/day
npm (node.js) 461856 462471 463185 463929 465018 466236 462190 56/day
nuget (.NET) 80607 80705 80817 81197 98/day
Packagist (PHP) 141014 141154 141763 125/day
Pear (PHP) 602 602 602 0/day
Perl 6 Ecosystem (perl 6) 839 840 837 828 -2/day
PyPI 109110 109174 108864 -41/day
Rubygems.org 132487 132510 132675 31/day
Vim Scripts 5441 5442 5442 5442 5442 5442 0/day

Data is collected by scraping the relevant websites once a day via a cron job and then stored in a Postgresql database for later retrieval. Growth rates are calculated by averaging data over the last week. I’m gathering counts of separate modules, so multiple versions of the same module/package/gem only count once (foo-1.2, foo-1.3 and bar-1.0 would count as 2 total).

(May 14, 2017) Upgrade to Rails 5.1, ruby 2.4.1, switch from unicorn to puma, and add Vim Scripts repository. I can’t believe I’ve had emacs for so long and no one has mentioned vim has its own repository.

(Apr 2, 2017) Added Julia to list. Thanks to Bargava Subramanian for pointing it out. Return CSV download feature.

(Mar 17, 2017) Bower and GoDoc haven’t been pulling numbers for a long time, and it doesn’t seem to just be a matter of the number moving somewhere new. I’m removing them both, and adding Gopm.io, which seems to be more in-line with most languages’ ideas about what a package manager is. Big thanks to Jesse Aldridge for pointing me to it.

(May 30, 2016) Much thanks to Hiroki Noda for adding DUB (dlang). Fixed Hex.pm sampling, and removed link to CSV download until I can re-engineer it.

(Apr 8, 2016) Updates to Rubygems.org and Npmjs.org broke both of those samplers.

I’d like to add more repositories. If you have suggestions, please send them to erik@debill.org.

CPAN and CPAN (search) used to be two conflicting sources for data about how many modules are in CPAN. During spring of 2011 CPAN got a site refresh and the numbers came into line with each other. It looks funny on the graph, but it’s an interesting bit of history.

GoDoc is weird. It’s not a true package repository in the same sense as all the others, but as far as I can tell it’s the closest GoLang has. Be aware that it pretty drastically overcounts the number of packages. Don’t use the raw numbers to compare with other languages. You can still watch the line to see changes in velocity, though.

If you’d like to check out the data in more detail, you are welcome to download it in a CSV file.

spent some time on javascript through codecademy, but quickly got bored and started playing around with the material components web git. Working through the read me and getting started to see if I can implement a material design page.

Made the “hello world” page

Made the simple form example.

Completed the “getting started”

Can I create a static page that uses the material components styles?


Time: 2 hrs

Setting up a local HubSpot Environment

The goal here is to set up a local HubSpot server so that we can do ongoing development and have a sandbox environment without messing with our main site.

Thankfully, HubSpot is pretty good about supporting documentation, and a good chunk of what you need for design work can be found here.

Start by making sure you have the latest version of Java running on your machine.

Then download and install the package. Here’s the link on GitHub to make things a bit more convenient.

Once you have the files, you can run the server from the terminal prompt: cd local-hubl-server.

or browse through your files to the “bin” folder and select “local-hubl-server”.

Next you’ll want to establish a master style sheet for your HubSpot design, and a style sheet for individual modules.