Gunnar Torfi Steinarsson's Resume

Gunnar Torfi Steinarsson

Husband, father of two, and a software enthusiast building with React and React Native.

Kópavogur, Iceland

About

Steering the technological helm at Noona, I've been instrumental in leveraging React Native to craft innovative mobile experiences for many years. As the former CTO of Noona, I devoted more than seven years to shaping our technology vision and ensuring our native and web apps were at par with the best in the industry. As a co-founder, my responsibilities spanned multiple domains including product development, engineering, SEO optimization, DevOps, and CI/CD pipeline management. I've also had to learn a lot about the business side of things, working closely with the CEO and the rest of the team. In later years, I've also been contributing back to the community by making contributions to Expo and other React Native libraries, primarily through my own library, Sonner Native, a React Native port of the popular web toast library Sonner.

Work Experience

Noona Labs

Co-Founder, CTO, Tech Lead

2018 - Present
Over the years, I have contributed to various aspects of our technology stack, being the first developer at Noona. My main focus to begin with was building the marketplace (the consumer-facing apps) from the ground-up. I initially developed a client-side SPA using Create React App back in 2018 and a mobile app with bare React Native, all written in Javascript, powered by a GraphQL API.

Through iterative improvements, I migrated the codebases to Typescript, Next.js, Expo, Nativewind and Tailwind, and things were in a good place. To further support team growth and development velocity, I architected a more scalable solution that enabled parallel development across multiple projects, leveraging React Native for Web. That was when I moved our Expo app and Next.js app to a monorepo, using Turborepo and pnpm workspaces. This enabled code sharing between the mobile apps and the web app. We weren't only sharing UI components, but entire features/screens. This meant we still benefited from Next.js's data fetching capabilities, etc., but didn't have to write everything twice, for the web and native. This also bridged the gap between the web and native development, improving feature parity between the platforms.


For Noona HQ, the enormous back-office app that company owners use. I made several significant contributions to that product; rewrite from JS to TS, leading the development of a fully-fledged POS system, initiating a big rewrite/transition from Meteor to React and introducing shadcn/ui. What I am proud of the most in the HQ development is that I architected and implemented multiple calendar systems including a traditional appointment calendar for salons and a timeline-based reservation system for restaurants, both featuring drag-and-drop functionality, resizing capabilities, and optimistic updates for instant user feedback.


For the past couple of months I have also been part of creating a new AI-first application. Since it is a greenfield project, I had the opportunity to work on a lot of new technologies, including Tanstack Start, Python for LLM backend systems, and Vercel's AI SDK. This includes handling streaming with server-sent events and building highly interactive offline-first applications.


To keep things short, I also briefly want to mention a few other things I've been working on for the last couple of years:

  • Next.js app router
  • React Server Components (Next.js and Expo too)
  • Expo Router
  • iOS Live Activities and widgets
  • Native iOS development with Swift, SwiftUI and Objective-C
  • Native Android development with Kotlin and Java
  • tvOS development with React Native
  • macOS & Windows development with React Native
  • Building a universal UI library from a design system for React Native and web
  • CI/CD with Github Actions and CircleCI
  • Kubernetes + Docker
  • Next.js
  • Expo
  • Tanstack Start
  • Remix
  • Kubernetes
  • CI/CD

Memento Payments

iOS Developer

2015 - 2018
Memento Payments worked with Íslandsbanki to create an app called Kass, an app which Icelanders used to transfer money using their phone numbers. I participated in native iOS development and later rewriting the app to React Native.
  • iOS
  • React Native

Tipster

Co-Founder, iOS Developer

2014 - 2019
Tipster was a fun side project that I was part of during my BSc studies. It was essentially a communication platform between Tipsters (people selling betting advice) and Bettors (people placing sports bets). We provided a backend system for the Tipsters and a native mobile app for the Bettors.
  • React
  • TypeScript
  • Objective-C
  • React Native

Web development, customer support

2014 - 2015
Front-end development of smaller websites and general customer support service.

Education

Reykjavík University

2015 - 2018
Bachelor's degree in Software Engineering