Hi, Janko here, bootstrapping w/ InvoiceFox

Hi all,

My name is Janko, I’m coming from Slovenia (Europe). My main product is an invoicing app InvoiceFox. I am making specific versions for specific countries. The most successful so far is (surprise surprise) the one made for my country (called Cebelca.biz … where “Cebelca = Small bee”).

But long term focus is on making the other countries’ versions work and grow as good or better.

Otherwise, I am a programmer. I often use different not so common programming languages and in general don’t care for frameworks and other non-crucial code lumps :slight_smile: (like jQuery).

I listen to the bootstrapped podcast when I find time.


Welcome Janko :slight_smile: Curious what language(s) you wrote InvoiceFox in?

Hi joe3ch, the server side is written in Rebol, the mobile app is being written in Kotlin :slight_smile:

1 Like

Awesome - I’ve never heard of either :slight_smile:

Rebol’s intro is quite amazing:

REBOL is not a traditional computer language. It’s not for everyone. It’s for thinkers and doers – those who want more power and flexibility in their language, and those who want to solve computing problems in smarter more elegant ways.

Kotlin? Wow, that’s the first time I’ve heard of someone using Kotlin commercially. I’m guessing you are a fan of JetBrains. :slight_smile:

What platform is the mobile app for? And how do you make Kotlin work on it?

@joet3ch: REBOL is interesting language and quite different than the classic bunch. It’s a lot like a lisp without parenthesis. It’s absolutely homoiconic (code is data) that you can use in runtime for achieving interesting things. You can create your own dialects in it and it has various unique viewpoints (like 37 data types).

It also has some concrete problems, the biggest two that it’s currently used in practice version 2 is not open source and that development on it isn’t really active. The version 3, which is conceptually really awesome and partially open sourced has been dragging for ages. That’s why in last years few OS implementations of the concepts appeared, the most promising is Red (www.red-lang.org). The developments of Red is going great, but it still needs time to be practically useful.

@SteveMcLeod: I am not big on Java, JetBrains or Kotlin. But when I was making Android app I started looking for a solid more functional language (there are many langs. in JVM ecosystem now) that could be used instead of Java. I landed with Kotlin, which is really great (as c/algol based functional languages can get) and integrates Java / JVM perfectly! It can use any Java library directly, it can talk to Java code in a project and Java can talk to Kotlin. So I started rewriting Java classes in to Kotlin one by one, while the app still compiled and was functional. I considered Clojure and Scala also, but I had many reasons to prefer Kotlin.

1 Like


Have you seen Java 8’s additions for functional programming? It was released two weeks ago. It is pretty good, with full lambda expressions, although you still have Java’s rigid type system leading to clumsy things such as Function, IntFunction, LongFunction, DoubleFunction, etc…

I like functional programming, but I find the paradigm doesn’t fit well in a C/Algol language due to most objects and variables being mutable. It is too easy to create nasty race conditions.

@refaktor FYI, on homepage spelling mistake “Fast and efficient invicing for your small business!”

@SteveMcLeod I didn’t look yet at Java 8, but in a way Java can’t change too much because then it would not be “Java” any more, and tons of Java devs rely on it to remain Java. So while I like Java in general it has to carry a lot of the burden of it’s past still around. I mean decisions that were perfectly reasonable at the time, but which might now be a hindrance. These alternative languages have free hands to keep just what makes sense now and remove the rest. At least partial type inference is a big plus yes. https://twitter.com/refaktor/status/424886095902294016

I agree about C/Algol + FP :slight_smile: … But it seems tons of these (ml meets C) are being made from go-lang, to various JVM based …

@Lewis uh, that is bad! I fixed it. I had a problem at converting signup -> active user at InvoiceFox all along. Especially big compared to InvoiceFox in my native language. First theory (1) was that it fails because of many subtle copy/help-text related mistakes or weird sentence structures (I am not native speaker). Then I thought the whole app just isn’t polished enough yet for as competing market as US. I got a guy that would help me go through UX and find how we can improve and first thing he noticed was a lot of (1). So I was just planning to get a proofreader. But I didn’t expect such mistake on the front page :blush: tagline! Thanks!