The Portfolio of Derek Brooks

PHP

I spent a solid 13 years writing PHP web applications, but have moved away from it after being introduced to Ruby on Rails, Python, and modern Javascript. People always discounted PHP for being a scripting language, but I always argued that using object oriented principles, a good programmer can easily make a beautiful PHP application. PHP was still powerful, fast, well documented, and had a great support community.

Here are 29 projects that I've worked on tagged PHP.

derek.broox.com

Screenshot of derek.broox.com
derek.broox.com is my general home page, online scrapbook, and development playground. Its primary purpose is to catalog my life and allow me to play with various APIs and web development technologies. It serves up thousands of photos, check-ins, microblogs, blogs, maps, videos, and various other data from my life. Since 2001, it has been a constantly evolving web application.

v8 - latest version

This is the first version of my site that I completely rebuilt in a new language and platform. I moved the entire site from a containerized LAMP stack to a server-side-rendered (SSR) Nuxt.js application that relies completely on the Broox API to power its content. I chose Nuxt and SSR in order to keep my SEO and open graph / social sharing meta tags intact while still providing a speedy, asynchronous client-side browsing experience.

Simple Auto Service

Screenshot of Simple Auto Service
In the early 2000s, I often found myself at a mechanic or auto-parts store needing to know the last time I performed a certain service on my vehicles. So I whipped up a tiny web-app to help track and display this information. A decade later I became bored while traveling, so I decided to clean up the old app and publish the code. It's a super simple PHP/MySQL CRUD application based off of an ORM and Model framework that I built after learning Rails in 2008. The app itself barely has any features but I published the code publicly to show some friends my simple PHP framework. Today, I'd just use a damned google docs spreadsheet to track this stuff.

Artworks

Screenshot of Artworks
Artworks was a web application that allowed Obama supporters to vote on items in a contest. It was primarily used for promotional poster competitions. This app was built in PHP using the Kohana PHP framework. I worked on some of the core functionality of this application as well as built the basic CMS. I also integrated it with Facebook's Open Graph API to allow users to login to vote as well as publish custom open graph actions to their timeline. Unfortunately we launched this before Facebook's custom actions had publicly launched, so we didn't get to use that portion of the app.

VocalFi

Screenshot of VocalFi
VocalFi was a telecommunication service that offered web-based conference services. Much of the application was built by young contractors using the Cake PHP MVC framework. I was later hired as a short-term contractor to make the application cacheable via MemCache. This entailed a lot of code abstraction and heavy cleanup to reduce the incredible amount of code duplication. Once that was done, we were able to easily add meaningful caching.

Des Moines Alive

Screenshot of Des Moines Alive
Des Moines Alive is a personal project that my friend Nick Leeper and I built to help Des Moines Area folks find awesome local bars and restaurants. In addition to general merchant info, we provided users with aggregated data such as reviews, foursquare tips, merchant tweets, etc. We designed Des Moines Alive to be very lite and easy to navigate. The goal was to provide our visitors with the information they wanted as quickly as possible.

v2 - latest version

Nick and I decided to use this version of Des Moines Alive to learn new things, play with APIs, and switch our focus to local businesses. We built our own custom PHP MVC, with ideas borrowed from our experiences with Rails and Kohana. We redesigned our database to be more efficient. We also began using many more APIs such as SimpleGeo, Google Maps, Facebook, Foursquare, and Twitter to aggregate data and give our users more information.

Dipity

Screenshot of Dipity
In short, Dipity was an interactive digital timeline web application with a hint of social networking. We built an incredible web-based tool that allowed users to create, share, embed and collaborate on interactive timelines that integrated video, audio, images, text, social media, geolocation and of course, accurate timestamps. Timeline viewers could pan around and zoom into these timelines for a very nice, visually engaging experience. Being that it was all built in vanilla javascript, it even worked, and was incredibly responsive, on mobile devices, ipads, etc.

v3 - latest version

