Building Branch

The behind the scenes stories of building Branch

Page 2


Minimal viable onboarding

The past few weeks have been pretty busy. I’ve started to onboard the very first users to Branch and seen a lot of feedback explicitly and implicitly coming in. On top of that, a WordPress update partly broke WP Pusher, my other product, which took some time away from Branch development last week.

In addition to that I’ve moved out of my flat, put everything into storage and started preparing for a 2 month trip to the US.

What did the Maker do

Even though it’s been pretty stressful, having real users try the app is the fun part. I’ve let in a tight group of users (~20) and has tried to be as responsive as possible fixing and adding features based on feedback. I keep thinking I might have started this process a little bit too soon, but then again the feedback has been invaluable. This is where the learning really begins to happen. The 1 thing I have realized is that I have the absolute...

Continue reading →


Making it a no brainer

TL;DR

Last week I sent out a screencast showing the current state of Branch and announced the kick off of the beta. The beta is going to include a free trial with 100 free builds to try out Branch. Spots will be limited in the beginning, so ping me if you want one.

Learnings

I learned some very valuable lessons on marketing this past week. It seems so obvious now and I feel a bit stupid for making these mistakes… Probably a good idea to share what I learned!

First of all, after sending out the screencast and mentioning the beta, here’s some of the feedback I got on Twitter and via email:

Screen Shot 2019-02-08 at 15.00.11.png

Screen Shot 2019-02-08 at 15.00.25.png

Screen Shot 2019-02-08 at 15.01.06.png

Screen Shot 2019-02-08 at 15.03.49.png

Screen Shot 2019-02-08 at 15.03.28.png

This made me very excited, but also a little bit too confident.

Some context: At this point I have on-boarded a very small group of people that have paid $99 to join the beta. The $99 is an intentional barrier of entry, intended to filter the most “serious” users. People will be able to...

Continue reading →


📺 Screencast: Branch beta kick off

In the past few weeks I’ve been deep in the trenches trying to be as ready as possible for my scheduled on-boarding calls this past week. Branch is slowly starting to look like a real product, but there’s definitely still a long way to go. However I’m super optimistic after showing it to the first few customers and seeing their reactions. Yesterday I recorded a new screencast showing where the product is at now.

TL;DR 👉 📺 WATCH THE NEW SCREENCAST HERE


What did the Maker do?

It’s been a few weeks since I wrote the last update, since I had to prioritize my time and just work on the product. Since my last update I’ve made a lot of small improvements to the CI part of Branch (the build part). When I on-boarded the first customer we realized that Branch was building his theme 3-4 times faster than his current setup which is super exciting to me. I haven’t worried too much about speed...

Continue reading →


Paying customers

This week is the last week of my Christmas break here in Denmark. I’m pretty excited about going home tomorrow and get back into my routine.

What did the Maker do

Last week I talked about how I had discovered Google Cloud Build and how much time it was going to save me. This week I began to wire Google Cloud Build into the app and it’s now able to run (hard coded) builds. This is a nice milestone because it’s the proof of concept proving that this approach will work nicely. The Google Cloud API was a test of my patience, but I’ve now started to figure out how it works.

I also finally got around to adding the logo to the manifesto website.

What did the Manager do?

Most excitingly, this week I began charging the people that’ll be part of the early beta. I want to start out with a really tight group as mentioned before, and then I can always invite more people onboard later on...

Continue reading →


Simplify

The past two weeks has been busy with Christmas and family time. My girlfriend and I went home to Denmark for Christmas and New Year and have been busy spending a lot of time with family and friends. However, in between all the food and social events I’ve still managed to move the product forward a bit. Yesterday a stupid accident meant going to the ER to get my finger glued together and it’s really inconvenient when trying to type on a keyboard! For the next week I’ll be coding with 9 fingers and I’m going to feel like a super human once I get the bandage off. I guess I should have started this post with “Dear Diary” 😉.

What did the Maker do

The thing that has been worrying me the most is the build server. It’s the backbone of the product and has to be really good. I’ve already gone through something like 2-3 iterations of it - the latest one was pretty much done by my friend...

Continue reading →


Branding + first beta customer

I missed my Sunday update deadline this week, but better late than never. This week I’ve been focused on building product and talking to customers.

The new logo:
Screen Shot 2018-12-14 at 17.15.48.png


The app is slowly beginning to look like a real product:
Screen Shot 2018-12-15 at 15.37.07.png


What did the Maker do?

I wrote a lot of code last week which felt really great. It’s been hard for me to get a lot of product work done while having calls. It’s just too distracting for me and prevents me from really getting into “flow”. I started designing the app as well. I decided to use a template as the base, just to save some time. You can see how it’s starting to look in the beginning of this post.

I also started playing around with a 3rd prototype of the build server. This one is using an existing cloud provider to run the build and will be much more expensive. However it might be a way to have a stable build server in a much shorter time frame. It may...

Continue reading →


Back home

Like last week, this week was a bit disrupted by travels. However I still feel like I’ve made some solid progress and pulled the trigger on a few important issues. I finally made it back to Glasgow and I’m looking forward to a couple of productive weeks before heading home to Denmark for Christmas.

What did the maker do

Most importantly I continued working on the frontend facing app. This required a lot of UI thinking. I’m not bringing in a UI designer at this point, so I’m just trying to keep things as simple as possible with Bootstrap and a few utility CSS classes. As I mentioned last week, the UI needs to be extremely intuitive if WordPress developers are to adopt Branch into their workflows. It’s basically a part of my mission to make CI/CD more accessible to WordPress developers.

As I’m spending my time on the frontend, it’s super nice to have my buddy Christian, whom I...

Continue reading →


Maker time

The past week hasn’t been my most productive week. I was on vacation with the family in Spain and only clocked a few hours of work every day. As introduced last week I’m splitting these status updates into Maker and Manager time.

What did the maker do

I’ve had a lot of calls and conversations in the past few weeks and it has been super helpful and a great learning experience. However I’ve realized that it’s time for me to carve out a lot of Maker time in the coming weeks before Christmas. Branch is not a simple product and there is a lot of work to be done.

This week has been awesome on the Maker front. As mentioned I was on vacation and didn’t work as much as normal. However I got started on the frontend part of the app, which is technically the easy part. One thing that is obvious to me after talking to potential customers, though, is that the interface is super important...

Continue reading →


The first few weeks

I want to try to report weekly on my progress while building Branch. I like Paul Graham’s definitions of Maker’s Schedule vs. Manager’s Schedule and I will try to split these updates into two parts; one for each.

What did the maker do

The version of Branch I showed in the screencast was mostly thought of as a prototype. The approach was pretty straightforward in terms of running the build steps. A Python script was waiting for new build jobs to come in and would then loop over each step and spin up a Docker container. This works, but it’s not the most ideal and scalable approach necessarily. Most of my “maker time” have been spent thinking about how to approach this in a simple, yet scalable manner.

My first stop was trying not to build this. I thought about ways I could “outsource” this part of the service and use something like AWS CodeBuild or an open source tool such as Drone...

Continue reading →