Crunchbutton
The core platform of Crunchbutton, my on-demand food delivery startup: a PHP monolith on my own Cana framework (Stripe, Twilio, Mailgun, Redis, APNS, AWS) serving the customer site, the admin area and the Cockpit driver and logistics app. Around it: Cordova iOS and Android apps for Crunchbutton and Cockpit, a Node/socket.io event server and log server, an image thumbnail server, a MariaDB Galera cluster, dev database and cron containers, a gift card generator, landing and down pages, the Cluckbutton spinoff with its Flappy Bird clone, and side domains like youbeo.com and onebuttonwenzel.
- BPM
- 198
- GRADE
- B
- LEVEL
- 10
- RELEASES
- 6
- YEARS
- 2012–2021
- crunchbutton.com
- crunchbutton/crunchbutton
- crunchbutton/cluckbutton-web
- crunchbutton/thumbnail
- crunchbutton/crunchbutton-native
- crunchbutton/cluckbutton-flappy
- crunchbutton/cockpit-native
- crunchbutton/crunchbutton-event
- crunchbutton/onebuttonwenzel
- crunchbutton/mariadb
- crunchbutton/crunchbutton-log
- crunchbutton/cluckbutton-flappy-web
- crunchbutton/db-dev
- crunchbutton/crunchbutton-cron
- crunchbutton/crunchbutton-down
- crunchbutton/youbeo.com
- crunchbutton/launch.cockpit.la
- crunchbutton/crunchbutton-giftcard-generator
- crunchbutton/onebuttonwenzel.com
- crunchbutton/crunchbutton-landing
A Platform And A Chicken
The core platform started on June 21st 2012, and everything the company did for the next four years happened inside it or next to it. It was a PHP monolith on Cana, my own framework, wired up to Stripe, Twilio, Mailgun, Redis, APNS and AWS. One codebase served three things: the customer site, the admin area, and Cockpit, the driver and logistics app the whole company lived in.
Everything else grew around it. Cordova apps for both products on iOS and Android. A Node and socket.io pubsub event server so screens updated without anyone hitting refresh. A log server. A thumbnail image server. A MariaDB Galera cluster, a dev database container and a cron container. A gift card generator, a landing page and a down page. And Cluckbutton, our mascot, who got a Flappy Bird clone in Java and a web build, made just for fun.
The first tagged release was an Android live version in June 2014. Releases kept coming after I left, up to a Community Version 3.0.0 in April 2017 under an MIT license with a docker-compose setup. The code outlived the company, which I think is pretty cool.
Numbering The Monolith
On February 18th, 2017, four version tags went up on the Crunchbutton platform in one day: 1.1.7, 2.0.0, 3.0.17 and 4.0.0. They weren't four releases. I was finally putting labels on things that had been shipping continuously for four and a half years.
By then the platform was a PHP monolith on Cana, my own framework, wired to Stripe, Twilio, Mailgun, Redis, APNS and AWS, serving three things at once: the customer site, the admin area, and Cockpit, the driver and logistics app the whole company ran on. Around it were Cordova apps for iOS and Android, one pair for customers and one for drivers. A Node and socket.io pubsub event server. A log server. A thumbnail image server. A MariaDB Galera cluster. Dev database and cron containers. A gift card generator, started that same day. Landing pages and a down page.
I'd left day-to-day Crunchbutton a year earlier to help start Agency Enterprise, and I was still the one cutting tags.
Highest Number On The Board
The same day I tagged 1.1.7, 2.0.0 and 3.0.17, I tagged 4.0.0 too. Four versions in one afternoon, across a set of codebases that had never been versioned since June 2012. 4.0.0 was the highest of the batch and the closest to where the code was.
Then came v3.0.0, the Crunchbutton Community Version: the platform going out for other people to run. It had screenshots of the customer site and Cockpit, a Travis badge, docker-compose up and an install script, an MIT license, and a local setup.
By 2017 I was a year into the studio, and Crunchbutton was becoming something I packaged instead of ran. I kept working on it until August 2021, nine years after I started. A new landing page went up that April, and I was still tinkering with onebuttonwenzel.com in March.