Building Dipity 3 is the main reason I was hired. Version 2 was a couple years old. The design was dated, its timeline widget was built on the YUI library, and was generally inefficient. Dipity 3's goal was to update the look, improve the widget's efficiency, support HTML5 guidelines, function on mobile devices, and provide several new features. I built the front-end from the ground up, added several new features in both the front and back end (including Facebook connect, better registration process, etc), and worked closely with our other part-time engineer on the completely rewritten javascript timeline widget. I spent a lot of time making sure that the new Dipity timeline widget worked on mobile devices such as androids, iPhones, and iPads.

Smithson Woodworks

Screenshot of Smithson Woodworks
Smithson Woodworks is a side project that was run by my cousin-in-law, Jon Smithson. One year we decided to trade, he'd build me a component rack for my entertainment center, and I'd help him get his stuff online. Jon sent me a logo and some photos of his work, I helped him by setting up a Wordpress site that integrated with a Flickr account. Jon simply uploaded photos and created albums on Flickr and those would become automatically mirrored to the portfolio on SmithsonWoodworks.com.

Mary McAdams

Screenshot of Mary McAdams
Mary McAdams is a Des Moines area folk artist who was becoming super well known in the area. Mary hired my friend Mindy Hoskin as her designer - and Mindy approached me to bring her designs to life. Having a small web budget and not a lot of time, I used this opportunity to brush up my WordPress skills. I was able to build Mindy's designs out into a WordPress template and still keep a lot of the custom functionality that Mary wanted. Along with her blog, Mary also wanted a lot of multimedia - photos, video, a music player, show times, downloads, etc. For photos, I was able to customize one of the many WordPress Flickr plugins to work with Mindy's design. Show times and the Music player were powered by Mary's ReverbNation account. To make show times work, I hooked her ReverbNation calendar RSS feed to FeedBurner BuzzBoost and embedded the generated BuzzBoost into her blog accordingly. Combined with Mary's active social networking, I think we were successful in getting all of her info in front of an audience in an elegant way.

Des Moines Broomball

Screenshot of Des Moines Broomball
I am a broomball player. Broomball is a sport similar to hockey but a bit more recreational. Once my Broomball league caught wind of me being a well-connected, tech savvy guy, they nominated me to be the Marketing Director. As marketing director my main purpose was to help promote the league - and what better way to do that than to build a fancy website. Not having hardly any time to devote to this project, I decided to try out a product that I'd heard a bit about, called Drupal. The Drupal Content Management System was a pretty great little app. I literally had a community site up and running within an hour. The Drupal community had written so many modules, that I didn't have to write a single line of code to get the site off the ground. After installing a handful of modules, a bit of layout tweaking, and modifying a tiny bit of PHP, we had a completely functional site. I even got the help of designer Kathryn Downing to whip up that logo in a matter of about 25 minutes. I wouldn't use Drupal for everything, but it was definitely an excellent solution for this project. The site helped the league gain players and teams for our regional tournaments.

iTunes Web Remote

Screenshot of iTunes Web Remote
In 2008, I bought a couple Airport Express modules to create an iTunes controlled whole-house-stereo. It was awesome until a terrible song would come on and I'd have to run upstairs to skip to a better tune. Apple quickly became aware of this problem and released an iTunes remote for iOS. However, at the time I didn't have any iOS devices and I couldn't justify spending a few hundred dollars for an ipod touch/iphone music remote. As such, I decided to build a remote of my own. Using PHP and AppleScript to communicate to iTunes, I was able to whip up a super light web-based remote that ran on my Mac. With "LAMP" running locally, I could visit the IP of my Mac from any device on my internal network and navigate my songs. At the time, I used this to switch songs via my blackberry, sidekick, a PSP, or even our Nintendo Wii. It was great for parties!

Five Point Studios

Screenshot of Five Point Studios
Five point studios was a professional piercing and custom tattoo shop in Johnston, IA. I was hired to revamp their severely outdated website and built them a custom content management so the shop could manage any page as well as manage staff members and portfolios. I incorporated one of the shop's tattoo sketches into the design along with a fancy font that they requested. As with any website, if the visitors don't have that font installed, they won't see your fancy text. So, using PHP's GD library, I wrote functionality to dynamically load their font and create fancy title images on the fly. The site was much more successful in allowing Five Point to showcase the incredible work that consistently came out of their shop.

