- Expert in Flash, Flex and AIR
- Over 15 years of web development experience
- Solid foundation in OOP, frameworks and design patterns
- Proficient in building custom components and modules
- Proficient in integrating open source components and code libraries
- Experienced in PHP/MySQL and Client/Server integration
- Strong understanding of Flash Player memory management
- Strong grasp of UI, usability, and user experience
- Experienced with LAMP toolset and source control systems
- Proficient in PhotoShop, Illustrator, Quicktime
- Additional experience with BlazeDS and Flash Remoting
Technical Skills
Professional Skills
- Self-motivated and dedicated to highest quality of execution
- Open to being challenged by Creative Directors, Clients and other team members
- Passionate about Flash development and interactive design
- Excellent verbal and written communication skills
- Ability to perform code reviews and manage development teams
- Team leadership and cross-functional collaboration experience
- Value knowledge sharing and can actively mentor team members
Partial Client List
- American Express
- Coldwell Banker
- Universal / Island / DefJam Records
- IBM
- Lightbox Networks
- MGM Studios
- RE/MAX
- Sun
- Xilinx
- SkyComp
Representative Project: Live Media Desk
Client: Lightbox Network
Role: Lead Flex Developer
Technologies:
- Flex
- PHP
- MySQL
- AMFPHP
- BlazeDS
- ImageMagick
Need:
Lightbox Network is an industry leader for professional digital photography workflow, with clients such as NBC Universal, New York Daily News, MillerCoors, Getty Images, Hallmark Channel, Time, and Nickelodeon. They needed a web-based application to allow professional photographers and editors to collaborate remotely.
Summary:
The Live Media Desk application (see overview video) enables real-time collaboration of photo shoots between photographers and editors. As photographers upload images, they become immediately available to editors working remotely to filter, adjust, rank, edit metadata, and forward images. With Live Media Desk, images can go from a photographer’s camera at an event to the desk of an editor, then published to a public web site within minutes.
I was the lead Flex architect and developer for this multi-year project, The biggest challenge was to make the web-based program perform like a desktop application.
To accomplish this, I designed and implemented the following strategies:
- Image and data caching to minimize server round trips
- Priority-based request queuing to manage all HTTP/HTTPS calls, including images and AMFPHP function calls
- Heuristic-based image preloading to anticipate user needs and produce a seamless user experience
- Real-time image filtering in the Flash run-time to match server-side image filtering done with ImageMagick
- Breaking the application into modules with run-time configuration and dependency management
- Real-time updating system using custom messaging delivered through BlazeDS connecting to PHP through STOMP, JMS and ActiveMQ
Representative Project: Sky Counter

Client: Skycomp
Role: Developer
Technologies: Flash, Zinc, JSON
Need:
Skycomp wanted to replace the need to print out 1000′s of traffic survey pictures so that “counters” could scan through the pictures and count vehicles, marking each picture with a grease pencil.
Deliverable
Sky Counter loads the images in a viewer area with marking tools to replace the grease pencil. Different types of vehicles can be marked with different symbols. The view area positions images end to end to present a filmstrip style display. All annotations are stored in a file that can be emailed back to Skycomp, enabling them to outsource the counting effort.
In building this application, I implemented the following techniques:
- File system access for loading folders of images
- Image caching for performance
- Custom zooming and panning algorithms to allow seamless functioning at a variety of zoom levels
- Annotation storage through a custom data format which allowed employees to email their tags for review and editing by supervisors
Representative Project: QPrint E-Photobook

Client: Quarterhouse Software
Role: FlexDeveloper
Technologies: Flex, Mate
Need:
Quarterhouse Software is a successful provider of custom software for the printing profession. They wanted to expand their existing offerings to include a web-based book creation tool.
Summary
For this project, I worked with an in-house designer and to create a new book design tool featuring a Flex-based GUI connecting to a .Net back end, using the following strategies:
- Mate open-source inversion-of-control framework library
- Custom Flex components and item renderers
- XML-serialization of value object classes
- Image caching
Representative Project: Envelope, Please

Client: Page International Screenwriting Awards
Roles: Developer
Technology: Flash
Summary:
Every year this international screenwriting contest awards a $25,000 Grand Prize, plus Gold, Silver, and Bronze Prizes in each of ten genre categories. The producers wanted to make the announcement process special, so I created a Flash-based award animation for them. The day of the announcements, the contestants log on from around the world and learn if their entry is the winner.
Representative Project: Alien Animal Abduction
Client: Designo
Roles: Project Developer
Technology: Flash
Summary:
A boutique print and web design firm wanted a small Flash game to make their website stickier. I took the client’s existing logo, converted it into a space ship and allowed the user to play a fun game.
Representative Project: Divine Vacation

Client: Healing Rhythms
Roles: Project Manager, Developer
Technology: Flash, Director
Summary:
Interfacing with specialized biofeedback hardware, I built an application that pops-up at selected intervals and guides the user through a relaxation exercise using custom hardware. The project features a Flash application wrapped in a Director executable.
Representative Project: VXA vs DLT
Client: Exabyte
Roles: Project Manager, Developer
Technology: Flash
Summary:
An interactive demo showing the benefits of VXA tape technology.
Representative Project: Beat Mixing Lab

Client: Universal/Island/DefJam
Role: Developer
Technology: Director/Shockwave
Summary:
Universal/Island/DefJam wanted an online audio mixer to allow users to create their own custom remixes of DefJam releases and save them on DefJam’s site. I created the DefJam Beat Mixing Lab.
Representative Project: Mario Game

Client: IBM
Role: Developer
Technology: Director
Summary:
As part of a tie-in campaign with Nintendo, IBM wanted to entice prospective customers to their matching web site. Working as part of a team with Think New Ideas, I programmed an online game featuring Nintendo’s Mario character.
Representative Project: Triv-Tac-Toe Game

Client: Sun’s Learning Network
Role: Developer
Technology: Flash
Summary:
Working closely with an in-house designer, I programmed a playful educational game. Because of the number of Flash 4 (and even Flash 3) plug-ins installed in Sun’s employee’s computers at the time, I coded all the ActionScript to work with these legacy plug-ins
Representative Project: Chitty Chitty Bang Bang Game

Client: MGM Studios
Role: Developer
Technology: Director/Shockwave
Summary:
I worked with the Integer Group on this original game created for the 20th anniversary of the movie. In addition to doing all the coding, I consulted on the design and structure of the game.


