a musical developer at your service
dev

Songen Music Generator

Songen is an AI-powered music generator, combining my two major ambitions - music and development. Co-created together with the Vibin team, it's available on App Store and has an ever-growing user base.

Demo
Swift

Vibin

Vibin is a music app for anyone to enjoy music creation and jamming. It's co-created together with a team of three in which I'm the developer. It's a native iPhone app written in Swift.

Swift

Shared a ride

It's a service facilitating shared rides. Driving a private car to your sports club? Consider environment and offer a free ride to people living nearby.

Demo
HTML5
Vue

Cloud Bunny game

I wanted to see how close to native mobile gaming feel I could get with a browser game. Vue is used to render the menu on top of an html canvas. I have produced all the graphics and sounds.

Demo
HTML5
Vue
howler.js

Word game

An excercise to design and implement a simple-to-use word game to play with friends face-to-face. Less is more.

Demo
HTML5
Vue
howler.js

AI rocket landing

I programmed this machine learning demo to visualize the learning process of a neural network. A genetic algorithm is applied to train a space rocket to smoothly land with the minimum possible fuel consumption.

Demo
HTML5
Synaptic.js

AI pong player

I have programmed a few games featuring "AI" opponents to play against and the opponents are just following simple if/else heuristics. The problem is that the opponent is then only as good as it was programmed to be. In this demo machine learning is applied to train the opponent's neural networks.

Demo
HTML5
Synaptic.js

3d

I wrote a 3d rendering engine out of curiosity. The rendering is powered by 2d canvas leaving all the trigonometry and geometry puzzles to be handled with vanilla JS.

Demo
HTML5

Real-time multiplayer

It is a real-time multiplayer game powered by websocket connection. It attempts to challenge the common consensus that TCP is not applicable for real-time multiplayer games. It also experiments combining canvas and css animations to produce performant graphics.

Demo
HTML5
Node
Socket.IO
DigitalOcean

Disc golf app

A web app aiming to produce native mobile app user experience for disc golf players. Offline features make it possible to use the app with limited network connectivity.

Demo
React
Mobx

Hearing test

How well can you hear? The test generates a report of both ears' relative spectral sensitivity as a graph. The test has proven to produce similar results compared to tests conducted by healthcare professionals.

Demo
HTML5
Web Audio API

Diplacusis test

Did you know that ears may interpret the same frequency inaccurately when played separately? That condition is called Diplacusis and this simple app tests the severity of it.

Demo
HTML5
Web Audio API

Hirvikolari

Would you be able to react quickly enough to avoid crashing at a moose? Even after 6 beers, 120km/h and in thick fog? Better not to try it out in wilderness but at home. Decelereation physics are somewhat based on dry weather conditions.

Demo
HTML5

Project manager

A simple project management software where users can login and be assigned to projects. Users have profiles and projects have deadlines. It's a project management software so it's grey and a little boring.

HTML5
Vue
Node
MySQL

Minigolf adventure game

What comes when a minigolf game and an RPG game is crossbred? I wanted to build a game with lots of levels that aren't too coupled with the game engine. A dedicated level editor made it easy to write the story and add new levels to the game.

Demo
Vue

Plant evolution

What makes plants to have unique shapes? Here the process of evolution is demonstrated with virtual plants. Plants interact with underlying plants by shading them and the successful individuals seed more plants. Physical constraints are applied to wither weak structures.

Demo
HTML5

Sailboat physics

How can you sail into headwind? To fully grasp the idea I wrote this sailboat model featuring procedural islands, seafloor heightmap and a depth sounder.

Demo
HTML5

Snowboard

As an ex-snowboarder this is one of my favourite game prototypes I've put together. The physics mostly revolve around vector dot and cross products. I also experimented with some fake 3d techniques to boost the immersion of the mostly 2d game.

Demo
HTML5
howler.js

Drum machine

A simple drum sampler. Tap the pads to trigger drum sounds or record a beat on the fly. It features a metronome, undo and changing of tempo.

Demo
React
Web Audio API

Wacky music generator

In order to produce bonkers music you need equivalent instruments for the job. Create beat, draw riffs just like in paint and write lyrics to a textbox to hear the next UG hit. Its cool how much browser(s) can do nowadays.

Demo
React
Web Audio API
music
040 76777 32