SSH — AI-Assisted Procurement Integration
Integrations
Verkkokauppa.com × SSH Communications Security
2025
Customer case published by Verkkokauppa.com. SSH built an AI assistant on their Salax messaging platform that lets employees order work equipment through chat: the assistant checks entitlement against HR data and pulls product, pricing and availability from the Verkkokauppa.com API. I was in a key role on the delivery, producing the interface specifications the customer integrated against and consulting their team through the build. The project went live in a few weeks.
- Authored the API and interface specifications handed to the customer's development team
- Consulted the customer throughout design and integration
- Connected an LLM-driven chat assistant to a live commerce API
- Automated entitlement checks and over-budget reimbursement handling
API design
AI assistant
Integration consulting
Coupa
Ariba
EDI
B2B
B2B Procurement Integrations
Integrations
Verkkokauppa.com
2024 – Present
Ongoing production work. I run the integration projects that connect business customers' procurement systems to Verkkokauppa.com: punchout catalogue sessions, EDI order and invoice traffic, and the supplier portals around them. Scope covers requirement gathering with the customer, XML mapping, test cycles, go-live and the monitoring and troubleshooting that follows.
- cXML and OCI punchout catalogues from session setup through order return
- Order, order response and invoice flows over Peppol and UBL
- Coupa Supplier Portal and SAP Ariba Business Network administration
- Root-cause analysis on failed transactions across customer, middleware and ERP
cXML
OCI Punchout
Peppol
UBL
EDI
Coupa
SAP Ariba
XML
Ediwire
Fullstack
Own SaaS product
2026 – Present
A SaaS EDI operator I am building: it receives business documents, converts them between formats and delivers them in whatever format each trading partner expects. The idea comes straight from the day job, where most integration effort goes into reconciling the same document expressed five different ways. Built as a React and Vite single-page application on a hardened, Cloudflare-fronted deployment.
- Automated receive, convert and deliver pipeline for B2B documents
- Per-partner format mapping so each counterparty gets the shape it expects
- React and Vite front end, served behind Cloudflare
- Locked-down delivery: strict CSP, HSTS, frame-ancestors none, cross-origin isolation
React
Vite
TypeScript
EDI
SaaS
Cloudflare
Web security
zroot.it
Fullstack
Personal infrastructure
2024 – Present
This site. A server-rendered Node.js and Express application that pulls live data from the GitHub API, caches it, and renders it through EJS. I wrote it, I host it and I maintain the machine it runs on. Development is AI-assisted end to end, from feature drafts to refactoring.
- Express with Helmet CSP, rate limiting and a node-cache layer over the GitHub API
- Cloudflare and Tailscale aware proxy trust with per-IP request logging
- Deployment triggered by HMAC-verified GitHub webhooks, processes managed by PM2
- Separate Go WebSocket service for real-time updates
Node.js
Express
EJS
GitHub API
Nginx
PM2
Cloudflare
Go
Git Repo Updater
Automation
Personal tool
2024
A shell tool for keeping many GitHub repositories in sync at once. Repositories, branches and target directories are declared in a repos.json file, so adding a new repository to the rotation is a config change rather than a code change.
- Config-driven: repositories, branches and paths live in repos.json
- Fetches upstream changes and pushes local commits in one pass
- Written to run unattended from cron
Bash
Git
Automation
JSON
ESP32 Home Assistant Sensors
Embedded
Home automation
2025
Firmware for ESP32 boards that report sensor readings into a self-hosted Home Assistant instance. Part of a wider home automation setup that also includes an ESPHome component for an IVT Rego1000 heat pump controller.
- C++ firmware targeting ESP32 hardware
- Integrates with Home Assistant over the local network
- Paired with an Electron desktop widget that surfaces the readings
C++
ESP32
Home Assistant
ESPHome
IoT
Home Assistant Temperature Widget
Automation
Personal tool
2025
A small Electron desktop application that reads a Home Assistant entity over its REST API and keeps the current temperature visible on the desktop. Built to stay out of the way: no window chrome, minimal footprint.
- Electron shell around a Home Assistant REST API client
- Frameless always-on-top window
- Configurable entity and polling interval
JavaScript
Electron
REST API
Home Assistant
ATM Application
Fullstack
OAMK group project
2025
Group software development project at Oulu University of Applied Sciences. A C++ ATM client backed by a server-side account API, covering card authentication, balance queries, withdrawals and transaction history. My work spanned the client logic and the API calls behind it.
- C++ client consuming a REST backend
- Card authentication and PIN verification flow
- Withdrawal, balance and transaction history operations
- Delivered as a four-person team under a fixed course deadline
C++
REST API
SQL
Team project
Flight Information App
Mobile
OAMK coursework
2025
A React Native application that fetches live flight schedule data from a public API and presents arrivals and departures with search and filtering. Written in TypeScript on Expo.
- TypeScript React Native on Expo
- Live flight data from a third-party REST API
- Search and filtering over arrivals and departures
TypeScript
React Native
Expo
REST API
Firebase Weather App
Fullstack
OAMK coursework
2025
A web application combining the OpenWeatherMap API with Firebase for authentication and persistence, so a signed-in user's saved locations follow them between sessions and devices.
- OpenWeatherMap API integration
- Firebase Authentication and Firestore persistence
- Per-user saved locations
JavaScript
Firebase
REST API
Auth
Speden Spelit Reaction Game
Embedded
OAMK team project
2024
Embedded team project rebuilding the Finnish television game Speden Spelit on an Arduino Uno. A hardware reaction game with LED sequences, button input, a scrolling display and a persistent high score table.
- C++ on Arduino Uno with direct hardware I/O
- Randomised LED sequence generation and timing logic
- High scores persisted to EEPROM
- Built by a student team over one course period
C++
Arduino
Embedded
Team project
Questie for Ascension
Open source
Community project
2025 – 2026
An adaptation of the Questie quest-tracking addon for Ascension private servers, where the quest database and client differ from retail. Involves reading a large existing Lua codebase and reworking its data layer against a different backend.
- Lua addon development against the WoW 3.3.5 client API
- Reworked quest database lookups for a non-standard server
- Maintained against upstream changes
Lua
Open source
Reverse engineering