Julie Ng

I Shipped Something

15 September 2014

In May 2014, I had the idea to build a small app from prototype to launch in 6-8 weeks, while simultaneously consulting as usual. The app I had been working one was too large and I needed a small success to keep me going.

The idea

Antwort Email Signature Generator

Although I dabble in many things, my unique proposition has always been Email design and development. Occassionally I helped designer and developer friends with email signatures. Why not save some time and make a generator?

Lesson learned here: my project is larger than inititally thought. Sinatra is great, but I’m much faster and more comfortable in Rails.

Payment - why I missed my deadline

What really cost me 4+ weeks was implementing payment. Integrating Stripe was super easy, from sign up to frontend to backend.

The difficult part was purchase form UI, which was complicated by the fact that my target audience would be global so USD would be ideal. But I needed to collect VAT from EU businesses and I figured that would be easier in EUR.

Antwort billing UI, more complicated than thought

Currenies and VAT are complicated

Toggling currencies and VAT means keeping track of various pricing

I need to validate VAT IDs and the Bundeszentralamt für Steuern API is terrible

VAT exemptions for Germany is not allowed

Force EUR and disable currency toggle for EU countries

Allow non-EU countries any currency

Lessons learned

Map out all use cases from the beginning

Start with Jasmine tests from the beginning to check internal pricing and UI.

Coupons

I also learned later that Stripe does not have coupon functionality for one time charges, which makes sense since I tell Stripe how much to charge a user.

This meant I had to build this functionality from scratch so I could give my friends a discount.

Other things I forgot

When estimating time and cost of project I also did not take into account: