Hi, I'm Vesa, a software developer from Finland.

Projects

Personal projects to learn and explore ideas.


COBOL to Java transpiler

Automatic source-to-source translator that converts legacy COBOL programs into readable, idiomatic Java. Built around a grammar-driven parser and a multi-stage AST transformation pipeline, with an integration test suite that verifies translated output matches reference behaviour.

Why: Explore compiler construction, grammar-driven parsing, and bridging legacy business logic to a modern runtime.
Tech: Java, ANTLR4, Maven

Neural networks and automatic differentation in Java

Neural networks with automatic differentiation and backpropagation in Java from scratch.

Why: Learn about machine learning, gradient descent, neural networks.
Tech: Java

Omastoppi.fi

Web/mobile application for quickly viewing departure times for nearby public transport stops. Data fetched realtime from the HSL GraphQL API.

Why: Learn React/Next.js, and create an application which can be used quickly when on the go on the HSL region.
Tech: Typescript, React/Next.js, Tailwind CSS, GraphQL

Econstats.eu

Application which charts the major macroeconomic indicators for the EU and US areas. Data is fetched every day from the Eurostat and FRED APIs.

Why: Learn more about AWS services. Create an economy "dashboard" for myself.
Tech: Python, AWS Lambda, AWS S3, AWS DynamoDB, AWS API Gateway, AWS Cloudformation

WFC generator

In game development WFC (Wave Function Collapse) is used for generating output based on a set of tiles and rules. This output can then be used for different purposes, like level or texture generation. Here I'm creating textures. This is a simple Java implementation of Wave Function Collapse algorithm where the rules are defined in code.

Why: Complex result from simple rules.
Github: https://github.com/vesas/simple-wfc
Tech: Java, LibGDX, Gradle

Spacefly

2D game with procedural level generation and dynamic area of sight calculation.

Tech: Java, LibGDX, Gradle

Sweepmines

Minesweeper clone with Godot game engine

Tech: Godot, GDScript

Javarays

Raytracer in Java.

Why: Explore performance ideas.
Tech: Java

Snakeray

Multiprocessed raytracer in Python.

Why: Explore performance ideas, practise python.

Tech: Python, PyPy

House price prediction using machine learning

Tech: Python, Pandas, Numpy, Scikit-learn, Seaborn

Sunrise & sunset for Android phones

Local sunset and sunrise times.

Release: Google Play
Tech: Java, Android SDK

Live wallpaper for Android phones

Animated wallpaper for Android with minimal battery usage.

Release: Google Play
Tech: Java, Android SDK

Colortact game for Android phones

Game of connecting same colored items

Release: Google Play
Tech: Java, Android SDK