About Me

Hi, I’m Tom - a JavaScript consultant based in Bristol, UK.

I’ve been designing, architecting and building web and mobile applications since 2006, primarily using JavaScript. I’ve worked for an early stage startup and an award-winning mobile agency, and for the past 6 years I’ve been running my own consultancy Studio Zeffa, where I provide app development and training services to a variety of different clients.

Read on to find out more about the services I offer, my portfolio and previous experience. You can also check out my GitHub profile and visit my LinkedIn page.

If you are interesting in hiring me to work on a web or mobile application, or would like to learn more about the training courses I run, why not get in touch?


Testimonials

Here are a sample of kind words from past and current clients: more testimonials can be found on my LinkedIn page.

It was a true pleasure working with Tom. Right from the first point of contact Tom quickly understood and applied himself to the needs of correlating my designs to the finished app. His attention to detail was exceptional, it was incredibly refreshing to work with someone who really cared and realised the importance of detail.

Ed George, Brand and Business Strategy Specialist at Postsaver Ltd

Tom is excellent! He teaches our students how to build mobile apps on our coding bootcamp, and has delivered high level, bespoke, technical workshops for our clients. He is extremely personable, professional, reliable and knowledgable and never fails to deliver outstanding work.

Tom is a fantastic full-stack JS developer. He is equally skilled in front-end and server-side work, and will work quickly and thoughtfully, whatever the task. Tom will offer constructive feedback on designs/plans where he has ideas or suggestions. Rather than simply implement blindly, he will think of the objectives and practicalities, and work to develop a solution. I don’t often come across developers like this.

Tom has worked with Natural Apptitude on a number of projects ranging from mobile app development to work on our backend services. During these contracts Tom has demonstrated a very high level of professionalism and impressed not only with excellent and broad technical skills, but also his soft-skills: fitting in quickly and working well with both colleagues and clients. Overall, Tom has been an excellent member of our team and we would not hesitate in recommending him to others.


Portfolio

Confinus

Confinus is a web-based marketplace for vendors, distributors and buyers in the food industry.

  • The product aims to modernise existing order workflows, which are primarily conducted over the telephone.
  • The initial MVP focusses on the meat and seafood sectors, connecting large distributors with local vendors such as restaurants, hotels and delicatessens.
  • I was brought in to re-architect the front-end of the site, which was initially built using a custom framework.
  • Since the backend is built with Rails, Stimulus was a natural choice, and I spent the first couple of months rebuilding existing functionality, using TypeScript and SASS alongside the Stimulus core.
  • Project was released in 2020, alongside a consumer-facing site Haute Grub.

Postsaver

A smartphone app to provide video instructions on how to install a Postsaver sleeve. Created for iPhone and Android.

  • I was contracted to build the apps from a set of supplied design files.
  • The app allows users to view ‘how-to’ video instructions on installing the Postsaver product, a protective sleeve for fence posts.
  • The app also includes an FAQ section and other illustrated guides, along with a link to call or email for support, to ensure that the user has everything they need to install the product.
  • All content is cached for offline use, a key business requirement as many users will be installing fence posts without an Internet connection on their device.
  • A sister app Polesaver was also created using a similar look and feel, with different content.
  • The apps were built using the React Native framework and deployed with the help of fastlane.

Háblame Bebé

A smartphone app to encourage parents to speak to their baby, and develop bilingualism. Created for iPhone and Android.

  • I was part of a team that designed and built the app from the ground up, for both iPhone and Android platforms.
  • Users can monitor their baby’s development by tracking words spoken for the first time, in both Spanish and English.
  • A range of baby milestones are included, indicating the expected stage of development for the baby.
  • Conversation starters are also available, to encourage a variety of different phrases that can be spoken to the baby.
  • The app is available in both English and Spanish, and was built using the React Native framework.

Blooms for Bees

A smartphone app to track bumblebee populations in the UK, for iPhone and Android.

  • A brand new app, designed and built from the ground up for both iPhone and Android platforms.
  • App users complete a 5 minute survey, taking pictures of bumblebees and categorising them with help from a bee guide.
  • Surveys are submitted to a central server, where researchers confirm the categorisation of the bees.
  • Prototype originally devised for client using wireframe screens to capture detailed requirements.
  • App was built using the Ionic Framework, with custom designs implemented from supplied Photoshop comps.
  • The BBC ran a story on the app which aired on the local evening news.

Flow XO

A SaaS platform for building chatbot workflows, without any coding knowledge needed.

  • A greenfield project which was built from the ground-up and launched in 2014.
  • Worked from requirements and wireframes to architect and build the core app and corresponding admin UI.
  • Collaborated with other developers to create connectors to various different chatbot platforms, including Facebook Messenger, Slack and Telegram.
  • Built an SDK to allow other cloud apps to connect to the platform.
  • Built using the MEAN stack - MongoDB, Express, Angular.js and Node.js, using Test-Driven Development.
  • Workflow logic distributed via a message queue and deployed to Heroku to allow for horizontal scaling.
  • Integrated with Recurly to handle recurring subscription payments.

