Joonas Mertanen

@ Helsinki, Finland

As a software developer with a product-focused approach, my main interest and focus lie in building software that users like and find useful. I strive to find solutions to real-world problems while also ensuring that the development process is as efficient as possible.

In my free time much of my time goes into trying to become a glider pilot.

joonas@catjam.fi
resume.catjam.fi
github.com/wyozi
Finnish / English
Typescript / React (5 yrs.)
SQL (5 yrs.)
Node.js (5 yrs.)
GCP (1 yr.) / AWS (2 yrs.)
Feb 2022 - Present Remote / Helsinki, Finland Independent consultant

Technical lead at Small startup

As a software developer at a fast-growing startup, I have designed architecture and worked flexibly in areas including dashboard development, database migrations, SQL data analysis, interactive mapping tools, and dynamic templating tools. I have helped build features to meet urgent customer needs and have led the expansion to microservices, establishing solid foundations along the way.
React, Typescript, Next.js, Supabase, AWS (S3, EBS, DocumentDB), Postgres, Cypress, Mapbox, JSONNet
Aug 2021 - Feb 2022 Helsinki, Finland Independent consultant

Full-Stack Developer at Barona IT

I added integrations to various company-wide S2S data services and designed the architecture for a CMS integration, ensuring that complex user-targeting needs were met. Additionally, I wrote documentation, improved testing coverage, and contributed to the cross-team component library, both in terms of its code and working agreements.
React, Typescript, Tailwind, Prismic, react-testing-library
Feb 2021 - Jul 2021 Remote / San Francisco, USA Independent consultant

Lead Backend / Full-stack developer at Video.io

I took over the development of an existing microservice API platform with a codebase that had solid fundamentals, but also showed visible signs of having been developed under fast-paced startup environment. As a leader on the project, I focused on making the platform more scalable for over 30 million monthly active users while improving stability for faster and more confident development.
Node (with Fastify), React, Next.js, Svelte, Postgres (through Prisma), Kubernetes, GCP, Pulumi, FFMPEG, Grafana, Prometheus, GitHub Actions
  • Spearheaded a project-wide transformation to Typescript
    Business impact: improved development confidence, more self-documenting codebase, and more efficient new developer onboarding
  • Improved active session tracking functionality
    Business impact: savings of est. $6,000+ monthly in GCP costs and a significant reduction in amount of PII that had to be stored
  • Built an embedded JavaScript SDK with Svelte to embed various video related components
    Business impact: enable customers to embed the SDK low operating overhead and without any impact to the customer's existing frameworks.
  • Lead a migration from Firestore to Postgres
    Business impact: reduced subtle bugs due to Firestore's untyped data schema and improved scalability and observability
  • Designed microservice testing architecture and improved coverage in service-level unit and cross-service canary tests.
    Business impact: improved developer confidence and reduced quantity of bugs
  • Discovered and fixed various bottlenecks both in core API procedures and the user-facing UI
    Business impact: reduced customer frustration and more streamlines database
  • Implemented a monitoring/alerting system with Prometheus and Grafana
    Business impact: ability to react faster to bugs and impending problems, and more visiblity to the infrastructure
Apr 2018 - Feb 2021 Helsinki, Finland Full-time employee

Software Developer at Smartly.io

Built automated ad video creative production tools for our customers who depend on our image and video templates, asset library and creative performance insights in automating and scaling their advertising. Participated in planning and building a modern web platform using React for the most advanced performance marketers and designers. Acted as the lead for a couple of cross-team collaboration efforts.
Node (with Koa), React, Typescript, Postgres, Kubernetes, Ruby on Rails, AWS, FFMPEG, GitHub Actions, RabbitMQ, Angular.js, MongoDB, PHP, AWS (S3)

Contributed various improvements to the video editor used for mass ad creative production. Examples include designing the architecture for multi-resolution canvas editing, implementing a flexible audio/video muxing on the renderer backend, and improving scalability and infrastructure around the rendering backend.

Smartly's blog contains a blog post explaining what we did better.

Was the leading architect for an internal software project to produce automated data analysis from customer data. This project got eventually transformed into a multi-team effort and found success in helping automate large amount of work per produced report.

Technological constraints related to this project also lead me to independently launch react-pptx, an open-source project for creating .pptx files

Took over development of a pre-general availability asset library and was in charge of developing it into something that ended up replacing the old asset system and is now used by all customers of Smartly. Challenges included migrating tens of millions of previously uploaded assets, fixing obscure performance problems in specific font conversions, and ensuring that the service scales to potentially tens of thousands of calls per second.

2017 Side-project

RustCoin

Implemented a functional distributed cryptocurrency prototype based on Bitcoin. Based on the Bitcoin whitepaper, Rustcoin includes a separate peer discovery server for p2p connections, similar block structure to Bitcoin (merkle root, nonce- mining, chain of blocks), basic stack-based scripting language based on Bitcoin Script, and a database for storing data.
Rust, Distributed blockchain (proof of work), Stack-based scripting language
Summer 2015 Tartu, Estonia Internship

Software Engineer trainee at Estcube

ESTCube is the first Estonian satellite (cubesat) sent to the orbit. I worked on a scheduled command automation and scripting engine using Groovy for the Mission Control System.
Java, Groovy, ActiveMQ, Spring Framework, Angular.js