Introducing TipList: The best way to build beautiful city guides

Today, I’m excited to announce my latest project: TipList.
TipList begins with a singular purpose: to replace the emails that you might send a friend visiting a city you know. You’ve probably written one of these emails before. A friend will ask you for tips in a city you’ve been to, and in return, you send a long email with notes on where to go, what to see, etc…
I wanted to build something to replace these emails. I’ve been thinking about this product for a long time. I started tinkering around with it over a year ago, but just felt that there were enough social travel startups trying to crack this nut. Over time, I realized that none of them are solving it the way I’d solve it.
So, the beauty of being a programmer and designer is that I get to build the thing I want and put it out in the world. That’s TipList.
You can see a collection of TipLists I’ve created here: http://tiplist.com/mulligan/


Onesheet is a finalist for a TechCrunch Crunchie
I’m honored to announce that the Onesheet community has voted us a finalist for “Best Bootstrapped Startup” for the TechCrunch Crunchies.
Thank you so much.
If you’d like to vote, click the link above, or click here.
Source: onesheetapp
Pleasant surprise to see The Next Web review PhotoPile last week.
PhotoPile gives you a well designed presence for your Instagram photos, and lets people discover everything you’ve filtered and shared using the app. Just authorize the app, and you’ll be presented with your own page that looks something like this: (via This Is What Your Instagram Profile Should Look Like)
Source: thenextweb.com
Instagram: Getting Nostalgic with Instagram

MorningPics lets you wake up to one of your Instagram images, including comments and likes, in your inbox daily. These carefully selected (okay, maybe it’s a bit more random) memories are a great way to start your day.
Source: instagram
Introducing MorningPics, delivering memories to your inbox daily.

A few weeks ago I released a small project I’ve been working on called PhotoPile. Essentially, it lets you browse photos from Instagram in a fun and interesting way. It was a fun project to build and the response has been amazing.
Yesterday, I released another Instagram-based project, called MorningPics. While PhotoPile was a very public project, allowing anyone to browse photos, MorningPics is more of a personal experience. It’s main purpose is to wake you up to a reminder of one of your past experiences.
Each day, the user gets a randomly selected photo that they took in the past, via a short, simple email message. The email contains likes, comments and info about the photo. That’s it.
The user experience should be:
- open email
- enjoy small reminder of a past moment
- delete email
Unlike other email, these messages don’t require anything of the user. They exist to make a past memory more fresh, and hopefully give the user a nice way to start the day. That’s the goal.
I hope you enjoy it. Please send feedback.
Tech: MorningPics is built in Django/Python using the Instagram API. It’s hosted on DjangoZoom. Email sent through SendGrid. Feedback tab fromGetSatisfaction.
Source: bmull.posterous.com
Introducing PhotoPile, a fun way to view Instagram Photos
For the past few months, I’ve been building a bunch of stuff using Django/Python. After getting back from South America last week, I decided that it was time to start launching some of it. These apps are all little, fun projects. Nothing crazy complex. Just applying some fun interaction and design to simple things. Today, I’m releasing PhotoPile.

PhotoPile is a fun little Instagram viewer. It creates virtual piles of photos from user feeds, hashtags, or locations on Instagram.
It’s not supposed to change the world. It’s just supposed to bring a smile. When you click on a photo, you can then click on hashtags, locations, and other usernames or user photos to see their pages.
Play around, let me know what you think.
Source: bmull.posterous.com
Learning Django - My first few weeks

I’ve been looking for a new programming language and framework to learn for months now. ArtistData is primarily straight PHP with some of the site built withCodeIgniter. While I like the framework, I wanted to move on from PHP to something new. The two options I spent most of my time looking at was Python/Django and Ruby/Rails. After playing around with Rails for a bit, I decided to try out Python/Django, which I ultimately chose.
Why Python/Django?
Why did I chose Python? For whatever reason, I liked it better. It made more sense to me right away and was easier to pick up. The point of this post isn’t to debate whether Python is better than Ruby or Django is better than Rails. It’s to give a quick summary of what resources I’ve used to pick up the basics relatively quickly, since several people have asked this.
Step 1: Python Overview
The first thing I did was to read most of How To Think Like a Computer Scientist - Python Edition. You can download the PDF here or view it on the web here. It’s a great primer and really hit the basics of the language (and programming languages in general). It gave me a good foundation to build on and didn’t take long to read.
Step 2: Official Django Documentation
After that I read the Django Overview and did the official tutorial on the Django site. While I felt it was really helpful, it was surprisingly incomplete, which the Django folks completely admit on their site in the Coming Soon section. However, it was helpful as a base learning exercise and it walks you through building a Polling app.
Step 3: Into book to building an app
Then, I read this a book called Django 1.0 Website Development. It essentially walked you though building a Digg like bookmark sharing app. It moved very quickly, and at times I wasn’t 100% sure what I was doing, but in the end it gave me a very good overview of the process from start to finish of a simple web app. The author admits that there is still much to learn, and gives some teasers in the end for other skills to go master. Overall, I enjoyed the experience.
Step 4: Build something on my own
At this point I decided to see what I could build on my own. Instead of trying to come up with my own idea, I thought it’d be useful to just take an idea that was already out there and copy it. I chose to do this so this exercise would be more clear cut and I wouldn’t be held back with major feature decisions. So I took a day and spent it replicating threewords.me screen for screen. This is a very very basic web app, but that was a good place to start. It took me about 6-8 hours, but I was able to re-build about 90% of the functionality of threewords.me.
Step 5: Read more
After this experience, I wanted to dig deeper into Django, so I ordered The Definitive Guide to Django: Web Development Done Right, written by some of the main contributors of the Django project. It’s updated for Django 1.1 and is written more like a resource book. It digs deeper into really whats going on behind the scenes and includes a lot more examples and features than the previous book. However, you don’t really build anything. It doesn’t walk you thorough building a specific app the way the first book does, so I found it really useful as an explanation of the framework, but was really glad I read the other book first.
Step 6: Build more
Now, I’m working on building a couple more exercise projects and one original one. I’m running into a TON of questions and mistakes, but that’s how you learn. My experience so far has been great with both Django and Python and I’m excited to keep exploring the language. Feel free to ping me with questions.
Apologies for any spelling / grammer errors. I wrote this quickly to answer a question I got early this morning.
Source: bmull.posterous.com

