Software developer and IT consultant — Tampere, Finland

I solve problems.

I work out how things work — and why they don't. I've done it since I was a kid; these days for businesses.

I build websites, online shops, integrations and automation for businesses. The same thinking applies to electronics, home automation and 3D printing.

A web platform, a microcontroller, a stripped-down IP camera, my own car, my own house. The tools change, the thinking doesn't.

Nuxt · Vue · TypeScriptC / C++ · ESP32Node · PHP / LaravelESPHome · KiCadCloudflare Workers · D1Proxmox · OPNsenseDurable Objects · DrizzleGodot · Fusion 360

Work I've been part of

ePriceSambla GroupRahalaitos24SafetyEoneIraKotivartijaLiikuntamaailma

What I do for clients

A one-person studio since 2013. Scoping, build and maintenance from the same person.

01

Websites and online shops

From a company homepage to a shop that takes payments. Fast, visible in search and easy to maintain.

02

Custom software

Web platforms, customer portals and internal tools built for one purpose. First we work out what problem is really being solved.

03

Automation and integrations

Manual steps taken out of the middle. Systems and APIs talking to each other, with AI where it helps, so nobody copies data by hand.

04

Performance and SEO

Load times, Core Web Vitals and technical search visibility. Measured, not guessed.

05

IT consulting and maintenance

Networks, firewalls, servers and backups. Also maintaining sites I did not build, such as kotivartija.fi.

06

Home automation, hardware and 3D printing

Home Assistant, ESPHome and embedded devices. Spare parts, mounts and prototypes modelled and 3D printed.

How I work — two principles

First work out what the problem actually is.

I compare the options and read the documentation before writing a line of code. Most expensive solutions start from an assumption nobody checked.

Then automate everything that repeats.

There's no point in a human doing repetitions — unless it's sport. At iravirallinen.fi the whole shop runs itself: orders to Printful, cart and payments through Snipcart, emails sent automatically. Nobody keys in an order by hand.

§ Capability — four layers

The same thinking, different tools.

Web is most of what I sell. The other three layers are why a problem rarely stays unsolved — and they can be ordered too.

01 / WEB

Web platforms

Systems at commerce scale and small precise tools. Most of them are still in production.

Nuxt · Vue · TypeScript · Tailwind · Node · PHP / Laravel · Python · MySQL · Cloudflare Workers, D1, Durable Objects

Evidence

huuto.net · hintaseuranta.fiiravirallinen.fi — a shop that runs itselfkortit.io — Durable Objectspalttala.fi · 24safety.fi · eone.fi

02 / EMBEDDED

Devices and firmware

When a device won't do what it should, I open it. Firmware pulled apart, my own RTSP server in C, and a meter reading electricity straight off the serial port.

C / C++ · Arduino · ESP32 · ESPHome · KiCad · DLMS/COSEM · RTSP · UART

Evidence

Conecto 6S — own firmware, no cloudAidon P1/HAN energy meterPlant sensor, deep sleepOptiGym retrofit · IR blasters

03 / INFRA

Where it runs

The same environment at home as at a client's: virtualisation, firewall, backups and a network that stays up unattended.

Proxmox · OPNsense · Home Assistant · Cloudflare mTLS · Linux · Hetzner · n8n

Evidence

13 VMs / LXCs on my own ProxmoxSelf-hosted InvoiceNinja, n8nAssetto Corsa server, Hetzner

04 / PHYSICAL

Making and fixing

Some problems only end when you make the part yourself. Same goes for the car and the house — I do my own repairs and renovation.

Bambu Lab P2S + AMS 2 Pro · Ender 3 / Klipper + Mainsail · self-built laser engraver · Fusion 360 · PETG · Godot

Evidence

A laser engraver I built myselfVolvo V70 — PETG mount for the key slotEnder 3 reflashed for KlipperFunctional parts from CAD to print

Background

From a primary-school Counter-Strike clan to production systems.

Everything I know, I learned because something didn't work and I wanted to know why.

I built my first website in primary school, for a Counter-Strike clan. Game servers followed: SAMP, CS 1.6 and Minecraft, and every one of them needed a site of its own. The first money I earned from code came from selling a Minecraft server.

The same habit has been there ever since. Open the thing up and work out how it works. Usually for no practical reason at all.

The engine

You don't need a reason to open something up. Wanting to know how it works is reason enough.

