James Thomas is a Web developer and designer. He has more than a decade of experience building and maintaining digital content for news organizations.

Don't let James' stoic expression fool you ... he's passionate about effective storytelling, handsome design and clean code.

People seem to dig my expressive ability.

It's all been fun ... the journalism, the programming, the graphic design. But it's also been meaningful.

My goal is to keep that balance of meaningful, challenging and fun work throughout my career.

About James

I'm a tinkerer who loves the creative freedom technology enables. I like my hands dirty.

James has been making digital content for 14 years and working in newsrooms for even longer.

Photo by Amber Hunt

For 14 years, I've built and managed digital content in a career path that began as a newsroom apprentice at the Detroit Free Press and traced the stark border between journalism and technology.

My LinkedIn profile and resume give a glimpse of this odd, interesting space: ("Here, edit this election story. ... Now turn this Illustrator file into code. ... Now parse this XML feed.")

I've increasingly spent more time on the tech side, and I'd like to focus my career on it.

I've got a solid understanding of Web standards and the core principles of object-oriented programming. Lately I've been learning some compiled languages and practicing mobile development.

But I started as a writer and still love the written word. I strive for a well-turned phrase, and news that's accurate, engaging and incisive. Much of my Freep.com work has been making concise Web text read well.

My career has mostly been in large news organizations, working on tight deadlines in a collaborative environment. I've cherished having great co-workers. It's a trend I know will continue.

Examples of James' work

Alternate text goes here.

Christ Child House

design / markup / scripting

I designed and coded this Emmy-winning presentation about boys in foster care while I was at the Detroit Free Press. My editors got detailed Illustrator mock-ups for approval, then I took all the .ai files to Photoshop for layer work and cutting. I hand-coded all pages using XHTML, CSS and JavaScript, then my editor Pat and I turned them into SaxoTech templates.

Unfortunately, these templates were overwritten with Freep.com's redesign in January. Right now, the Wayback Machine has the only live instance of this package as it originally appeared.

Alternate text goes here.

Spubble Lite


As part of a 48-hour hackathon at the University of Michigan, I created most of the interface elements and several icons for this mobile app conceived by Jake Steinerman to help autistic kids learn and communicate. I created everything in Illustrator, then brought the vectors to Photoshop for resizing, cutting and layer work. I worked with the coding team side-by-side and virtually in a shared repository.

That weekend, I got to work with Wacom's draw-directly-on-the-screen-Cintiq display. Very cool. Thanks, U-M, and thanks to Dan Fessahazion for letting us crash in Design Lab One.

Alternate text goes here.


design / markup / scripting

This portfolio site for Detroit Free Press reporter Naomi R. Patton uses Typekit to serve fonts to browsers that support the @font-face declaration. It also uses the jQuery lightbox library, which inspired me to write my own lightbox functions for this site.

Alternate text goes here.

SE Michigan's presidential votes

design / markup / scripting

This is a huge stats table that uses my easing animation script for easier viewing.

It was to be a project for the Detroit Free Press Web site during the 2008 presidential election, but was shelved when we needed to shift gears to accommodate an even bigger election package from Gannett, our parent company. It was never completed, and this is just a model to show off the functionality.

I ended up using an improved version of this easing script in the Christ Child House project later that year.

Click on the red buttons below the table to bring tallies into view.

Alternate text goes here.

My GitHub repositories

miscellaneous code

Here's where I store my code, and where you can peek under the hood of much of my stuff.

Get in touch with James