Hi, I'm Kieran 👋

Vue.js

React

React Native

+18 more

Hey, I'm Kieran! An experienced frontend-orientated software engineer passionate about creating fantastic user experiences.

With over 5+ years in the industry, I specialise in Vue, React and React Native builds, and enjoy collaborating with product designers, engineers, data scientists, and other stakeholders in distributed, self-organising teams.

With a product-focused mindset, I advocate for involvement throughout the entire project lifecycle. Collaborating closely with product designers, I ensure our ideas become tangible solutions, bringing our collective vision to life. As a frontend engineer, I embrace being the team's 'glue', bridging disciplines, facilitating communication, and maintaining project momentum.

Core values

The core values I've honed over the years.

  • Serve the team.

    Team cohesion is critical to our success. Whether engaging with product designers, backend engineers, or wider stakeholders, we should listen, challenge one another, and advocate towards a harmonious team dynamic. We should always make time for one another, to resolve issues, unblock teammates, and keep projects moving.

  • Take ownership.

    We're not ticket-takers; we're involved with projects from the get-go, taking full ownership of our work with autonomy and confidence. We shouldn't wait for direction, and we should actively seek it if needed. With regular communication, we keep the team in the loop, ensuring showstoppers are overcome together and projects are delivered on time.

  • Think on your feet.

    Don't know the solution? No problem. Let's research, discuss, and agree on a way forward. We should learn on the go and contribute ideas beyond technical implementation. We should be confident navigating fast-paced environments where our priorities can change. Let's keep cool heads, support one another, and get the job done.

  • Iterate fast.

    We shouldn't waste our time worrying about trivial implementation details. Think bike-shedding. Let's develop it, deploy it, get feedback, and iterate. We should ultimately care about the customer experience, and our high test coverage allows us to always go back and improve on things.

  • Get it tested.

    Tests are essential. They allow us to reduce our time spent on regressions, make code more human-readable through TDD, and increase our applications' reliability and robustness. They ultimately allow us to iterate quickly with that all-needed confidence, especially when working with large, complex infrastructure.

  • We're humans, not robots.

    We should write code with legibility in mind, not with the goal of writing the fewest number of lines. This allows us to easily debug, maintain, and extend existing features and systems; so we can spend more time concentrating on the core product itself.

Experience

Onvi Frontend Engineer

As a critical member of the team; I played a leading role in redefining Onvi's product offering through the building of a powerful, user-friendly POS for hospitality businesses. One of my key responsibilities was the building and maintaining of the core, major features of the POS for the Capacitor.js iOS app and Vue.js web applications. This included the integration of physical hardware through iOS native bridging via Swift; implementing the Stripe Terminal SDK and StarIO SDK to connect physical card readers and receipt printers to the iOS app respectively. Since its launch in 2020, the Onvi product suite was used to place over 4 million orders and take £66 million in GMV. We secured some big names in the hospitality industry, including Boxpark, Crêpeaffaire, Patisserie Valerie, and many others, totalling 660 operators across over 1400 sites.

Read more about my time at Onvi

The Fledger Co-founder and Engineer

Established in 2021 to provide a strong and distinct voice to the world's 18 to 35-year-olds, free from agendas and political bias. As the engineer on this project, I built the platform from scratch using Next.js with AWS Amplify. Using Next.js allows us to serve the web pages via ISR (Incremental Static Regeneration), which is paramount considering a high SEO is desirable due to the majority of the site's content being article based. As for the backend architecture, instead of devoting a significant amount of time into its nitty-gritty, leveraging the power of AWS allowed us to focus on the core product itself, by providing a low-code solution for setting up hosting, databases, cloud functions, authentication, our GraphQL API, and much more.

Read more about my time at The Fledger

Mission Labs Software Engineer

Mission Labs develops several digital communitation tools, including CircleLoop and SmartAgent - a digital contact center solution. My time was split between working on these core products with React.js, and assisting the digital team with the development of ongoing client projects. These included several apps for American Golf, Pretty Little Thing and JD Sports. One of my most impactful undertakings was leading the development of JD Sports' all-in-one shopping app, a complex project aimed at seamlessly integrating multiple affiliate brands into a unified shopping experience. Leveraging my expertise in React Native, I successfully delivered major features for both iOS and Android platforms in rapid succession. As the team's resident React Native specialist, I took charge of integrating third-party SDKs through native bridging, notably integrating the WannaKicks AR tool, which allowed users to try on trainers virtually. Upon joining Mission Labs, I conducted a comprehensive assessment of our coding practices and identified a critical area for improvement: our coding standards and test coverage. It became apparent that components and helper functions were being introduced into the codebase with minimal or no test coverage, resulting in the frequent introduction of bugs and recurring issues. To rectify this, I proactively initiated team meetings and mandated a higher test coverage using Jest and Detox. I implemented tools and practices to enforce minimum coverage quotas, ensuring more robust and reliable code. This strategic focus on testing significantly reduced regression issues and greatly enhanced our overall development process.

Zenstores Software Engineer

Let's say you own a business that ships gift boxes all over Europe. You sell your products on eBay, Amazon, Etsy and your own website using Shopify. Wouldn't it be a pain to individually log into each sales platform every day to monitor and manage your orders? This is where Zenstores comes in. After connecting your accounts, Zenstores automatically imports all your orders into one dashboard, where you can then print shipping labels, create fulfilment documents, dispatch orders with your chosen couriers, and much more. Whilst I was working with the team at Zenstores, I was a major player in both the design and engineering of the "Rules" feature, which acted as an automation engine, suggesting and applying "Shipping Profiles" to orders based on the order characteristics, such as weight and dimensions. Using Figma as a design tool, I worked closely with the Head of Product to scope and shape the feature, before working with the backend engineers as we moved onto development. As we migrated away from Backbone.js, the frontend was engineered with Vue.js with a Django (Python) backend and RESTful API.

ServiceAdminPro Software Engineer

ServiceAdminPro is a comprehensive job management platform designed specifically for the trades industry, catering to electricians, plumbers, and builders. The feature-rich platform offers a mobile app for tradespeople to efficiently handle tasks such as note-taking, timesheet tracking, and generating purchase order codes. Additionally, the desktop application caters to office administrators, enabling them to create and schedule jobs, track engineers' locations, and generate quotes and invoices. During my tenure at ServiceAdminPro, I played a crucial role in designing and engineering several significant features using Vue.js, React, React Native, and Google Cloud Platform (GCP). One of our primary challenges was balancing the development of new features whilst maintaining the existing product. To expedite mobile app development without compromising quality, we opted for React Native. Leveraging React Native allowed us to use a single codebase for both our iOS and Android apps, resulting in streamlined development, enhanced stability, and a consistent user interface across devices.

Education

The University of Manchester BEng. Mechanical Engineering. 1st

Achieved First-Class with Honours. Gained a comprehensive understanding of core mechanical engineering disciplines, including thermodynamics, fluid mechanics, materials science, and advanced mathematics. My dissertation aimed to assess whether or not ejectors can be installed within vapour-compression refrigeration cycles within a short time frame. Using Python, numerical models of both single-evaporator and dual-evaporator ejector cycles were written to investigate their performance over a range of operating conditions.