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 to avoid having lots of scheduled meetings. Every problem arises from poor communication.

When we need to meet for a discussion, we aim for 30 minutes.

We use Google Meet for remote client meetings, candidate interviews, and company meetings. 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.


Supporting Strategies provides us with an outsourced accountant, bookkeeper and controller. 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.
  • Receiving any payments made to us by check and depositing them it into our bank account.
  • 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 and company/stock matters.

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