Aeon Grey

Screenshot of Aeon Grey
I built this site for Aeon Grey, a Des Moines hip hop artist, to promote both himself and his 5th solo album: Primate Curriculum. Aeon Grey wanted a very lite site that would include a forum and also allow him to publish photos, videos, and mp3s. The site's news was integrated with the forum to allow Aeon to display important updates on both, the forum and the home page. I worked graphic designer, Mindy Hoskin, for the graphic elements, which are taken primarily from the album art that she designed. I also did some of Aeon Grey's photography and videography.

Truespin Media

Screenshot of Truespin Media
Truespin Media was a small partnership that my friend, Nick Leeper, and I started up to work on side-gigs. We originally planned on offering several services including: video production, photography, graphic design, and web development. However, we focused primarily on the development and design pieces.

v2 - latest version

After realizing that we were mainly focusing on web development and not the other services we offered, we decided to redesign our website. This version of our site was much lighter and contained only information relevant to development. With this release we also drastically updated our outdated portfolio. with all of the work we were doing, we didn't have enough time to update our own site!

Rebels Advocate

Screenshot of Rebels Advocate
Rebels Advocate was a Midwest Hip Hop group that got together in Iowa City. With their gaining popularity they decided they needed a strong web presence to show the world what they were all about. Rebels Advocate was referred to my partnership needing both a website and a music video. With a very limited budget, we had to cut a lot of corners, but the results of both the video and the website turned on great. The site allowed visitors to check out their bios, video, photos, and most importantly, their music. We also installed a community driven forum to keep visitors coming back to the site and gave them analytics to track the site's traffic.

Iowa Business Alliance

Screenshot of Iowa Business Alliance
Iowa Business Alliance came to my partnership with a design in place, but they needed help bringing their vision to life. We built them a useful, dynamic website with a custom content management system that they could use to attract potential clients.

Iowa Retail Federation

Screenshot of Iowa Retail Federation
Iowa Retail Federation came to my partnership wanting to refresh their current site. The content on their site was sufficient, but they wanted a way to manage it easily and efficiently. We worked with them to provide a website with a custom content management system to meet their current and future needs.

Soft Focus Art

Screenshot of Soft Focus Art
Soft Focus Art was a local Hip Hop and DJ group who came to my partnership with a limited budget and hopes of a fairly complex, dynamic website. They wanted to be able to update their viewers with bios, media, news, and information about upcoming shows; but they also wanted to keep the design simple with crisp lines and have everything animated via Flash. We helped them out and provided a simple animated design with a PHP/MySQL content management system that delivered XML to the Flash module to display the dynamic content.

SAE Long Beach

Screenshot of SAE Long Beach
A friend of mine from the Long Beach chapter of Sigma Alpha Epsilon contacted me seeking some extensions to their current website. They wanted a content management system to allow for easy management of active members, alumni, alumni job postings, dues, a calendar of events, etc. My partner and I were able to provide them with a very user-friendly administration panel to manage all of this data. SAE also wanted a photo gallery and forum which we installed and fit 2 previously built systems for.

Trek For Kids

Screenshot of Trek For Kids
Trek For Kids was a fundraising bike ride for The Boys and Girls Club of Dane County. Their website provided information about the ride, allowed people register to ride, and also let people make pledges to the registered rider. A friend of mine contacted me to contract out the development for small section of this site. Shortly after, my partner and I were hired to design and program the rider registration, pledge donations, and full administration/reporting tools. This was our first time diving into accepting credit card payments, but we were able to get the registration and donation sections up and running on a secure server and used encryption in order to ensure protection for the visitors. The administration panel let Trek For Kids manage users, teams, donations, etc. It also provided full reporting to keep them up to date on number of registered riders, team rosters, and pledge standings.

Vedanta Gallery

