Name
Service
Purpose
Cost
Total
#1ba581
Domain Registration

Hover handles domain registration for cushionapp.com and several other domains.

$15/year
$398.17
#000000
Private SCM

GitHub hosts the source code of the app and GitHub Issues is used to track bugs, features, and milestones.

$25/month
$1,126.86
#000000
Website Hosting

The marketing website is hosted on GitHub Pages, which is free, static, and version-controlled.

free
$0.00
#009225
Email Hosting

Google Apps hosts email for the team as well as spreadsheets for research and expense tracking.

$200/year
$754.71
#83c832
Website CMS

Siteleaf makes it possible to easily update the marketing website without needing to deploy the app.

$5/month
$160.00
#6e5baa
SSL Management

ExpeditedSSL installed the SSL certificate and automatically renews it each year. The service is a set-it-and-forget-it.

$10/month
$123.57
#6e5baa
SSL Certificate

The SSL certificate encrypts requests between the app and the API.

$40/month
$1,334.29
#6e5baa
Web App Database

The web app uses a PostgreSQL database running on Heroku, which includes automatic backups.

$50/month
$2,922.18
#6e5baa
Web App Server

The web app currently runs on Heroku, which is very easy to set up and maintain, but very expensive.

$57/month
$2,717.68
#fb2d26
Exception Tracking

Sentry alerts me of any uncaught exceptions in Cushion and provides all the details I need to debug them.

free
$0.00
#03498f
Log Management

Papertrail pulls in all the server logs from Cushion, so I can easily query them when I need to dig deeper on an issue.

$7/month
$270.18
#101b27
Continuous Delivery

Codeship handles testing, compiling, and deployment of Cushion. It’s incredibly flexible and easy to use.

$49/month
$1,274.00
#0288b4
Email Delivery

Cushion uses Mandrill to send triggered emails, like password resets or failed payment follow-ups.

free
$0.00
#1db5d4
Email Marketing

The newsletter update emails are sent using Mailchimp. It’s easy and powerful.

$67.50/month
$1,522.90
#ce215b
Chat / Notifications

Slack is a great for chat, but also perfect for centralizing notifications from other services, like Stripe and Intercom.

$160/year
$413.42
#ff9900
Asset Hosting

The marketing website, javascript files, stylesheets, and images are all stored in AWS S3, which literally costs pennies a month.

$0.15/month
$11.26
#19a9e5
Email Marketing

The first newsletter update email was sent using Campaign Monitor.

$15.07
$15.07
#ff9900
Asset CDN

The asset files are served by AWS CloudFront, a content delivery service that greatly improves transfer speeds.

$0.63/month
$44.73
#73bec8
Surveys

Typeform is a hosted survey service. We use it when performing research for new features.

free
$0.00
#ec7952
Metrics

Hosted Graphite serves the dashboard for StatsD server metrics and user activity.

$19/month
$8.29
#0f80aa
Metrics

Librato serves the dashboard for server metrics and user activity, pulling in data from logs and StatsD.

$19/month
$392.65
#0073b0
Support

Intercom is essential to communicating with Cushion users, providing customer support, user analytics, and in-app messaging.

$309/month
$11,869.53
#323543
Code Review

Code Climate reviews the app code, grades it, and highlights areas that could be improved. This isn’t a necessary service, but useful for a clean codebase.

$49/month
$294.00
#6e5baa
Web Worker Server

The web workers run background jobs, like generating downloadable backups and requesting 3rd party services.

$50/month
$2,453.49
#cc0000
Redis Database

The Redis database is used to queue and manage background jobs. Redis Cloud is a one-click Heroku add-on, but very expensive.

$10/month
$480.60
#ff4a00
Webhooks

Zapier automates several workflows on the marketing side of Cushion.

$15/month
$409.28
#2593D5
Revenue Analytics

Baremetrics integrates with Stripe to analyze revenue and monitor payment activity.

$29/month
$145.02
#6e5baa
Scheduler

The scheduler spawns background jobs every 10 minutes to import new clients, projects, and invoices from Harvest for the auto-import integration.

$1/month
$63.55
#0099ff
Website Fonts

The marketing website’s fonts are self-hosted and licensed from MyFonts. The header font is Effra Bold by Dalton Maag and the body font is FF Tisa Pro by Mitja Miklavčič.

$300.51
$300.51
#ed4700
Web App Fonts

The web app fonts are self-hosted and licensed from Just Another Foundry. The fonts include several styles from the Facit typeface by Tim Ahrens and Shoko Mugikura of Just Another Foundry.

$500.94
$929.94
#88CC88
Flickity JS library

Flickity is the responsive and touch-enabled carousel library by David DeSandro. We use it on the marketing page to cycle through user testimonials.

$25.00
$25.00
#92407e
Web App Profiler

Skylight profiles server requests and pinpoints which ones are the slowest and which are the heaviest.

$20/month
$710.00
#fd4f00
Wildcard SSL Certificate

The wildcard SSL certificate secures all of Cushion’s subdomains. Namecheap came recommended, but there are plenty of other certificate resellers.

$99/year
$297.90
#f97805
Stickers

