March 4, 2020

Hit $ 8,000 Monthly Revenue

Rik Schennink @rikschennink

After making changes to the Doka Image Editor license price tiers in December, more customers started purchasing the company license, this has caused a revenue increase of around $ 3,500 a month.

Sales December 2018 (around $ 1,500) to February 2020 (around $ 8,000)

In the mean time work has started on a complete rewrite of Doka, I've chosen Svelte to do this. It's a compiler so I can still build towards different other frameworks without having to include Svelte in (for example) a React component. The compiler can also export to a Web Component. The new version is going to offer undo/redo functionality, more customisation options (custom views / buttons), an even more native feel, smaller footprint, and better performance.

I'm planning to open source some of the Svelte components and actions I'm working on.

  1. 2

    Congrats Rik, glad the changes worked out. Out of interest, when was Doka first deployed?

    1. 5

      25th of November 2018, had been working on it since March that year.

    2. 1

      Yeah, I'd love to know this too

  2. 2

    super growth, nice job and useful project for me thanks.

    1. 1

      That's great to hear!

  3. 2

    Inspiring stuff. Nice one Rik.

  4. 2

    Awesome growth, thanks for sharing.

  5. 2

    Gongrats, super cool! What does rewriting mean in this case? Do you have to do it all over? That seems like a lot of work for little gain? Would love to know more!

    1. 1

      The current version is based on a custom written render engine (same engine as the one I used for FilePond) but I find it's getting very difficult to add new features (adds weight and it's very verbose). At this point it's hampering growth, therefor, time to rewrite the thing. I've waited for a while because I wanted to make sure I wasn't scratching my developer itch.

      Fortunately it's not as difficult as starting over as lots of tricky parts I already have solutions for, but it does take some time. With wanting to add more flexibility I also have to think things through a bit more (better API). So I'm taking my time to get it right.

      1. 1

        I mean 8k$ doesn't sound bad, what makes one person say "lets rewrite this better"? I mean if something works and produces enough $$$ why work harder?

        1. 2

          Because it's getting difficult to add new features/fix bugs. This results in not being able to add popular feature requests (that make sense), which might mean they'll be forced to look for another solution eventually.

          Also, it helps that I love building web components and enjoy pushing browser tech to its creative limits.

          1. 2

            Good reason, btw, the visuals of the website are stunning. Mind sharing how to get started with these kind of looks?

            1. 4

              Thanks! Ehm, I'm not sure, I sometimes browser Dribbble for inspiration, mostly it's experimenting with what's possible with web tech. I've been messing around with webdesign and development for nearly 25 years so I think it's also simply experience, doing lots of different things (3d / game development / animation / etc), then trying out what works on the web.

  6. 2

    crazy!! congrats rik! 🥳

  7. 1

    Wow Awesome Rik...!

  8. 1

    Congrats, hey are you the same guy that created filepond! Love that React module...

    1. 1

      That’s me! 😄

  9. 1

    That's amazing work Rik!

  10. 1

    nice, very nice.

  11. 1

    Wow, congrats Rik!

  12. 1

    That's amazing! Congrats!

  13. 1

    how do you ensure people renew licenses, or even purchase to begin with? (aside from the word "copyright" in a comment) I found your js in a minute. ok it's obfuscated but I can still use it. do you even check the domain being used?
    I would like to build some commercial library as well but I'm reluctant to count on client-side commercialization for long... tips?

    1. 6

      The code is "uglified" but not obfuscated, obfuscation adds additional nonsense and domain locking, it's just annoying and also adds a lot of weight so would impact the demo site itself. I don't check domains, it's another point of failure and annoyance so I've decided to not go there.

      I think the amount of devs that are able to rip scripts and still implement the ripped scripts correctly is shrinking. I find more and more devs rely on frameworks and components made for those frameworks. They are not comfortable looking under the hood and working with vanilla JS and CSS (which in this case is what you would be ripping), the package however contains adapter components for all popular frameworks.

      If you want to run a business on "ripped" scripts then be my guest, I wouldn't take that risk. Also, I think devs who do so are not my target audience. So instead of worrying about piracy I focus on customers who are willing to pay. Around 90% renewed their yearly licenses so far so I guess I'm doing something right.

      Customers can access the code and support on the private PQINA customer portal, if the license expires they can still access versions up to the date the license expired.

      Don't worry about the code being client side. Build something awesome and customers will come.

  14. 1

    Hey Rik, congrats! I was wondering the potential of using Doka in a product customizer tool? I have a manufacturing company and we do a lot of in-house print on demand stuff, looks like it has potential to be a great tool for that.

    1. 1

      Hi! Sounds like a good fit, if you want you can reach out at and provide some more info about the tool, happy to discuss options.

  15. 1

    Congratulations! 👍👍

    Amazing what a change in pricing can do. Always amazes me how a simple change can make such a profound difference.

    1. 1

      Thanks Anita! I was equally amazed :D

  16. 1

    Amazing result! Congrats Rik. I am curious, how was your experience with Svelte?

    1. 1


      It's been great so far. It still has some quirks (nothing crazy), the GH repository is super responsive so that's nice, and it's just very refreshing writing reactive statements and using the Svelte stores to build interfaces. It's very performant as well.

      At this point, I'd love it if they'd add TypeScript support. Apparently it's coming.

  17. 1

    Hey! I'm also working on in Svelte. I'm really enjoying it, but I'm curious to hear what you think!

    Unfortunately, I just found out this morning that Rollup can't do dynamic imports, which is very unfortunate since it's blocking a feature of mine. I'm going to investigate today to see if Sapper can fix this issue.

    1. 1

      Isn't that, it does work in this Rollup REPL

      Maybe I'm missing something?

      I've been really enjoying Svelte, namely the reactive statements and the stores + derived stores, they allow such a different approach to logic.

      1. 1

        Wasn't able to get it to work unfortunately. Do you know if this is only supported in Sapper?

        I got to the point where the import was working, but it was trying to find the file and looks like rollup wasn't adding it during the build phase, so it was 404-ing. Progress, but not enough.

        Sorry to detract from the main point of your post!

        1. 1

          No worries :)

          I have no experience with Sapper yet, love to try though, but as far as I know both Svelte and Sapper are unrelated (apart from author) to Rollup.

      2. 1

        Looks like maybe the dependency I am using is trying to require() instead of import(), causing the issue. Thanks for mentioning this, let me see if I can fix it!

