I'm a senior software engineer from Barcelona, Spain.
I'm currently the lead engineer of Koa Foundations, a mental health mobile app at Koa Health, having raised a 30M€ Series A in 2020. Before, I was the lead engineer of the mission control center for the Hakuto lunar rover of the Google Lunar XPRIZE, at ispace Japan (raising a $90M Series A in 2017).
While I'm a generalist, my main strength is frontend. I've created many UIs on mobile (Flutter), web (SPAs with Vue, React and Angular, and SSR web apps with Node), and desktop (Electron).
I love making great products that make the world a better place. I have broad expertise in technology and project management. Having worked mostly at startups, I'm pragmatic and used to wear many hats.
Senior Frontend Engineer, Tech Lead @Koa Health (formerly Telefonica Alpha)
Koa Foundations (formerly Evermind)
In October 2019 I became the Tech Lead of the flagship product of the company, Koa Foundations (Evermind at that time), a B2B mental health and resilience mobile app. Another senior engineer and I built the MVP in a couple months, then we gradually grew the team, achieving good traction in the market in less than 6 months, which led to our successful Series A. The app is built in Flutter (Dart), a UI toolkit with many similarities to React, to create a native cross-platform experience in iOS and Android. This helped us launch and iterate very quickly.
I've architected most of the core functionality of Foundations, and built large parts of it, including a dynamic content rendering system, user progress, analytics, among many other features. I work very closely with the product manager and designers to make sure that our roadmap has the right priorities and we make balanced trade-offs. I am quite involved in the product design process myself, usually leading story mapping sessions. I'm also very involved with QA to ensure bugs are under control, having had very few issues since we launched. We manage the workflow using Kanban.
Until recently, I led a team of 4 developers, 1 devops engineer and 1 QA engineer. With the team growing more, I decided to focus on my IC role and being a tech mentor for my colleagues to scale my impact as we grow the team, leaving the people manager responsibilities to another colleague.
I have also led the creation of a Design System (a collaborative effort with a senior designer) and its implementation as shared Flutter library, that has multiplied our speed of design and development workflows. It is now used across the company in several products.
"Oriol is a designer's best friend, with strong understanding of interaction patterns and end user needs. His work was key when building from scratch a multi-product Design System, kicking off the team to maintain it and evolve it."
Before Evermind, when we started to introduce Flutter in our tech stack at Alpha, I quickly became a go-to engineer for anything related to it. I jumped into the team making Lull, a mobile app about sleep habits made in Flutter, to help iron out the MVP before launch and deliver on time despite several project delays. I helped to trim it to the essentially valuable and we launched in time.
I also created several internal Dart libraries to use across all Flutter apps in the company like an analytics client, an A/B testing tool, an audio player and a logger.
During my first month at Alpha, I created an internal custom CMS with Angular/Typescript using AWS Lambda / MongoDB as backend and Firebase for Auth. The project was used for months afterwards for the main product at the time, the REM!X mobile app – a recommender system of a variety of activities for teenagers in Spain.
After that, I joined the REM!X mobile app team. It was built in Ionic/Angular/Typescript with a Node backend and Firebase for additional features such as remote config. I had never worked on mobile before, but quickly got up to speed and soon took end-to-end ownership of several big features, like adding Challenges that had to track user activity over several days and provide content and rewards accordingly. I became the go-to engineer for anything related to REM!X until the product was discontinued due to a pivot in business strategy.
Flutter (Dart) and its test suite (unit, e2e, golden tests), Angular/Typescript (ReactiveX, Redux), AWS suite (Lambda, Cognito, etc), most features in Firebase, Jest, Git, Travis/Github Actions/CodeMagic, Mixpanel, Redash
September 2016 – July 2018
Software Engineer @ispace
"Oriol built the Mission Control System for our Hakuto mission of the Google Lunar XPRIZE. His work was key in proving our technical capabilities to the world and had a great PR impact, having an important contribution to securing our Series A funding of 90M USD."
Solo engineer for the desktop app (Electron + Vue) user interface of the Mission Control Center (see images above). It had four screens to monitor rover telemetry in real time with several interactive charts and indicators, hardware controllers to pilot the rover, and near-real time video streaming.
Lead mission operations engineer. I designed the protocols to operate the rover on the moon to achieve the mission goals, including error cases. I had a lot of discussions to make the requirements for our control software clear, both with internal engineers and from our external partners for the lunar lander, Team Indus in Bangalore, India.
Co-designed the user interface in terms of UI/UX. The innovative UI that we produced received a lot of praise from the space industry which is fairly traditional in this aspect.
Led field testing operations of the rover, including usability testing of the user interface.
Contributed to networking specifications. For example, defining the byte structure of the telemetry/telecommand packets to send to the moon to optimize ratio of telecommands per unit of time for faster operations.
Gained limited working proficiency of Japanese to communicate with colleagues.
Electron, VueJS (with Vuex, vue-router, etc), Node, Redis, Socket.io, remote access and operation of the rover filesystem and processes, some Python, Git
January 2016 – July 2016
Software Engineer @Space Robotics Laboratory of Tohoku University
For the user interface the laboratory had to control the prototype rover for project Hakuto, I maintained and improved the codebase and did a visual redesign. It was written in C# using the Unity3D game engine.
Designed and developed another prototype interface in Virtual Reality for the prototype rover, also in Unity3D using an Oculus Rift. Tested it on a field test, driving the rover by video streaming into the VR UI from 1km away.
Unity3D, C#, VR, Git
June 2014 – June 2015
International Projects Manager @Leitat Tech Center
I brought my expertise as aerospace engineer and created a new business unit of space research by obtaining a contract with the European Space Agency. This was quite the big deal because the center didn't have any aerospace experience and nobody had thought of applying their existing expertise in the space sector.
Managed several international R&D projects (roadmap, budget, consortium meetings)
A chemistry startup that I co-founded in 2016 with scientists, colleagues from my time at Leitat. I am currently a member of the board of directors, providing input in business strategy. I bring my experience from the software industry and concepts like scalability and recurring revenue to foster innovative angles in the business strategy. I also designed and developed the website, a static site hosted in Netlify, built with my custom static site generator with Gulp, Pug and SASS. 5 years later, the company deserves a way better looking website, so I'm currently redesigning it in React/Nextjs using TailwindCSS components.
I helped NVOID, a Canadian interactive technology firm, on several of their projects that needed web infrastructure components since I met their founder/CTO in 2015. For example, I built a custom CMS (server-side rendered Express with MongoDB) for an installation to manage scheduling of visual assets.
"Oriol is my go-to for anything related to the web. Whether it's for high-end client CMS's, building web apps, or laying the web-related infrastructure, he is the first person I ask for advice and the person I want most by my side through these endeavors."
Weekly automated newsletter of the top threads in the Ask section of Hacker News. It's a combination of Node processes periodically running in a Digital Ocean droplet that interact with the Sendgrid and Hacker News APIs. I also built the logic to subscribe and unsubscribe since Sendgrid didn't have that nicely out of the box. I designed the landing page (static site on Netlify) and the email itself.
A job board for the interactive media niche. The website is now inactive because I sold my share to my co-founder after growing it to 2000 users, wanting to focus on other projects. I designed, developed and operated the web application. Deployed on an Ubuntu in Digital Ocean, running a Nodejs Express server-side app rendering Pug/SASS templates. Payment integration with Paddle. MongoDB as database. The first iteration was running in Heroku, but then I migrated it to Digital Ocean to save costs. I designed the infrastructure so that it could be used as a template to spin out other job board sites in a straightforward and customizable way.
I designed and developed a simple e-commerce site for my wife's 3D art hobby. First I built it as a static site using my custom static site generator (Gulp/Pug/SASS), but then I mentored my wife migrating it to React/Nextjs, using the chance to introduce her into the web development world. It uses Forestry as git-based CMS so any change triggers the CD setup in Netlify.