Training

DevelopMe Fellowship

The DevelopMe fellowship is a 12-week intensive course that aims to teach students the basics of web development. A set of industry specialists are chosen as instructors for the course, each of whom takes a week to deliver self-authored material based on a particular topic.

I was approached by the founders in 2016 to deliver a week long course on AngularJS. By 2018, a shift in the industry necessitated a change in the curriculum, and I switched to teaching React and React Native. Throughout my time working for DevelopMe I created my own training material and delivered it in person to 6-10 students.

At the end of the week each student supplied anonymous feedback, which was largely positive. These comments gave me a good insight into the course from a student’s perspective and allowed me to hone and refine my material accordingly.

AngularJS / TypeScript training, Wazoku

Partnering with DevelopMe, two separate workshops were prepared and delivered to developers from Wazoku. In this workshop, we covered advanced concepts of AngularJS and TypeScript in a collaborative environment, working through challenges as a group.

Feedback from Wazoku was very positive, proven by the desire to follow on from the AngularJS workshop with a TypeScript one.


Community

SWmobile

I co-founded SWmobile, a mobile-focused tech group based in the South West of England. The group has over 1,000 members and meets every month to discuss mobile design and development. The format varies, but usually involves a set of speakers presenting a chosen topic, culminating in a trip to the pub to continue the discussion.

I’ve spoken at a few meetups, most recently on React Native.

BristolJS

A 2,000+ strong meetup group that meets every month to discuss all things JavaScript.

I delivered a lightning talk at a meetup in 2015 on Express.js and Passport.js.


Experience

For more details on my past experience, please refer to my LinkedIn profile.

Technical Director, Studio Zeffa

April 2013 - Present

Designing, architecting and developing web and mobile applications for a number of clients, and offering training in software development. Available for hire for your next project or training course.

Head of Mobile Web, Mubaloo

November 2012 - August 2013

In addition to my duties as a Senior Mobile Web Developer, I also carried out the following tasks:

  • Responsible for managing a team of web developers.
  • Involved in high-level management meetings and discussions on the direction and vision of the company.
  • Involved in resource planning to ensure the team were running at full capacity.
  • Implemented coding standards and testing best-practices.
  • Championed Agile methodologies resulting in adoption of user stories and rapid prototyping across the business.
  • Responsible for new hires and existing employee well-being.

Senior Mobile Web Developer, Mubaloo

January 2012 - November 2012

  • Deputy of the mobile web team; responsible for the development of browser-based and hybrid mobile web applications in a fast-paced agency environment.
  • Worked on a variety of projects, including financial apps and HTML5 games.
  • Daily use of modern web technologies, including HTML5, CSS3, SASS/Compass, JavaScript, jQuery, Backbone.js and Twitter Bootstrap.
  • Frequently involved in client meetings, scoping/quoting, user stories, wireframing, UX design, development, testing and deployment to app stores.
  • Experience developing for a number of different devices, including iPhone, iPad, Android, BlackBerry and Window Phone.
  • Introduced a new single-page web framework - Mobile Backbone Boilerplate - which became the standard for all new client projects.

Co-Founder and CEO, Isca Networks

November 2007 - January 2012

  • Startup developing web-based touch screen kiosk hardware and software.
  • Part of 4-strong agile development team creating product using web technologies, including HTML, CSS, JavaScript and jQuery Mobile.
  • Launched product in 2009; achieved sales in UK, France and Canada.
  • Led team to deployment of over 200 kiosks across 9 retail stores in France.
  • Other duties varied from handling hardware operations and logistics, liaising with customers and investors, supporting product, setting targets, reporting results to Board of Directors and handling financial forecasts.
  • Business was relocated to Canada and reborn as Toushay. I decided to remain in the UK and resigned from the company.

Open Source

The source code for the following libraries can be found on GitHub.

passport-oauth2-refresh

A passport.js add-on to provide automatic OAuth 2.0 token refreshing.

body-parser-xml

XML parser middleware for express.js.

express-mongo-sanitize

Express 4.x middleware which sanitizes user-supplied data to prevent MongoDB Operator Injection.


Technical Knowledge

Front-End

  • HTML5 & CSS3
  • SASS & LESS
  • JavaScript & TypeScript
  • React & React Native
  • AngularJS & Modern Angular
  • Stimulus.js
  • Vue.js
  • Redux
  • Ionic & Cordova
  • jQuery

Back-End

  • Node.js & Express.js
  • Ruby / Rails
  • Postgres
  • MongoDB

Other

  • Git
  • Heroku
  • Netlify

Where Next?

Head over to my blog for semi-regular updates on what I’m working on. Or if you’d like to get in touch, you can send me an email.