Geek Talk: Interview with Developer Stephen Lewis

Related Snipcart project: Iconic Interiors

In this featured developer entry, we’re chatting with Stephen Lewis. He integrated Snipcart on the Iconic Interiors website, where they sell modern design furniture. The company is run by Mark Holdsworth and Lizette Metcalfe, who are both passionate about well-crafted pieces of furniture. You can learn more about Iconic Interiors here, and shop for their awesome, high-end furniture here.

Developer profile: Stephen Lewis, founder/developer at Experience


Full name: Stephen Lewis

Favorite programming stack: LEMP

Favorite programmer: Jeffrey Way, of Laracasts fame, mostly because he’s exceptionally good at teaching this stuff. And of course there’s Uncle Bob.

Favorite superhero: Sorry, I haven’t got one. Geek fail.

Favorite quote: “I took a speed reading course, and read War and Peace in 20 minutes. It involves Russia.” — Woody Allen

Favorite book: This is much like my favourite film, in that it changes from day-to-day. Today I’ll go for Animal Farm, by George Orwell.

Favorite CMS: Craft. They’re doing great things, and making some very smart decisions.

Years of experience: 16. I’m pretty sure I was supposed to have retired long ago.

Interview with Stephen: Story, e-commerce, front-end dev & Snipcart

Tell us a little bit about yourself first!

My name is Stephen Lewis, and I’m the founder, fearless leader, and general dogsbody of Experience, a web development consultancy.

I began my web career back in the late 90s, when font tags were the height of sophistication, and Flash seemed like the solution rather than the problem. Long before then, I was programming in BASIC, Pascal, FORTRAN, and several other languages which have utterly failed to withstand the test of time.

Perhaps because of this history of obsolescence, I have a curious affinity for PHP. It's not young or hip, isn't particularly pretty, and never gets invited to the cool parties, but somehow it gets the job done. Those may also be reasons for my aforementioned feelings of empathy.

When not wrangling PHP, I dabble in JavaScript, and the occasional bit of Python, although I still don’t trust significant whitespace. In times of weakness, I have been known to turn chairs upside-down to see how they're made, a sad and disturbing legacy of my Furniture Design degree (which has been about as much use as FORTRAN).

People familiar with the matter have informed me that I blog too little, and Tweet too much.

As a developer, what do you think of the current state of e-commerce? For instance, have you had any experiences with other e-commerce solutions?

I’ve done a lot of e-commerce work over the years, and it’s easier now than it’s ever been. That’s not to say there aren’t still painful APIs or clunky systems out there, but they’re on borrowed time. Authorize.Net is still lumbering along (I did a custom Laravel project using the Auth.Net API a couple of months back), but given the choice most developers are going to prefer something like Stripe.

For more traditional web sites Snipcart makes the process even easier. CMS users spend a lot of time discussing (or fretting about) the quality of e-commerce add-ons, and whilst I can understand the appeal of a deeply-integrated solution, I really like the way Snipcart decouples the cart and checkout from the underlying system. With Snipcart I can achieve in a day what would have taken a week 8 or 9 years ago. Plus it’s one less thing to worry about when setting up the site, moving servers, etc., etc.

What do you think of frameworks such as Bootstrap or Foundation? Do you use them, or prefer to build everything on your own?

I use Foundation, although sometimes it’s overkill for my needs. I’ve been trying out Bourbon and Neat from Thoughtbot recently, and they seem a bit less overbearing.

I don’t see much point in rolling your own CSS framework. In my experience, very few potential customers use “View Source” when making a buying decision. As such, I’m better off delivering something of value to my clients, rather than frittering away hours hand-rolling my own artisanal grid-system based on a set of arbitrary (and probably fleeting) personal preferences.

Can you tell I’ve been doing this for 16 years?

Why did you choose Snipcart for your e-commerce project?

The Iconic Interiors website is pretty old (about 8 years), and running on ExpressionEngine 1. We’ve discussed updating the site, but it’s much more of a medium-term goal, and we needed an alternative e-commerce solution urgently.

Snipcart stood out as the simplest option, and indeed that proved to be the case.

What alternatives did you compare it to?

Due to the legacy nature of the CMS, off-the-shelf solutions were non-existent. This left me with the option of building an ExpressionEngine 1 e-commerce add-on from scratch (no thanks), or finding a pre-existing solution which was still capable of integrating with the site.

At that stage, Snipcart became pretty much the only game in town.

Did you use our API to integrate with other systems? If so, which ones?

I built a very simple “shipping charges calculator” application, which has a single API endpoint. Snipcart makes a call to that endpoint when calculating the shipping charges during checkout.

On the front-end side of things, how’d you find Snipcart’s cart customization?

Pretty good. Customizing the general appearance of the cart could be a little cleaner, in terms of CSS specificity and the like. Adding an additional content-managed notice to the cart involved a little bit of trickery, but the Snipcart documentation and knowledge base got me most of the way there.

How much time did it take you to complete your Snipcart integration?

About 10 hours, start to finish. That included customizing the appearance of basket, adding the aforementioned content-managed notice to the basket, and building the custom shipping calculator API.

Did you rely much on our documentation?


What could we improve to make Snipcart an even better e-commerce solution for developers (or just for you)?

I have to say, I’m already pretty impressed. If I had to compile a personal wishlist, it would be:

  • A slightly more extensive API, which would allow clients to manage customers, orders, discounts, and so forth from the comfort of their own system (the Craft control panel, for example).
  • The ability to programmatically configure a Snipcart account. At present it’s a lot of clicking around, and it’s pretty easy to overlook a setting.
  • Easier customization of the cart and checkout process, in terms of the appearance and adding custom HTML (that’s a minor quibble, really).


I’d like to thank Stephen for taking some of his time to chat a bit with us. It really is a blessing to get to know the devs who are actively using our product. We hope you found Stephen’s story, thoughts and insights as entertaining/interesting as we did. If so, go ahead and share the interview on Twitter. We’ll be back with another featured Snipcart developer in a few weeks tops. In the meantime, feel free to shoot some questions, feedback or thoughts in the comments for Stephen (or us)!

You can follow Stephen on Twitter, and his development company Experience too.

Suggested posts: