Inspiration

I started off working with small business owners to write procedures in 2014. I was running a web based software company and the goal was to get more leads for software development by helping them systemise. After a few years of trying different approaches, I couldn't figure out why I wasn't able to produce the same results in my clients' businesses, as I had been able to in my own. In November 2016, a frustrated client called me and I asked him to jump on Skype (remember Skype?) and share his screen with me. As soon as he started talking me through his situation I could see his problem. His email was chaos!

I had read Getting Things Done in 2007 and my inbox had been empty ever since -- I had just forgotten that it was even something I had to learn. I had just assumed that everyone else had a good way to manage their email but I couldn't have been more wrong.

That night, I created the first version of what would later become BenkoBoard: a Zapier integration that put Gmail threads into Trello cards. I deployed it for that one client and the difference was immediate. I took the same approach out to my other clients with similar success, and that was the beginning of the journey to build an email client that worked from Trello!

What it does

BenkoBoard turns each email into a card. All attachments are imported and stored automatically in Google Drive. You can reply directly from the Trello card comments by typing "@reply". You can also create new emails, forward existing ones, send attachments, cc and bcc people (all connected via Google Contacts). Because BenkoBoard runs as a "bot" user the person's Trello account, you can use it from any device (ie. it's not written as a power up). This is critical because when it comes to email, nothing is more important than being able to deal with things on the go from any device!

BenkoBoard also improves on Trello's native cards view by adding a linked copy of any card you're added to throughout Trello into your inbox.

It improves on notifications by automatically unwatching any card you're added to, so that you're only notified (by default) when you are added to or removed from a card/board or mentioned in a comment. This makes Trello much more useful as a core internal communication tool and obviates the need for things like Slack or other project management tools

It also improves notifications by giving you a linked copy of every comment you're mentioned in, in your inbox. This means you can reprioritise replying to each and every comment, and/or treat each comment like a task rather than having to keep track of things as either "read" or "unread" in the notifications section.

How I built it

The earliest version was just a Zapier integration from Gmail to Trello. This gave me the validation that getting my clients' emails into Trello was the key to operational success. It then grew into a Google Apps Script as I worked with clients to perfect our workflows, and later I rewrote it as a standalone PHP web application that connects Gmail to Trello. The interaction with Trello is all done using my open source Trellinator framework to work with Trello's REST API and handle notification webhooks via a beanstalkd queue, and the Gmail, Google Drive and Google Contacts integration is done via PHP using the Google REST API. It's hosted on Google Cloud Platform running Linux.

Challenges I ran into

The biggest challenge has always been setting people up! The first version was a Zapier automation linking Gmail to Trello. Getting that set up required having clients login to my Zapier account via screenshare to connect their Gmail accounts. Later, when I rewrote it as a Google Apps Script, I had to copy a spreadsheet and go through a process to publish the script as a web app while logged in as that user, also done via screensharing, so setup took approx 30 minutes. In October 2019, I got a client who wanted me to deploy BenkoBoard for 40 staff and I knew I couldn't go through setting them all up individually, so I redeveloped it as a Google Sheets add-on, this went really well until disaster struck! A crippling (and as yet STILL unresolved) bug in Google's platform meant that BenkoBoard would simply die and not recover. I tried desperately to make it work, since I had already deployed it for staff in this new company, but it turned into a total train wreck. Ultimately they stopped using it. Once I realised Google were never going to fix the problem, I rewrote BenkoBoard as a standalone PHP web application over the Christmas break 2019/2020. This required redeveloping all the Google Apps Script API calls to run over the Google REST API, including authentication with Google's OAuth system, as well as adapting Trellinator code to respond to notifications from a web server rather than from Google Apps Script.

It worked great! I got it written and was off to the races until ... DISASTER STRUCK AGAIN! When I went to submit the app for verification so people could sign in using their Google account without a big ugly "This app is unverified" warning, I had to go through lots of painstaking details to get my documentation and privacy policy online looking correct, then Google replied and said that since I was posting restricted scope data to a 3rd party server (Trello) I had to undertake an external security review from one of three gigantic global security companies.

The cheapest quote I could get for this was A$24,000 which I totally didn't have, so I went out to all my existing customers and told them I was moving to a new server and that, if they wanted to get in on this new version they would need to pay a yearly license fee, but that they could buy lifetime access if they prepaid now for 4 years up front.

Enough of them agreed that I was able to raise $14,000 and I negotiated with the security company to allow me to make that initial payment to get the letter of assessment for Google, then pay the remaining $10,000 in 5 monthly installments. They agreed, and after another 3 months of verification and testing, Google finally verified the app just last Friday June 26, 2020!

As soon as it was verified, I was able to put together real "self-service" sign up/on-boarding and publish the new product page at:

http://www.benkoboard.com/

with a "free 14 day trial" button, people can now just sign up and use it just like "Real Software(TM)". Note that although BenkoBoard does predate the hackathon submission period, it's release as a "self service" SaaS product that people can just sign up to and use is a significant change that has occurred during the submission period.

Now I just have to convince enough people to sign up so I can afford to pay the $2,000/month that I owe the security company :S

Accomplishments that I'm proud of

I'm really proud that I was able not only rewrite BenkoBoard nights and weekends over Christmas/NYE, but that I was then able to raise enough money through pre-sales to pay the verification costs, and also that I was able to have my app verified by a professional security company as being strong and robust enough to allow such privileged access to people's Gmail accounts.

What I learned

Developing BenkoBoard in response to real world customer demand has been a huge journey. I've learned that people will forgive you for all sorts of bumps and bruises along the way as long as you're solving a serious problem for them. I've learned that email is, by default, the system in every business that sits around all other systems and that, unless you replace that, getting effective organisational change is very difficult. Of all the products on the market, Trello is the only product capable of doing that.

What's next for BenkoBoard

Now that BenkoBoard is truly "self-service" my new challenge is improving the design and on-boarding process. Up until now my sales process has been very high touch and I have been setting people up and training them to use BenkoBoard via Zoom, largely as an initial step in a service delivery model. The big change now is that BenkoBoard is at the tip of the sales funnel, and that any services I offer will extend upwards from that, so I need to make BenkoBoard compelling and easy to sign up and use without my having to sell and train each and every person that does so.

I have uploaded a demo video to YouTube, but there is a more comprehensive one that shows my personal board, not for public display:

https://iain.wistia.com/medias/57o5jcvlji

Built With

Share this project:

Updates