Now that curiosity is the profession. I build software for businesses through Aasmaa.fi and run technology at ePrice Oy, whose services include huuto.net and hintaseuranta.fi. The evenings still go to whatever nobody ordered.

The learning didn't stop at school. I take online courses in subjects I want to understand from the ground up — electrical and electronics theory among them. In practice it means a schematic reads as a schematic, and what a component does is something I can work out rather than guess.

Now building

In development

A game I'm making for my own child.

Hillala is a collection of games built in Godot for my daughter. The starting point is simple: a game has to teach something, or it does not belong here. A parent sets the child's age, and the app recommends only games suited to it.

Screenshot — the Hillala menu, games filtered by age

Rules that do not bend

01

No reading required

Anything a child needs to do is communicated visually or by sound. Text is for the parent.

02

No fail states, no clock

You can finish a game but you can't lose it. No Game Over screens and no timers — a small child doesn't perform to a deadline.

03

Learning is not an add-on

The educational angle is where each game starts, not a reward screen bolted on top.

04

No ads, no tracking

A children's game has no business selling a child's attention on. No advertising and no third-party trackers.

Build log

How it was made

I write up what got built, what broke and how it was fixed. Not a tutorial blog — notes on what actually happened, including what went wrong.

A camera off the cloud — custom firmware for the Conecto Bullet 6S
012026-04firmware · C · ARMv5 · RTSP · reverse engineering

A camera off the cloud — custom firmware for the Conecto Bullet 6S

A cheap security camera with 8 MB of flash, an ARMv5 core and a hard dependency on the Tuya cloud. I dumped the firmware over UART and wrote my own RTSP server in C.

Read the entry
02 / 2026-04

Reading an Aidon meter — P1/HAN and DLMS/COSEM

Finnish smart meters speak DLMS/COSEM out of the HAN port. A custom ESP32 circuit reads consumption every ten seconds straight into Home Assistant.

ESP32 · ESPHome · DLMS/COSEM · KiCad
03 / 2025-08

A plant sensor that lasts years on one battery

The ESP32-C3 datasheet promises 5 µA in deep sleep. Reality is 600 µA, and 90 % of that is a single indicator LED. A soldering iron quadrupled the battery life.

ESP32-C3 · ESPHome · deep sleep · power
04 / 2025-06

Ira — an artist site with a shop that runs itself

A Nuxt 4 site for the artist Ira. The merch shop runs unattended: orders to Printful, checkout through Snipcart, emails sent automatically.

Nuxt · automation · e-commerce
05 / 2025-03

Palttala — historic lakeside cabin

A bilingual website for Palttala, a historic 1805 log cabin on Lake Näsijärvi near Tampere — 6+6 guests, hot tub, private beach.

nuxt · client work
06 / 2024-09

kortit.io — a real-time card game on Durable Objects

A browser card game running on Cloudflare Durable Objects. One object per table holds the game state, with no separate database during play.

Durable Objects · TypeScript · WebSocket
07 / 2024-08

A laser engraver made from an old 3D printer

The Geeetech i3 had reached the end of its life as a printer. The frame, motors and motion axes were fine, so it became a laser engraver instead.

laser · 3D printing · electronics · reuse
08 / 2023-10

Hillala — educational games for kids, built in Godot

A collection of games built in Godot for my own child. Every game has an educational angle, and a parent sets the age and sees the time played.

Godot · GDScript · mobile

The archive fills up as it goes. An entry appears when the work is done, not before.

All entries →

Experience

2024 —

Chief Technology Officer

Responsible for technology and product development. Services include huuto.net and hintaseuranta.fi.

ePrice Oy
2013 —

Founder and developer

One-person studio: sites, applications, automation, IT consulting and hardware work for small businesses.

Aasmaa.fi
2023 – 2024

Head Developer, Point of Sales

First integrations tech lead, moving acquired brands onto Sambla's systems. Then led development of the point-of-sale system.

Sambla Group
2016 – 2023

IT Team Lead

Started as a front-end developer, grew into the whole stack and finally led the IT team. Built a CRM from scratch, moved every brand's front end onto one Nuxt codebase, and helped move from a single server to a load-balanced setup.

Rahalaitos

Get in touch

Got a problem that needs solving?

Tell me what needs building, or what's broken. I answer every message myself, usually within a day.

Emailalan@aasmaa.fi
Phone+358 44 359 5642
LinkedIn/alanaasmaa
Based inTampere, Finland