SOURCE CODE FOR GITIGNORE.IO / JOE BLAU

Gitignore.io: Building An Open Source Project

Seven Days From Concept To Release

Joe Blau
4 min readMay 24, 2013

--

One thing I like to do when I start a software project is git init. Even if I never publish the project anywhere, managing it though version control makes it much easier for me to try new features during development. One of the challenges with setting up a repository is that you have to ignore certain files created by the Operating System, IDE and programming language itself. While on a snowboarding trip at Mammoth Lakes in California, I had the idea to create a simple command line tool that would let me programmatically generate my .gitignore files.

Day 1 - Research

Sat. Feb 9, 2013

I sent an email to this amazing designer named Jason Long, who is the man behind the design of the git-scm logo. It was a shot in the dark asking Jason if had time to design a logo for the project since he designed the git-scm logo.

While waiting for a response, I spent the day trying to figure out how to curl a URL with a variable. I wanted something like this:

$ alias gi=”curl http://localhost:3000/api/$1”

But that code doesn’t work so I asked my hardcore Linux friends for alternatives.

Another thing I had to look into was web hosting. I chose Node.js for the platform so for hosting options, I looked at Heroku, Nodejitsu, and Azure.

Day 2 - Development And Design Begin

Sun. Feb 10, 2013

I figured out how to pass a variable into the curl command using a function. I also started working on the website user interface and the first version wasn’t pretty.

gitignore.io - v0.0.1

Jason also sent me an email letting me know that He’s in.

Day 3 & 4 - Coding

Mon. Feb 11, 2013 - Tue. Feb 12, 2013

I spent two days working with the Select2 library as well as adding code to render .gitignore templates. I cloned the initial batch of templates from GitHub’s official repository. I also started writing some documentation for the command line version of the site.

gitignore.io -v0.0.2

Day 5 - Here It Is

Wed. Feb 13, 2013

gitignore.io - v0.0.3

Here is what I created and sent to Jason for a design review. I’ll run though the features I added.

  1. Background photo that my friend Samir took Tuesday night. I wanted to give the site a bit of a computer programmer theme similar to the New Relic site
  2. Instructions on how to setup a gi command so you can generate .gitignore files in the Terminal
  3. Footer with links to the source code, my contact info, and an about section explaining the purpose of the site
  4. Font used by the git-scm website called Adelle

All in all, I think it looks pretty good. I’m still waiting on the final logo design from Jason.

Day 6 - Working With A Designer

Thu. Feb 14, 2013

Just got two amazing emails from Jason with comments on the design outlined in some bullet points

In the first email:

- I’d definitely kill the background photo. It doesn’t have anything to do with the tool.

- I’d make the content area much narrower so that the lines of text aren’t crazy long.

- The input field for the form could taller w/ a bigger font, but maybe 1/3 the current width. This is the most important part of the page.

And the logo

gitignore.io logo

In the second email:

This might be too far the other direction, but I think something as minimal as this would be awesome. Keep all that command line stuff hidden by default and then either reveal it when the link is clicked or (probably better yet) link to a separate page with the instructions.

And a redesigned mockup of the site

gitignore.io mockup

Day 7 - It’s Ready

Fri. Feb 15, 2013

gitignore.io

I got an inverted version of the logo and I made modifications to the design of the site then sent it back to Jason. I definitely think this looks a lot better! gitignore.io was almost ready for primetime. For hosting, I went with Nodejitsu because they have an awesome plan which gives you one free drone for open source projects. For monitoring I went with New Relic and then used ApacheBench to load test Nodejitsu and make sure it was ready to handle high network traffic.

Saturday morning, I released http://gitignore.io to Hacker News.

--

--