• : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /home1/nicklzco/public_html/v2/includes/file.inc on line 893.
  • strict warning: Non-static method view::load() should not be called statically in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/views/views.module on line 879.
  • strict warning: Declaration of content_handler_field::options() should be compatible with views_object::options() in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/cck/includes/views/handlers/content_handler_field.inc on line 208.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/views/handlers/views_handler_filter.inc on line 589.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/views/handlers/views_handler_filter.inc on line 589.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/views/plugins/views_plugin_style_default.inc on line 25.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/views/plugins/views_plugin_row.inc on line 135.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home1/nicklzco/public_html/v2/sites/all/modules/contrib/views/plugins/views_plugin_row.inc on line 135.

Kaiser Permanente - Thrive

http://thrive.kaiserpermanente.org/

This is a wordpress site with localization. My involvement was front end work, but I did not architect the site. It was built on an insanely fast timeline and finished successfully on time. This website is fully responsive.




Primrose Schools

http://www.primroseschools.com/

Drupal 7 website, I was brought on to do consultation and eventually maintenance. This website is actually one of the better sites I've had an opportunity to work with, clean code base and very little hacking.




NBCUniversal Careers

http://www.nbcunicareers.com/

Drupal 7 website for NBCU's career / job search wing. My involvement on this website was post launch as a tech lead for all new features and maintenance. The challenges of this website are mostly deployment based, as the system originally designed was vastly over engineered and flawed. Caching was also unfortunately taken to an extreme, causing a whole new layer of complexity that should have never existed to begin with. The search functionality leverages data from Brassring, and was written outside of Drupal. The code is manageable but lacked continuity with the rest of the site, which turned out to be a bit of a challenge during deployments.




Saints Row

http://saintsrow.com

This was a refit for the Saints Row 4 release, which involved content, design, and functionality updates. This is a Zend application, connecting to several different services (mostly ONESite for CMS / user functionality), and it is also localized. The challenges of this website was dealing with the ONESite CMS, and handling localization.

My involvement turned from being just the back end developer to primary developer for both front and back end. This was unfortunately unexpected, and I was left to finish key sections of the site - including the new Saints Row 4 Stats page which is heavily front end related. I was also tasked with cleaning up all remaining bugs from the SR3 release, so this project turned out to be quite the endeavor.




Dole.com (Peel the Love)

http://dole.com/peelthelove

Peel the Love was a marketing campaign for Dole.com, and essentially existed as a landing page within the Sitecore CMS based website. The page was two separate pages: Desktop and mobile. The mobile page was a separate experience, and was optimized for handheld devices. I built both pages in their entirety and did not design the page.




FX Networks

http://fxnetworks.com

FX Networks is a Zend Framework application utilizing modules for different 'shows'. Several third party APIs such as Pluck are incorporated in this website, and the majority of my work was maintenance bug fixes and porting over shows into the new Zend system.




Vizio

http://www.vizio.com

This is a Zend Framework + Magento installation. The website is unfortunately split into the two separate file systems instead of running everything off one installation of Magento. My tasks included updates, product launches, custom CMS functionality and bug fixes, as well as research into replacing the custom CMS with Centurion.




Aruba

http://aruba.com

The entry on this site is going to be a little longer than usual...

This was a full redesign, and re platforming. The original Aruba.com was essentially a bunch of separate language websites glued together, that was not only a mess but a nightmare for content / SEO. The idea of the redesign was to pull everything under one roof, while also dramatically upgrading the look and feel of the website. This was my first very large scale multilingual sites, and it was one heck of a challenge.

Some of the features:

#1 Everything is translated.. everything. Path's, text, images, search results, login workflow. Translating the paths was the greatest challenge, since a few sections have a variable path length and certain blocks / content needed to be associated with these levels. The solution was a "global" taxonomy, which linked the content together.
#2 Maps. Using Google Maps new 3.0 API, the regular ugly google UI was replaced with a stylized custom interface. Custom pins, colors, buttons, everything. Aruba Partners (hotels and whatnot) are displayed in the maps, divided by category (which obviously needed to be translated as well) The result is a pretty unique map tool, which I haven't really seen done before.. especially with translations.
#3 Apache SOLR search integration with autocomplete. Why build a CMS unless it had awesome search capabilities?
#4 Performance. This site was built to scale, Varnish, Memcache, CDN (Amazon CloudFront) and custom Drupal caching strategies.

Some of the challenges:

#1 Content entry. Content was a big struggle, since a great deal of 'space' was added in the redesign to fill up. Images, copy, and translations of each became unfortunately an afterthought and definitely slowed the launch date.
#2 Third parties. Although I built the vast majority of the site (front and back end), certain features such as login and tracking / analytics were done by third parties. Most of whom had never integrated with Drupal. While building the site, I also had to educate several people on the inner workings of Drupal to get all the wheels spinning in the same direction.
#3 Language barriers. Unfortunately, I only speak English and this was not the primary language of any of the parties involved.
#4 Theming. Lets just put it this way, the compiled (from SASS) style.css is 9k lines long. This is one of the most visually appealing websites I've ever done (the design team did an amazing job) and it took quite a lot of work to theme everything. Having everything being "both a video and an image" was especially tricky, since the theme had to account for different media.

Content Types:

Ambassadors (Machine name: ambassadors): Ambassadors are listed under Aruba Vacations -> Ambassador Overview (Happy Returners) and hold 'persona' type profile information.
Articles (Machine name: articles): Articles are listed under Our Island -> News and exist for informing users of news and updates.
Editorial (Machine name: editorial): Editorial is a bucket content type that encompasses Deals & Offers, Your Perfect Vacation, History and Culture. Selecting Global Page Type will differentiate these types.
Fact (Machine name: fact): Facts generally go in the Content Lower region, and show a quick image / link to a section or website
Gallery (Machine name: gallery_image): Gallery Images are displayed in the Tool Bar, and create basic image displays.
Highlights (Machine name: highlights): Highlights are very similar to Promotions, but exist only on the front page. There is a Nodequeue associated with this block.
Organizations (Machine name: organizations): Organizations are much like partners, yet hold their own separate taxonomy and live under The Island section
Page (Machine name: page): Pages provide the listing pages for the second path items. This is mostly a placeholder content type, but it does allow users to enter in Hero images which are common throughout the theme.
Partners (Machine name: partners): Partners, otherwise known as Vendors, are the primary content type of the website. These nodes are location based, so they will appear in the various maps throughout the website when a proper Latitude / Longitude is generated or supplied. Partners can also be found under Things to Do / Where to Stay. Basic Organic Group functionality has been added to this content type for future use.
Promotions (Machine name: promotions): Promotions provide the content in many of the various blocks throughout the website. Several Nodequeues exist for exact ordering, but in general the Global Page Type taxonomy is vital to the placement of Promotions.
Section (Machine name: section): Sections provide the landing pages for the first path items. This is mostly a placeholder content type, but it could be used later for additional functionality.
Video Testimonials (Machine name: video_testimonials): Video Testimonials are part of the Ambassador Overview Page (Happy Returners) which is under Aruba Vacations

Custom Modules / Theme:

aruba_ambassadors - This module is mostly to preprocess the ambassador content type's node template, and to provide a small amount of JavaScript for the various front end UX interactions on these pages. It also creates a block to be used for the ambassador listing sliders on the now named Happy Returners page.
aruba_booking - This module creates the "jackrabbit" or booking widget on the main menu, and provides all JavaScript functionality for this interaction. The code was modeled from the existing booking widget on www.aruba.com, and was reverse engineered without API documentation.
aruba_dashboard - This module was initially created to build custom/simplified content entry dashboards, but we decided to use stock Drupal node forms. In the future it should be used for that work, if it is decided custom functionality should exist (specifically with partner login's). The module today makes small alterations on node forms, but nothing significant.
aruba_forum - This module was initially created to house all forum interactions / functionality. Currently it simply creates a block with the link to the forum.
aruba_gallery - This module handles the various image galleries throughout the site. There are 3 types of galleries: The Tools Gallery (full screen), Partners Gallery (Modal size) also with pager and Ambassador Gallery (Modal size). These galleries are quite flexible and re-useable since they all function off the same .gallery-trigger class, and field collection field. The Partner / Ambassador galleries also allow for Youtube / Vimeo video integration. The Sharethis functionality was built specifically the way it is represented, because we do not have landing pages for gallery images.
aruba_login - This module was initially created to act as a placeholder for login workflow / functionality before Login Radius was completed. Currently it only creates a login block and the loginradiuscustomsso module now handles the rest of the functionality.
aruba_misc - This module houses all functionality that was too small or brief to be its own module. I'll try and break down the parts:
• Aruba App Block + 2 Minute Video Config - path: admin/config/system/app, basically a few configurations outside of the node system to alter content
• Taxonomy Helper Functions - functions like aruba_misc_get_translated_path() help assist with Aruba's translated content and functionality. These are used throughout the custom module for various purposes
• Helper Functions - functions like aruba_misc_node_sibling_nid() which are just helper functions, or commonly used functions that are outside of any other library.
• Footer Region - Blocks and theme functions for footer region, mostly simple and content based
• Drupal preprocess and alters - Standard preprocesses and form alter type functions that were global and generic for the site
aruba_news - This module handles the news listing page and articles. Basically this is a custom version of a blog content type and view listing, but since the functionality required fell outside common views' functionality, it was done by hand.
aruba_newsletters - This module handles the newsletter signup forms on the footer and on the front page. The data is stored in a custom table for later use. The forms are fairly simple and straightforward, and have very little barrier to entry.
aruba_partners - This module handles the preprocessing for the Partners content type node template, custom theme functions for Partner based blocks, and favoriting functionality (essentially Flags) for user interactions with partners. This module also houses the Trip Advisor API functionality. The file aruba_misc_constants.config.inc houses several very important PHP constants.
aruba_romance - This module handles the "Romance" blocks for the 'header' region. The romance items are in fact Promo content types, in a Nodequeue surfaced by a view.
aruba_submenu - By far the most complicated module of the project, this module handles the secondary navigation throughout the site. Placed in the 'navigation' region, aruba_submenu_get_submenu() essentially figures out what 'menus' to place in the region. These 'menus' are not standard Drupal menus, rather a combination of a traditional menu and taxonomy filter links. A great deal of customization had to be created to ensure that all of these submenus translated properly and linked to the correct content. A few special last minute .htaccess changes were created (we converted the ?p= parameter to be a clean URL) for SEO purposes, and they have been deployed in the virtual.conf. aruba_submenu.config.inc houses several important PHP constants and mapping functions.
aruba_taxonomy_path_translate - This is basically a fix for path aliases being updated for taxonomy terms. Currently we do not utilize taxonomy pages for SEO (we only really link to the News keywords), but this is something I strongly suggest integrating in the future.
aruba_tools - This module handles the tool tip in the upper right hand of the screen that is constant on every page. These tools are: Search (Apache SOLR with autocomplete), Map (gmap 3.0 with partner_type taxonomy filters), Favorites (Flag module, favoriting Partners) and Gallery (aruba_gallery)
aruba_weather - This module adds the Weather / Time block on the front page. We are pulling from Yahoo (http://xml.weather.yahoo.com) because it seemed to be the best / cheapest solution. (It was actually difficult to find a good API for Aruba due to its remote location)
aruba_features - This feature handles ALL Drupal configurations done through the admin, such as content types, views, contexts and other various database changes. This module should ALWAYS be in the 'default' or reverted state.
aruba (theme) - This is the primary theme for the Aruba.com website. It was extended from the zen base theme, and has 15 regions. Blocks are primarily placed using the Context module, we do not use Panels or the blocks page. The CSS is rendered from SASS, which can be found in the sass folder. The SASS has been separated into various files depending on section / functionality but it eventually gets rendered into style.css at the end. script.js and gmap.js are important javascript files that house a great deal of UX functionality.




ShortList Film Festival

http://shortlistfilmfestival.com/

I configured this server from scratch (OS to DNS), and built the entire website in under 4 days. (Didn't do the design). This is a Drupal 7 site running off nginx, and allows users to watch and vote for films. This is the first website I've gotten to work on in a long while that was actually fast haha. Difficulties were like usual: extremely short time frame and searching for new modules to incorporate desired functionality.




Western Costume Company

http://westerncostume.com

This was a full redesign / development that was built in Drupal 7. The initial build took only 3 days, but additional features were added to extend the project out to 2 months. I was responsible for all development, server provisioning and installation. The tricky part with this build was (besides all the change-orders) working with 1and1 hosting. WCC's hosting plan was extremely out of date and 1and1 offered very limited shared hosting plans.




NU Ergonomics Inc.

http://www.nuergonomics.com

I completely forgot I built this website, I guess it was back in 2008. This was a full design / build including flash work. Technology is clearly dated, but for a 5 year old site it holds up.




Nina's Kitchen and Bath

http://ninakbh.com/

This website was originally built and designed by another developer, I am basically maintaining it and slowly converting it into proper html / css. The website is unfortunately 100% static, and quite a mess.. filled with tables and broken html. I have converted some of the pages to a table-less layout but its still a slow work in progress.




TheGrid

http://www.itsonthegrid.com/

Its On TheGrid is a wordpress / custom php + salesforce website that I did not build, but maintain. The 'front' end is WordPress running off AWS, and the 'backend' is a Salesforce application. My job is to essentially make changes to the WordPress CMS and keep the EC2 instance up and running. This website is a good example of poor planning/architecture as it leveraged far too many different technologies to achieve a very basic goal. The idea behind this website is fairly unique however, basically providing comprehensive 'power rankings' for all of Hollywood. There is even Ruby on Rails floating around in this architecture, handling syncing between superfluous databases, which can attribute ultimately to the slow nature of this site. This is one of those sites that I wish i had the time to rebuild, because the idea actually has promise.




Claude Memmi

http://memmiconsulting.com

Basic portfolio site done in 3 hours from start to finish. Drupal 7 because the client needed the ability to update content and expand.




TheWrap

http://www.thewrap.com

By far the most damaged code base I have ever worked with. In under 1 month after inheriting the website, as the TheWraps new technical director, I single-handedly rewrote several of the core modules, dramatically increasing the stability and performance of the website. As with many websites that are handed off from one contractor to another, without following any kind of coding standards, the website was truly a mess. The advertisement system was entirely hard coded, and non reusable. I developed a flexible and expandable advertisement system, and a sub module to integrate AdJuggler advertisements. I migrated the server infrastructure from one that was essentially nothing more than Apache / MySQL sitting on the same box without any caching systems, to a dedicated database server and a main server with reverse proxy caching (Varnish) and Memcache installed. In addition I set up the company's first deployment strategy that integrated Unfuddle (project management), GIT (version control), Jenkins (deployment software) and a dev / staging server.




TheGrill

http://thegrill.thewrap.com

Small static D6 website created to facilitate TheWrap's yearly leadership forum. My primary focus was re factoring it's scattered codebase, setting up a server infrastructure that would make sense and cut cost and ultimately updating / redesigning the website.




Employee Engagement

http://our.causecast.com

This website combines all of the functionality of Causecast into a single, sell-able platform. Essentially employees can log into this website (which is extensively manageable by HR managers of the company) and look up nonprofits to either volunteer or donate directly to. Their 'good' can be tracked by both different types of 'campaigns' and overall reporting statistics. The website has a robust dashboard that heavily relies on AJAX calls, so the user experience is very fluid and immediate. I worked on essentially every system of this website, and to date it is by far the most complex Drupal site I have ever come across.




Virgin Mobile - Freefest

http://www.virginmobilefreeip.com/

Virgin Mobile was a white label attempt at distributing Causecast's volunteer opportunities for various companies that wished to expand their endeavors in corporate social responsibly. The difficulty was remotely syncing the opportunity nodes, and building a event check-in system for volunteer participation.




Lima Lounge

http://limasaturdaynights.com

My first full Drupal 7 website, which I personally designed (logos, flyers, layout). Yet another 1 day build, especially interesting with the improved efficiency of D7.




Virgin Mobile - Canada

http://volunteer.virginmobile.ca/

Less robust than the US counter part, Virgin Mobile Canada still incorporated the remote node system that Causecast.org served content out from. This website to date has raised over 800 hours of community service, and was completed on time successfully.




UCR

http://ucr.edu

This flagship website for the University of California - Riverside is a website built on OmniUpdate, a proprietary CMS. The challenge to this website, is its adherence to 508 compliance standards, and overall browser compliance. Since it is a public school receiving federal funding, additional web development guidelines were put forth, to ensure usability and quality.




Studio Blue

http://studioblue.com

Studio Blue is a wedding photography website that incorporates Ubercart on a multi site installation of Drupal.




Sabel Studios

http://sabelstudio.com

Sabel Studios is a wedding photography website in conjunction with David's Bridal. It incorporates Ubercart on a multi site installation of Drupal.




SDYS

http://www.sdys.org/

San Diego Youth Symphony was a fairly straight forward website utilizing Drupal's content management system.




APQC

http://apqc.org

American Productivity & Quality Center (APQC) was a website built in Drupal that essentially distributes a vast library of business related content effectively. It had the requirement of being IE6 compliant, as several corporations mandated this on their network.




Salute to Service

http://salutetoservice.org/

Salute to Service was a website done using the All For Good API, and 960 grid system. It was created in a very short time frame, as it was to be released on veterans day (which was only a few weeks after the start of development). It was launched on time, and exists today as a tool for collecting support for veterans.




Causecast Store

http://store.causecast.org

This is the online donation store for Causecast.org. It uses ubercart to collect donations made to nonprofits. It was themed using the 960 grid system, and is powered by ubercart.




Causecast

http://causecast.org

This is the third version of the Causecast.org website, v2.0 and v3.0 I worked on personally. This version is unique due to its implementation of both nonprofit and corporate 'realms', which separate the functionality and experience based on the user's profession. It is essentially two complete different websites that combine into a seamless experience.




Download to Donate

http://downloadtodonate.org

This website was done for the Haiti Disaster Relief campaign, designed to raise money for those effected in Haiti. It utilizes text based donations, that unlock downloadable music from Soundcloud. As none of the music is hosted directly on the server, and instead on the cloud, it was an interesting challenge to pull, manage and display content.




NICKLZ.com v1.0

http://nicklz.com/index_v1.html

This was an experiment in design and flash, incorporating forms, menus, lists, and other basic html like functionality in a purely flash experience. I have always strove to keep myself well rounded, not only focusing on development skills, but also design abilities.




Calvin Groups

http://cg.nicklz.com

This website was done for a recruiting company called Calvin Group, located in Culver City. This was an interesting build because the requirements were done on a powerpoint slide show. I was left with the task of not only building the site under an extremely short time frame without any formal design / wireframe, but also making the site logically functional while staying true to the requirements.




Project M

http://m.nicklz.com

This website was designed for a performance auto parts start up that needed an online presence. The website was built using ubercart, and a custom theme that I wrote based off of 960gs. It was a VERY fast site build (less than a day), due to the requirement.




Achieve Internet

http://achieveinternet.com

This was a Drupal 5 to 6 port, and then custom theme job. There were a few design issues and changes that left the website in its current state. Overall a very good example of the benefits of having a dedicated designer on staff, and the issues that arise when companies outsource.