Today's Top Milestones
  • $5,000 MRR and $15,000 in revenue in 80 days!
    ![]( 80 days into Software Ideas, and we've hit the $5k milestone! $5k is significant, because it's the halfway to the
  • First 10 subscribers
    From Twitter traffic alone, got its first 10 subscribers Here's the Tweet: I
  • Launched on Product Hunt 🚀
    I posted on PH today! I don’t have a large following so I’d appreciate any upvotes and
  • New SERP features are released!
    You can see the new SERP features in Screpy. - You can see related keywords now. Suggestions with the highest search volume for each word. - Check Key
  • New Tool: SERP Simulator
    The last few weeks I've opted for a slightly different direction. I parked the SSL dashboard stuff I was working on and worked with @alistairtweedie o
  • Launched a landing page optimisation blog 🍗
    I have now completed 150 landing page roasts. One of the biggest challenges I have is driving sales. There are lots of founders that want a service li
  • Venturing in the land of SEO
    My co-founder and I built various products over the years. Recently, we built Organisely, an appointment management system for beauty salons and denti
  • First paid subscriber!
    After publishing over 50 free posts on Remotely Inclined, I began to look for ways to make the newsletter sustainable. I learned that people want more
  • Launched on Product Hunt 🚀
    Hi Indiehackers 👋 ! I'm so thrilled to announce my first launch on Product Hunt 🚀🚀🔥 Misakey is a way to send encrypted professional documents and
  • Searching for the Unicorn Called Perfection
    Just one more tweak to the landing page. That headline is not quite right. Rewrite! My customers won't buy it if I don't have creditability. I can't l