Services and tools for running a small software business
I’ve been running my own business building a SaaS product and doing consulting/contracting projects for over 4 years now. During this time I’ve used hundreds of tools and services to help get things done across the different areas of my business.
The list below is everything I use right now (as of January 2018). I will make an effort to update this over time. All services which I pay for are marked with a 💰.
General Business Operations
- 1Password 💰 — Securely stores all passwords and secrets for business services. Previously used LastPass.
- Boomerang for Gmail — For scheduling emails to be sent in the future. Main use case is writing the occasional late night email and scheduling to send first thing in morning so that you don’t set the expectation with a consulting client that you check email outside of work hours.
- Dropbox 💰 — File storage. I’ve mostly migrated business files to Google Drive but maintain this more for personal use (e.g. photo backup).
- Evernote — For capturing interesting articles (using webclip) and quickly scanning paper documents which I don’t want to have to file.
- Freckle 💰 — Tracks my time on a per-project basis. Mainly used for consulting engagements to ensure fixed price projects are profitable with respect to my time. I have also used it for tracking time spent on recurring Autochart product maintenance activities to identify tasks which should be more automated.
- GoCardless 💰 — Default payment processor for new Autochart subscriptions. Automatically takes monthly subscription fees as a direct debit with very low fees compared to credit card processors. I’m currently trying to get more customers moved over to Direct Debit from invoice-based payments to alleviate the pain that is monthly invoice chasing. This is proving tough for larger enterprise customers with dedicated credit control departments.
- GSuite 💰 — Gmail (2 custom domains), Calendar, Google Docs/Sheets, Google Drive (bulk of business file storage), Hangouts for video demos.
- Microsoft Office 💰 — Mainly just for Excel. I’ve managed to avoid needing to use Word and Powerpoint for over a year now.
- Nuclino — Internal wiki/knowledge base for documenting standard business processes and procedures.
- Notability 💰 — For regular note-taking and casual diagramming. Great for using Apple Pencil on iPad and syncs to Mac. Sadly no Android version but also syncs to Google Drive in PDF format, so I can still read notes on my phone.
- Slack — For team communication mainly when I’m working on a custom consulting engagement and also for chat with fellow co-working space residents.
- Stripe 💰 — Payments processor. Integrated into Xero for customers who prefer to pay invoice by credit card.
- Sweep 💰 — My new primary day-to-day task management tool after moving from Trello. Still in beta but the recurring task support is where it shines as SaaS products require a lot of recurring love. Great support team behind it.
- Trello — Previously used for task management, now primarily used for marketing content ideas and engineering kanban boards for custom dev engagements.
- Xero 💰 — For book-keeping, client invoicing and HMRC returns. Automatic bank feed for current account combined with reconciliation rules is great for automated book-keeping, though the feed isn’t yet available for credit card accounts where most of my spend is. The automatic HMRC integration for monthly salary payroll and quarterly VAT returns means I only need my accountant for annual corporation and self-assessment tax returns.
- YNAB 💰 — I’ve used this for personal budgeting for almost a year and have recently started using it for business cashflow predictions since Xero’s budgeting feature is pretty poor.
- Zapier 💰 — For automating workflow between online services I use. I should probably use this a lot more, currently my main use is for automating transfer of receipts from Gmail and Google Drive into Xero.
Sales, Marketing and Customer Support
- Buffer — For scheduling tweets and LinkedIn posts. Social media isn’t a major channel for Autochart sales, so I use this very infrequently.
- Drip 💰 — For email marketing and workflow automation. Current main use is an onboarding email sequence for new customers though I’m hoping to use it more for pre-customer educational marketing. Previously used Mailchimp, but Drip’s model of subscribers over lists makes more sense, and the workflow automation is very powerful.
- Google Analytics — For tracking traffic and high-level usage of the Autochart marketing website.
- HelpScout — Great service which I use for 2 purposes: support ticket management (for all emails to Autochart Support) and as a CMS for the Autochart Support knowledge base.
- Mixpanel — Tracking usage of the Autochart portal, specifically for identifying feature usage within the app.
- Pipedrive 💰 — Recently started using this to help manage sales pipeline and be more structured in how sales are progressed. It helps me follow-up with prospects who’ve shown interest in Autochart or a custom consulting engagement, as well as keeping in touch with existing or past clients. Its automatic email synchronisation keeps all conversations for a specific opportunity in one place (although this sync is slightly buggy).
- Screencastify 💰 — Chrome extension for recording screencasts. I bought paid version so can record longer sessions and convert to MP4.
Engineering and Design
-
Amazon Web Services 💰 — Main infrastructure for the Autochart application, marketing site and other company web properties. Specifically, the following services are used:
- EC2 + ECS + ELB — Hosting docker containers where Autochart portal web app runs.
- S3 + Cloudfront — hosting of static assets for portal app, client-side tracking library and static marketing websites.
- Cloudwatch — Infrastructure monitoring dashboards, alarms and logs.
- Cloudformation — Infrastructure configuration management. Have now moved most resources to Cloudformation config as many were initially created using the AWS web console (for shame!).
- Elasticache (Redis) — Used for caching some expensively computed data used by the portal app.
- Route 53 — DNS settings for all company domains.
- API Gateway — HTTP endpoint where the Autochart tracking library running on customer websites sends its event data to.
- Lambda — Handles API Gateway events. Also used to run background CRON jobs which previously lived inside their own containers on ECS.
- Kinesis — For persisting the incoming stream of website event data sent to API Gateway.
- SNS — Notifications for cloudwatch alarms and also as a dead letter queue for failed Lambda functions.
- RDS Aurora — SQL database used as a secondary datastore, mainly for internal analytics/data warehouse reporting functions.
- Draw.io — Drawing structured diagrams.
- GitHub 💰 — Used for private source code hosting, pull request workflows and product issue tracking.
- iTerm 2 — Better terminal for MacOSX (although somewhat replaced by integrated terminal within VS Code).
- Jekyll — Simple CMS for generating static websites. It’s used for all company marketing websites.
- Keen.io 💰 — An “Analytics as a Service” provider, it’s used to produce metrics and graphs on how Autochart customer websites are performing.
- mLab 💰 — Managed hosting for MongoDB (Autochart’s main datastore), running inside an AWS data center. They take care of backups, replica sets, patching servers, etc. Provide good monitoring tools in their web portal for assessing performance issues.
- Namecheap 💰 — Purchasing domain names.
- Parallels 💰 — For running Windows VM on Mac. Mainly used for browser testing in IE.
- Postmark 💰 — Transactional email provider. A key feature of Autochart is sending out returning lead emails to customer sales reps (1000s sent out daily). Previously used Mandrill and then Sendgrid but recently switched to Postmark due to its better .deliverability and debugging options.
- PureVPN 💰 — For secure internet access when connected to public wifi.
- Robomongo — Desktop client for accessing MongoDB.
- Serverless — Used to simplify configuration and deployment of Lambda/API Gateway and other related resources. Uses Cloudformation under the hood.
- Uptime Robot — Get notified if any key websites go down. Used as a secondary backup to Cloudwatch alarms.
- Visual Studio Code — Main code editor since about 6 months ago. Great for JavaScript development (Autochart backend is Nodejs). Switched from SublimeText 3 which is also great, but lost out due to Code’s intellisense, integrated terminal and debugging support.
Other Resources
- Inspiration for this post: Tools used by Baremetrics
If you run a small business, I’d be interested to hear what tools you use. Leave me a comment below.
Other articles you might enjoy:
Free Email Course
How to transition your team to a serverless-first mindset
In this 5-day email course, you’ll learn:
- Lesson 1: Why serverless is inevitable
- Lesson 2: How to identify a candidate project for your first serverless application
- Lesson 3: How to compose the building blocks that AWS provides
- Lesson 4: Common mistakes to avoid when building your first serverless application
- Lesson 5: How to break ground on your first serverless project