To spread the word in person, we ordered stickers from Sticker Mule. The proof was approved same-day and the stickers arrived 5 days later.

$59 - $247
$306.00
#009225
Advertising

We tried Google Adwords for advertising, but quickly realized that we’re better off spreading the word in other ways while our budget is low.

$10/day
$33.31
#ea4c89
Design Process Hosting

We started posting design process shots to Dribbble as a way to reach a wider segment of the design community.

$20/year
$20.00
#F1686A
Revenue Analytics

ChartMogul integrates with Stripe to analyze revenue and generate reports about MRR, churn, and lifetime value. Once ChartMogul started offering a free plan, we downgraded because we could get by without the pro features.

free
$1,649.00
#ffde00
Transactional Email

We use Postmark to send transactional emails, like confirming a user’s email upon signup, resetting passwords, etc. They’re one of those “do one thing and do it well” kind of services that we love.

free
$0.00
#ed485f
Analytics

Heap helps us analyze the traffic and funnels on our marketing website. We can make changes and easily see the effects.

free
$0.00
#00b9ff
Payment Transfer

We pay international freelancers using TransferWise, which is much cheaper and easier than using a bank.

-
-
#ff5500
Audio Hosting

We use Soundcloud to host our “Ask a Freelancer” podcast.

$135/year
$360.00
#223D68
HR & Payroll

JustWorks handles health benefits, payroll, and paying freelancers. They make it easy, so we can focus on Cushion.

$170/month
$5,270.00
#7749a3
Metrics

To keep an eye on all of our server metrics, we use Datadog on a separate monitor to gather everything in one spot. It helps us keep an eye on any spikes in traffic, memory, etc.

free
$0.00
#49B882
Analytics

We use Segment to abstract all of our analytics APIs into one. Update: We realized our usage was so simple that we no longer needed Segment.

$39/month
$858.00
#DA513D
Website CMS

Craft is the CMS for Cushion’s marketing website. It’s incredibly flexible, allowing us to arrange entire product pages without touching code.

$299.00
$299.00
#A2C614
Domain Broker

Domain Agents served as the middleman for our acquisition of the domain name in.vc.

$19.95 + 1%
$209.95
#3498DB
Domain Name

We acquired the domain name in.vc to use with our invoicing feature.

$1,900.00
$1,900.00
#1756a9
SSL Certificate

We use Let’s Encrypt for the SSL certificates for both the marketing website and in.vc. Eventually, we’ll migrate our other SSL certificates to Let’s Encrypt. It’s free and easy.

free
$0.00
#1A5EC6
DNS

DNSimple lets us use the root domain of in.vc as a Heroku app. It’s a steep price to pay to simply remove “www”, but we couldn’t find a simpler way in time for launch. Update: We have since extracted our client-facing invoice page as a separate app and no longer need DNSimple.

$25/month
$450.00
#040402
Wiki

We use Notion to manage our ideas, thoughts, and roadmap. It’s an incredibly well-designed tool that feels magical.

free
$0.00
#009BDF
Screen Recorder

Screenflow is by far the best tool for recording screencasts. We use it specifically for creating our support videos.

$34.00
$34.00
#17272E
Video Hosting

Vimeo hosts our support videos. We could probably use YouTube for free, but Vimeo has worked for us.

$13.06/month
$248.14
#137AC9
Social Scheduler

We briefly tried Buffer to schedule our tweets, but realized we didn’t need the Pro features.

$10/month
$50.00
#3bb878
Website Hosting

Our marketing website is hosted on Linode, which provides a fast VPS that we can use with CraftCMS.

$10/month
$170.00
#fdac32
Design Software

We design all of our interfaces using Sketch, which is very quick and lightweight to use.

$99/year
$99.00
#1b85dd
Bank API

For our ACH invoice payments, we use Plaid’s bank auth API to authorize clients’ bank accounts. We then send the auth token to Stripe to complete the payment.

$2.50/auth
-
#6e5baa
Continuous Integration

To simplify our infrastructure, we migrated to Heroku CI for continuous integration. We’re thrilled with the performance and cost, which uses performance dynos and is prorated to the second.

$20/month
$167.41
#5044a5
Log Management

Timber helps us monitor our logs and easily sift through them. Its interface is very clear and intuitive compared to other logging tools.

free
$0.00
#dd4814
Tunnel Hosting

We use ngrok to tunnel from our local dev server to a remote URL that Plaid can trigger its webhooks. ngrok does provide a free service, but those URLs expire after 8 hours and are recycled, so we couldn’t use them. We pay extra for custom, secure URLs.

$120/year
$120.00
#6e5baa
Staging Server

Our staging servers let us test the entire app in an identical environment to production before flipping the switch.

$21/month
$78.57
#00a154
Email Marketing

I don’t think we’ll ever find the perfect email marketing service for our newsletters, but MailerLite gets pretty close. Their email editor is very versatile and doesn’t cause make my blood boil. It’s also 3x cheaper than Mailchimp and their support responds in minutes.

$294/year
$294.00

Running Costs

Take a close look at the costs that go into running a web app and why we use specific services.

View the Costs

How It’s Made

Follow along with the journal for insight into the overall experience of building an app.

Read the Journal