Screenshot of Vedanta Gallery
Vedanta was an Art Gallery located in Chicago, IL. They approached my partnership seeking a PHP extension to their existing site, which listed past, current, and upcoming exhibition details along with photos related to each. As such, we designed and built a light content management system that allowed them to easily manage exhibitions and photos that would be displayed on their front end. Vedanta changed their name a while after this launch, but they continued to use the CMS that we built for quite some time.

Regulatory Solutions Inc

Screenshot of Regulatory Solutions Inc
Regulatory Solutions Inc. wanted to get an online presence established and approached me and my partner to help them get started. The goal of the site was to provide a large amount of regulatory information to their customers in a quick and digestible way. To accomplish this, we designed a simple, flexible content management system that allowed Regulatory Solutions to easily add and manage users, documents, and updates. The finished product enabled their customers to get the most up-to-date news to help with their regulatory decision making.

Solid Grind

Screenshot of Solid Grind
SolidGrind is a personal project that I developed as an extreme sports / soap shoes promotional and community website. It's the predecessor of my former Broox Extreme (www.broox.com) and BrooksFSW community sites. After I came up with the name and domain, I decided that rather than customizing a prebuilt system, I wanted to build this site from scratch. Developing the entire site myself was another great learning experience and paid off numerous times; I had full control and a great understanding of the system, so I could easily add on, fix bugs, and rebuild sections. One of the more fun parts of SolidGrind was the "feature pic" system. It allowed users to upload photos to be reviewed by the administrators that I'd hired. The uploaded photos were queued in a database and could be viewed/approved by administrators. Upon approval, the website would automatically size/scale the image, add a SolidGrind.com watermark to it, create a thumbnail, store it in the database, and feature the picture on the homepage until a new photo was chosen. In addition, I designed it so that each picture had to be featured for at least 24 hours; this gave everyone a fair amount of time on our front page. Besides photos, the site featured news, forums, tutorials, videos, and several other things related to extreme sports.

v2 - latest version

In 2006, I re-released Solid Grind to get away from publishing broader extreme sports content and focus on the grind shoe scene. There were so many other extreme sports sites with a full staff dedicated to maintaining them, but no one had this thorough of a website dedicated to the grind shoe scene. I worked with Nicole Sutherland on the design of this version, which turned out great for the content being delivered. The new version of the site was much more complete, the code was much more efficient, and photo manipulation was handled much better. With the initial version of SolidGrind I was very proud of the photo management system - this system was much cleaner and much more versatile in that most image manipulation was handled on the fly.

Wireless Wallpapers

Screenshot of Wireless Wallpapers
Wireless Wallpapers was a personal project of mine. It was a site that allowed users to download wallpapers for their early 2000s color screened mobile phones. At the time there were several sites offering this service however nearly all of them only supported one type of phone or charged money for each wallpaper downloaded (usually $1.00 per wallpaper). Wireless Wallpapers allowed users to download unlimited wallpapers for free, which were available for several types of phones. The free wallpapers had a tiny "wirelesswallpapers" watermarks near the bottom of the image, however if the user paid a small fee each month, they could get more features (such as private wallpapers) and the watermark was removed. In addition to this, I added functionality to allow users to upload their own images to the website which gave me the ability to let the site run itself. The website automatically resized the uploaded user images to fit various mobile screen sizes and printed my watermark to the image. The site was a huge success and learning experience. The first day it was online it received 7,000 hits and had nearly 100 users. After the first week there were nearly 50,000 hits and 500 users. Upon selling the site, I had over 24,000 users and received over 3,200,000 hits.

James H. Laas Company

Screenshot of James H. Laas Company
I developed this site for the James Laas Company out of Bettendorf, Iowa. At the time, it was one of the largest, most complex, and complete systems that I'd built. Prior to my development, they made all of their updates by updating static HTML files - a content management system was very much needed. They had a huge amount of content and product information that became quite redundant in the way that they were displaying it. I designed a more aesthetically pleasing site powered by a PHP/MySQL back-end. With the new design, I concentrated mostly on the ease of navigation and finding vital information quickly, which was successfully attained. Their site became completely free of managing and uploading static files and was updateable via the CMS that I created. The database proved to be very useful as the James Laas company wrote several articles per month. This site was also the home of the first site wide search engines that I'd built. Jhlaas.com was a huge success and a great learning experience.

