I'm Brett, a web developer & designer.

I develop and deploy backend applications to manage content.

drupal cms, php, mysql, ruby on rails

I build frontend interfaces to display content.

actionscript, javascript, jquery, extjs, xhtml, css

I design appealing websites.

graphics, typography, animation, advertising
  • Custom Media Player

    This is a custom Flash-based media player for Sorted.org.nz.
    Built using Actionscript 3, the player loads dynamic XML documents and creates a playlist of either SWF or FLV files to stream to the user.

    View Link
  • Quit Group banner ads

    Banner ads for Quit Group NZ including a Flash based calculator and a simple gif campaign.

    View
  • ASB flash banner ads

    An interactive banner ad based on the retro game 'spacies' and an animated banner for ASB bank's online ad campaigns.

    View
  • Sorted Spendometer

    An interactive game / application for Sorted.org.nz.

    This was built using Actionscript 3, and communicates with the HTML page using AJAX creating a seamless experience for the user.

    View Link
  • GameFreaks blog design

    A modern and stylish design for the minimalist blog of GameFreaks, an NZ gaming magazine.

    View
  • Leakdroid Logo Design

    A custom vector logo based on Google's vector android mascot.

    View
  • Flash map for Auckland Regional Council

    A custom Flash map fed by xml to display a region map for the Auckland Regional Council website.

    View Link
  • System Era store design

    A slick design for an e-store selling custom mademedia center PCs.

    View

Latest blog

Rails 3 ActionMailer Gotcha

Yesterday I had a rather strange error involving ActionMailer.

On BeerEvents.me, we have a contact form which sends an email to our staff via ActionMailer.
The form would send a hash to the controller, containing the keys :name, :email, :subject & :body. I was then setting these as instance variables to be rendered by the template.

The code in my mailer method looked like this:

@name = params[:email][:name]
@body = params[:email][:body]

mail( :to => STAFF_CONTACT, :subject => params[:email][:subject] )

The problem was, the @body instance variable didn't seem to be getting passed into my HAML template.

The solution, after much head scratching, was simply to change the instance variable name to something that wasn't already a method of the mailer class

So the instance variables @body, @subject, @to, @reply_to etc. need to be completely avoided.