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.
DemoVibin
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.
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.
DemoCloud 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.
DemoWord game
An excercise to design and implement a simple-to-use word game to play with friends face-to-face. Less is more.
DemoAI 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.
DemoAI 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.
Demo3d
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.
DemoReal-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.
DemoDisc 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.
DemoHearing 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.
DemoDiplacusis 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.
DemoHirvikolari
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.
DemoProject 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.
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.
DemoPlant 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.
DemoSailboat 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.
DemoSnowboard
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.
DemoDrum 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.
DemoWacky 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