Lujack Intranet

Screenshot of Lujack Intranet
I held an internship at Lujack's Northpark Auto Plaza for the month of September 2002. During this month one of my projects was to build an intranet system to allow administrators to post news and happenings within the plaza. The site uses a PHP/MySQL back-end to submit news, and also to display uploaded articles. Since the people who will be administering the site don't know much about web design, I made this site as simple and fool proof as possible. They used the intranet system for quite some time and it proved to be very helpful for relaying information throughout the plaza.

The Simple Truth @ Cornell College

This is one of the many sites I built while on the Cornell College student webteam. It is probably my favorite due to the tight deadline and how well everything worked out. First of all, I had a 4-day deadline on this project. Cornell introduced a new marketing scheme to give students information about the college, which was titled "The Simple Truth." The college had hundreds of pamphlets printed out, which they would send to everyone who visited truth.cornellcollege.edu. On top of that we even had an advertisement going into U.S. News, which had a link to the site I was supposed to build (hence the short deadline). The site was only to be 1 page long, had to open in a static sized window, and needed to have a PHP based form to collect data and insert information into a database. On top of all of that, they wanted flash animation for the header. The screenshot pictured is simply of the flash animation.

Spanish Flashcards

Screenshot of Spanish Flashcards
I made this web application for a computer science class at Cornell. One of the projects suggested by our syllabus was a flashcard program written in the language of our choice. I chose PHP/MySQL in a heartbeat. The program allowed users to choose whether they wanted to test their vocabulary from English to Spanish or from Spanish to English. I wrote functionality that retrieves a random word from the database every time they choose a new card. Once a card is selected it is cached and marked as 'viewed'. This would make sure the program goes through every card before it repeats one of the previous ones. It was also designed so the user could choose which type of words they wanted to learn. They could select from adjectives, nouns, verbs, or all at once.

Broox Extreme

Screenshot of Broox Extreme
Broox Extreme was the former version of SolidGrind.com. It was an extreme sports website that included 6 categories: bmx, inline, scooter, skateboard, snowboard, and soap shoes. Each section had the latest news and information along with user submitted photos and videos. I hired several authors who specialized in at least one category of the site to help me keep everyone informed of what's going on. Almost a year after the site was released (October 2001), broox.com received over 700,000 hits and had nearly 700 registered users. Upon closing, the site was just shy of 1 million hits. YM (Your Magazine) found this site and contacted me in order to feature me and some of my "Soaping Buddies." They flew out from New York to do a day long photoshoot of us sliding on handrails, and we were all featured in the April, 2002 of YM magazine!

BrooksFSW

Screenshot of BrooksFSW
BrooksFSW was a site dedicated to Soap Shoes, a company that makes shoes capable of sliding across objects such as handrails, benches, etc. The activity of "soaping" is very similar to grinding with inline skates or skateboards. I did promotional work for Soap Shoes for several years and this site was a huge part of that. BrooksFSW was a portal site using PHP Nuke to develop a community for "Soapers." It kept users informed on the latest news and happenings with the company. It also kept everyone involved in friendly competition with photos, polls, forums, and videos. This was the first site I ran that used an extensive PHP and MySQL back-end and was an excellent learning experience for me. My mentor, Harper Reed, helped tremendously with the initial setup and training. It was released in September 2000 and integrated into Broox Extreme in October 2001. During that year it received nearly 620,000 hits and had 800 registered users. The site also had 441 news articles published and over 6,000 comments on those articles. BrooksFSW received some great recognition from large medias such as the British Broadcasting Corporation, The Mount Vernon Sun, The Rock Island Dispatch, and the Cedar Rapids Gazette. Disclaimer: After the BrooksFSW.com domain was released from my posession, another company purchased it. It has been known to display various lewd content. I have no affiliation with the current owner of the website.