Running a software-based business requires more than beautiful code or a popular product. Managing cash flow and taxes can feel unimportant or difficult, but getting them right is as vital to our success as product design.

Fortunately, many services exist which make things like bookkeeping, receipts, signatures, and invoicing much easier.

Some principles have helped us streamline our operations:

  • Outsource things which are super important but we are not excellent at.
  • Spend time selecting a vendor and occasionally spend time reevaluating other vendors.
  • Automate repetitive tasks.
  • Give everyone "admin" access to as much as possible to avoid bottlenecks.
  • Try to avoid building internal tools. It requires time and money to build and makes us reliant on ourselves when things don't work.
  • Our problems are not unique. We will try manual processes first. When we do build something, it is usually after using other things for years.


We buy things. In the US, the IRS appreciates it when we track those purchases. So do we, in order to know whether we're profitable.

In the US, we use Tallie to send all receipts (meals, travel, books, computers) to our accountant.


We use Gmail for our email.


We use Google Calendar for our calendars.


We use Google Docs for our editable documents.

We prefer Google Docs because they are:

  • Easily sharable by URL. Everyone has a browser, not everyone has Microsoft Office installed.
  • Always up to date with the latest edits.
  • Enable real-time collaboration, like group meeting notes.
  • Autosaved to the cloud, so no worrying about backup.
  • Are as easy to find as Googling something.
  • Without document type versioning (e.g. xls vs. xlsx).
  • Cheap.

These tools are not well-suited for large documents or complicated spreadsheets, but broadly these are not problems we have. We write code and are biased toward minimal documentation and against upfront specs so we rarely write long documents.

We use Google Sheets for our company-wide budget and forecast. We also often use Google Sheets to collect or analyze other data. We can often create an initial version of something new there using IMPORTDATA and Heroku dataclips to avoid building a custom app.


We over-communicate with clients in-person and online to avoid having scheduled meetings. Every problem arises from poor communication.

When we need to meet for a discussion, we aim for 30 minutes spent in-person.

When working remotely, Google Hangouts are indispensable as the "next best thing". They are easy to set up, sharable by URL, and let us get a look at whoever we're talking to.

Screen-sharing is also very easy, when necessary. We have used Hangouts for client meetings, candidate interviews, and company meetings.

We use conference lines that are part of our VoIP system, provided by OnSip, for voice conferencing.


Supporting Strategies provides us with an outsourced accountant, bookkeeper and controller. They provide us with a hosted QuickBooks install that we can access via Remote Desktop. They also receive our paper mail. If the mail contains a check, they deposit it into our bank account.

They are excellent and provide these services for us:

  • Making sure payroll happens regularly and correctly.
  • Gathering our accounts payable and making sure we pay partners promptly.
  • Preparing monthly P&L statements, broken down by services and products.
  • Making sure cash flow, checking account, savings account are in order.
  • Sending out invoices regularly.
  • Following up with clients when we don't receive payment on time.

Our law firm is Gesmer Updegrove LLP. They are able to provide us with legal support for almost everything we need, which is most commonly client, real estate, and company/stock matters. We also engage Costa & Riccio LLP for US immigration matters.

Talk to one of our product experts about building success into your process.