Skip to content

Simon Lumikello

Senior full-stack engineer and UI leadReact, TypeScript, .NET

Open to frontend or full‑stack roles in Finland or remote
Jyväskylä, Finland
Petrozavodsk State University
Master’s degree in Information Systems and Technologies, 2008
Russian (native), English (proficient), Finnish (basic)

Profile

Software engineer with 15+ years of experience building Valmet IQ Machine Vision, a quality inspection system for the pulp, paper, board and tissue industries.

  • Tens of languages, tools and technologies
  • Dozens of software modules with hundreds of thousands of LOC
  • Hundreds of installations worldwide, supported and extended with new features
  • Countless features and several sub-products built from scratch

I started as a UI developer, then moved to full stack, and led UI and API development for the last decade. Most recently, as architect and lead developer, I replaced the product’s legacy desktop UI with a modern web app built from scratch on React, OpenAPI and .NET, and took it from proof of concept to dozens of shipped systems. More on that in the timeline below.

I also set up and optimized development workflows, tooling and infrastructure, helped hire and onboard new developers, and worked closely with project engineers in the field. I’ve seen subcontracting from both sides: as a subcontractor for Metso early on, and later leading subcontracted developers for Valmet.

My main tech stack is TypeScript, React, OpenAPI and .NET, and in my hobby projects I use Next.js, Supabase, Flutter and Vercel. Over the years I’ve worked through several generations of web and desktop tech, from ActionScript in Macromedia Flash (the good old days), PHP and Java Swing to Electron, SignalR and Plotly.js, and built and released several Android apps.

I’ve been building software since long before AI coding tools, but I’ve recently switched to an AI-first workflow, using Kiro, Antigravity, Codex or Claude Code depending on the project. At Valmet I brought a coding agent into the team’s development process, and in my own projects an idea now becomes a working prototype in a day and a polished app within a week, where it used to take weeks.

Expertise

Frontend
TypeScript, React, Next.js, Material UI, TanStack Query, Zustand, React Router, Zod, Tailwind CSS, Electron, i18n
Data visualization
Plotly.js, Recharts, MUI X Charts, Real-time and large datasets
Backend
C#, .NET, ASP.NET Core, OpenAPI, openapi-generator, EF Core, Dapper, SignalR, MSSQL, T-SQL, Supabase
Design & architecture
Software architecture, REST API design, Database schema design, UX design
Tooling & testing
Git, Bun, Vite, Biome, Playwright, Cypress
CI/CD & infrastructure
Jenkins, GitLab CI, TeamCity, Vercel, MAAS
Mobile
Flutter, React Native, Android
AI
Claude Code, Codex, Antigravity, Kiro, Agent workflows (rules, skills, hooks, MCP integration)
Team tools
GitHub, Bitbucket, Jira, Confluence
Team & process
Team leadership, Hiring and mentoring, Code reviews, Roadmapping and prioritization, Kanban, Process and workflow design, Stakeholder communication, Field support, Technical documentation
Earlier
Java, PHP, Vue

Timeline

  • –

    Valmet Automation

    formerly Metso Automation
    1. Chief software design engineer

      Promotion
      – · Jyväskylä
      Led team-wide workflows and tooling, hiring and mentoring, and brought AI into the development process.
      • Designed the team’s Jira setup (issue types, fields, workflows) and drove its rollout.
      • Moved issue reporting from chat to Jira: trained project engineers on the workflow and why it pays off, and configured Rovo to raise ticket quality.
      • Connected Kiro to Valmet’s internal MCP servers, cutting Jira ticket handling time from hours to tens of minutes.
      • Kept the tech stack current across several major versions of .NET and React.
      • Migrated the UI’s end-to-end tests from Cypress to Playwright.

      New: Kiro, Rovo, Playwright

    2. Senior software design engineer

      Promotion
      – · Jyväskylä
      Technical owner of the product’s UI, making decisions on feature design, implementation and roadmap.
      • Took the UI into production, both as upgrades of existing systems and in new installations.
      • Handled feedback from the field as the UI started shipping to customers, supporting project engineers and customers both remotely and on site.
      • Automated user documentation as part of the build, from screenshots to localized PDF manuals.
    3. Software design engineer

      – · Jyväskylä
      Architect and lead developer of the product’s new UI, managing the subcontracted developers on the project.
      • Brought the new web app to feature parity with the legacy UI: for each feature, studied how it was used, decided what to keep, drop or improve and with which technology, then prioritized and built it.
      • Took ownership of the team’s CI/CD, first for the UI and later for the whole product.
      • Improved the UI’s Cypress end-to-end test setup and extended its coverage.

      New: Plotly.js, Electron, Material UI, SQLite, Bitbucket, Git, Linux, Cypress

    4. Software design engineer

      – · Tampere
      Moved to Tampere to focus on research: investigated new technologies, pitched feature improvements and built prototypes.
      • In late 2018, proposed rebuilding the product’s legacy desktop UI as a web app, ran the technology evaluation and designed its full-stack architecture: React and TypeScript frontend, .NET backend, cleanly separated from the existing system it integrates with.
      • Designed it for the long run from day one: a contract-first API with OpenAPI and code generation, backward compatibility with installations of different ages, CI, an installer and automated upgrades.
      • Set priorities and documented the architecture, aligning engineers and stakeholders on design decisions.

      New: Node.js, React, TypeScript, OpenAPI/Swagger, Vue, Semantic UI, ASP.NET Core, npm, yarn, Webpack, Jest, Docker

    5. Software design engineer

      – · Jyväskylä
      Continued development of the Metso PQV user interface after being hired directly by Metso Automation in Jyväskylä.
      • Migrated the UI from web pages and Java applets to a self-contained Java desktop application.
      • Removed obsolete components and set up build tooling, code signing and CI for the new application.
      • Supported deployed installations with bug fixes, new features and performance improvements.

      Java, .NET, C#, PHP, JavaScript, MSSQL, SVN, Jira, Confluence, Jenkins


  • –
    Petrozavodsk

    Software developer Petrozavodsk State University IT park

    As a subcontractor for Metso Automation, maintained and improved the user interface of Metso PQV (Process and Quality Vision), an integrated web monitoring and quality inspection system.
    • One of two remote developers, reporting directly to Metso’s project manager and visiting Finland regularly.

    Java, C#, PHP, JavaScript, MSSQL, SVN


  • –
    Petrozavodsk

    Freelance web developer Freelance

    Worked as a freelance web developer and graphic designer. Projects ranged from simple static websites to large portals with an established user base.
    • Delivered about 20 client projects: most on my own, end to end, and a few longer ones as part of a team.

    HTML, CSS, PHP, JavaScript, MySQL


Side projects

snackpot.dev

Can’t decide what to cook? Give it a spin!

TypeScriptNext.jsVercel
atlas.lumikello.net

Interactive atlas of European royal dynasties

TypeScriptReactVercel
github.com/simon-lumikello/onshape-knurl

Knurl custom feature for Onshape

TypeScriptOnshape FeatureScript
nimikyltti.lumikello.net

Design 3D-printable tags for doors and mailboxes

TypeScriptThree.jsVercel
calendar.lumikello.net

Kiosk-mode app for managing family errands, built on Google Calendar

TypeScriptReactVercel
weather.lumikello.net

Ambient screen with clock, weather forecast and interactive weather map

TypeScriptVercel
map.lumikello.net

Weather map with pretty cloud visualization and a few hidden tricks

TypeScriptVercel
lumikello.net

Experimental landing page for my personal website

TypeScriptVercel
jaksajaksa.com

No-nonsense gym workout planner and tracker

TypeScriptNext.jsSupabaseVercel
Google Play

The loma loma! flight finder Android app

FlutterAndroid
loma.one

Cheap flight finder and route explorer

FlutterVercel