coding: PDF invoice generator

As mentioned in my previous post I’ve been trying out Svelte for the last few weeks. Considering making the classic TO-DO app demo sounded a bit boring, I decided to build something more useful for myself – so I’ve put together an invoice generator that allows me to generate invoices for my company faster, compared to using a spreadsheet, as I used to do it until now.

It’s free to use and GDPR compliant, since all of the data you input is stored into IndexedDB, which lives inside your own browser only and is never sent to any server. A cheap but fast solution (avoiding to do any auth) . Once you set up the template, you will have it ready each time you return back. So you just update the client and invoice rows and generate a new PDF.

>>> Check it out on this subdomain:

Hope you find it useful.

articles: svelte app development experience

This is a short write-up after completing a single page app project in Svelte.

The goal was to create an invoicing app that allows me to generate invoices for my company and export them into PDF with minimal click steps. It also includes conversion rates API fetching to support on-the-fly $ to € conversion, and simple client-side data storage inside IndexedDB, to prevent having to write in company data each time – ideal for recurring monthly invoices (I did not want to deal with setting up a server and database and user authentication at this point).

Read more »

coding: morse code; text-to-morse translator

The invention of the telegraph as the first electrical telecommunications system is an important landmark in the history of communication, but while the tech itself is very interesting hardware, from the coding point of view I’m more interested in the Morse code used to send messages with it.

Morse code consists of dots, dashes and spaces which when linearly combined and transmitted make up letters, words and sentences. Named after Samuel Finley Breese Morse who helped co-develop it, it was later refined by Friedrich Clemens Gerke and after the adoption by the Deutsch-Österreichischer Telegraphenverein (German-Austrian Telegraph Society) in 1851, we’ve got the International Morse code in 1865, which, while slowly declining in usage and making way for better ways of communication, stayed in use up to this days and that’s the alphabet set we are gonna use to code our text-to-morse translator in Javascript.

Read more »

articles: how I use chrome devtools

When collaborating on projects and helping debugging websites and web apps, I often notice that a lot of developers miss out on a lot of useful features that Chrome DevTools have to offer, making their debugging experience more painful and time consuming, so I’m presenting my “tool-bag” of Chrome DevTools features that help me solve code issues faster.

Read more »

articles: brief history of Slovenian game development

Kontrabant title screen

In a country with a population of just 2 million people you can quickly figure out that not many are developers and if you take those that are, you can find out that game developers are even more uncommon, since earning your everyday bread in this wild industry is similar to playing lottery. Yet, there has always been a lively game development scene in Slovenia and some players managed to make it big. Out of curiosity I researched it a bit, trying to collect some of the pieces together into a brief history of Slovenian game development, since I couldn’t find anything around.

Read more »

coding: snooffline

js13k2018 challenge done in collaboration with Adam Giacomelli.

A 13kb javascript game done for the “offline” or “off-the-line and keeping the party going” 2018 code challenge theme, including hand written midi music tribute to Eric Clapton :)

Keep the bar leveled.

Play now!

Code freely available for forking on

Also check out my previous years entries Balls juggle and Baloon operator.

coding: 100k decimals of pie

100k decimals of pie visualized on html canvas – simple script alternates between 4 quadrants. Fiddle script:

Javascript’s Math.PI is limited to 15 decimal places, so we need to use a pre-rendered set of decimals (taken from


coding: rastapico

Rastapico from Jamaica is gonna chop some plants today! A simple Pico-8 8-bit game done in 12 hours.

Due to console controller key setup X = N – move with arrow keys.

coding: canvas based music visualizations

Sound wave to music javascript conversion – pixel by pixel, manipulated in a pattern.

Sample song by Soundtribe Sector 9 – Better Day

photography: snapshots of malta

Panorama of Valletta

Few snapshots from our 10 day trip around island of Malta and Gozo.

See full gallery >>

Previous page