The Portfolio of Derek Brooks

Twitter API

I've gotten to use the Twitter API for a handful of professional projects, but I mostly use it for fetching my personal status updates and displaying them in various places. It's a very fun API.

Here are 6 projects that I've worked on tagged Twitter API.

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.

Broox Integration

Broox Integration is a containerized set of scheduled and manually run Python scripts that I use to manage the data that powers the Broox API. Its primary purpose is to sync data with various social networks (Flickr, Twitter, Foursquare), but I also use it for things like moving photo assets to cloud storage providers or running batch operations on my local data. All third party API response data that I fetch is cached in a Mongo DB and then manipulated to store only the relevant data in the MySQL DB that powers the Broox API.

Tweet your Rep

Screenshot of Tweet your Rep
Tweet Your Rep was a simple application that allowed supporters to easily post tweets to their state representatives based on current issues. It allowed Obama For America to create a promotional campaign, select the chambers and parties to target, and then add some pre-built tweets templates for supporters to use. I architected and built the API layer and basic CMS as well as integrated it with the Twitter and the Sunlight Labs Congress APIs.

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.

Valley West Mall

Screenshot of Valley West Mall
Valley West Mall is a long time Red Five client and was sort of a guinea pig to test out the latest version of our SiteMan CMS and the brand new javascript/HTML5 based SVG map UI that we'd built. Rebuilding the Valley West Mall site with our new technology was a great learning experience. We greatly improved our CMS, made things much more efficient and moved from Prototype to jQuery. Rendering maps with javascript rather than flash meant they could be viewed on mobile devices, iPads, etc. In addition to these great new features, Valley West requested to be integrated with their Twitter account. This allowed me to build a twitter plugin for the SiteMan CMS which would allow the mall to easily post tweets as well as monitor mentions and replies.

SiteMan

Screenshot of SiteMan
SiteMan is a Content Management System that we built at Red 5 Interactive. It was originally built so that mall property owners could manage each of their mall property's websites. However, once we realized how powerful our system was, we decided to generalize the app so that we could deploy it for all of our clients. We rebuilt SiteMan to allow our clients to easily manage a single website or a group of websites. This way, a parent company could edit any of their child company websites, while employees of the child companies would only be able to see and manage their respective site. The front-ends of the sites managed by SiteMan were also completely extracted from SiteMan itself, which was great for 2 reasons. First of all, it allowed us to more easily keep all of our clients' systems up-to-date in that we were just updating SiteMan and not touching their presentation layer. Secondly, it also allowed us to launch new campaigns and designs for clients very quickly without touching the content management system. When we deployed SiteMan for a client it came with a core group of tools like user management, web page editing, file management, audit logs, etc. From there, custom tools could be added as plugins. These tools included functionality like, announcements, events, careers, photo galleries, stores, social networking, etc. We also built SiteMan in a way that allowed users to customize their tool layout. Any user could pick which tools they used the most and arrange them in a way to get a quick snapshot of the exact data that they were interested in. Tools could be added, removed, or sorted at any time - and everything remained just as they left it on their next visit. This application was very Javascript heavy, making extensive use AJAX, dialog windows, and WYSIWYG editing. As such, we had minimal page loads which provided a very streamlined experience for our clients. I am very proud and excited to have worked with such a great team on this app. It was so versatile and simple to keep pushing forward.