About this project

ArtPiles was a website for artists and patrons of the arts. Online from 2006–2008, the site became extremely popular; it hosted nearly 60,000 pieces of art and about 20,000 daily active users. I closed the site after two years running due to the expensive operating cost of hosting such a large community at that time.

In a time when Internet Explorer controlled 85% of the browser market, ArtPiles used server-side polyfills to allow for rounded corners, drop shadows, and more complex layouts. AJAX was used to simplify the user experience with a mass-upload tool, infinite scrolling, inline comments, and auto-updating actions. ArtPiles was also the first art community to offer a robust API, crowd-funded features, and widgets to share art.

PHP, MySQL, Javascript, JSON, jQuery, XHTML, CSS, XML, XSLT, AS3, Amazon EC2

Watch 2:00 UX Reel

My Role

As the founder of ArtPiles, I was responsible for everything. I did all backend coding, design, branding, front-end coding, site architecture, system administration, and community management. To help prioritize features and bugs, I created a crowd-sourced tool that let users vote with micro-payments (powered by Amazon). As the community grew, I created an flagging system that let users self-moderate the community.

ArtPiles was a very fun technical challenge. I wrote an image processing algorithm that quickly analyzed the colour pallet of uploaded art, a naive bayesian classifier that offered intelligent recommendations for related art, and several apps that used the API.

Brand Development

A Brand of Animals

ArtPiles was a huge collection of art, artists, and their fans. I used a collection of animals to create a logo and brand that encompassed that diversity and community. The animal sprites showed up throughout the site, as loading animations, in helper text, and in marketing emails.

ArtPiles Website

An interface for art

The ArtPiles' website was designed for wanderlust; to encourage users to explore and get lost looking at art and inspire artists to create more work. To do this, I made galleries auto-load the next page as users scrolled, prompted related works, and used animations to make navigation more interesting and fun.

Artists engagement was tied heavily to feedback from other users of the website. More comments, favourites, and general interaction meant more art from artists. I encouraged engagement with a inbox-style message centre, which aggregated activity on art and became the second most-viewed page on the website.

The website is designed to be fluid, resizing for most desktop resolutions. These are some of my favorite layouts.

Restful API

The Art Piles Interface

I created a RESTful API to let developers create tools using ArtPiles' data. The API offered data streams in JSON, XML, and PHP array without authentication. Data streams that offered private information or required write/delete privileges used a proprietary version of OAUTH 1.0 to handle authentication.

Documentation was displayed using a special XSLT style sheet that would format XML documents.

Here are some of the apps I made using ArtPiles' API:

Tag Attack

Multiplayer Game for ArtPiles

ArtPiles organized content using tags. Artists could specify tags when uploading and when commenting on a piece of art, people could add their own tags.

Using the ArtPiles API, I created a flash game where people would compete to correctly categorize a random selection of art. Tags that matched between players would be automatically added to the work at the end of a game. Gameifying the tedious process of tagging greatly improved the folksonomy of ArtPiles.

Special Interfaces and Details

Improving UX for artists and their fans through design

ArtPiles had two core users: creators and curators. Creators (the artists) needed special tools to make hosting and managing their work as easy as possible, while Curators (the fans) needed tools that made consuming work as easy as possible.

Mass Upload

Many artists joined the site with a large portfolio of existing work. Instead of uploading each piece individually, I built a mass-upload tool that let artists drag-and-drop up to 100 files at a time for processing.

Inline Filtering

Beautiful art is subjective, so I built a simple filter tool that let users hover over a thumbnail and hide art by any user. Users could filter tags, users, favourites, and even image meta data.

Collecting Art

Catering to the connoisseur users, art could be easily collected into Piles by using a bloom menu with a drag-and-drop interface.

User Menus

Many actions required viewing a user's profile—watching, blocking, sending mail, viewing the gallery—so I added an inline menu for users that appeared on hover over a user icon.

Handling Hot Linkers

To deter folks from using ArtPiles as a free image host, I wrote a simple script that checked referred information for loaded images. Hotlinkers would get a cropped thumbnail with a short URL to view the requested image properly.


ArtPiles supported visual and written works, but displaying text in a thumbnail didn't do lengthy prose justice. I created a dynamic thumbnail that displayed the first part of a document and let users see more on hover.

Colour Indexing

ArtPiles used user-generated tags to organize content, but also generated some auto tags based on image metadata, dimensions, and even colour pallet. I wrote a fast algorithm using ImageMagick to quickly process colour pallets.

CDN Design

ArtPiles used ten subdomains to speed up delivery of thumbnails and assets. The CDN used animal sounds sub-domains as an easter egg for the loading bar.