Pintura Image Editor

A JavaScript Image Editor for your Website

Visit Website
June 15, 2020 Calculated Churn for Past 6 Months

I calculated churn for the first six months of Doka Image Editor sales (end of 2018, start of 2019). While I posted a celebratory update at the end of 2019 somehow the numbers for the following months dropped considerably.

Dec 12 -> 11 -> 10%
Jan 14 -> 8 -> 42%
Feb 18 -> 11 -> 38%
Mar 14 -> 6 -> 57%
Apr 20 -> 12 -> 40%
May 28 -> 16 -> 42%

I'm not sad but I would've liked more retention ( obviously :D ).

Some thoughts:

  • The info is based on a very low number of sales, so it could be just the universe fucking with me.
  • The software license is perpetual so cancelling doesn't prevent devs from using the product, therefor it's easier to cancel and repurchase later.
  • Some customers decided to cancel and re-purchase a new license (license models are slightly different now).
  • Peak in March may be related to COVID-19, but then again, it's just so random with the low numbers.

End of June 2019 was when I changed up the license model from domain based to project based, also, sales really started to grow by that point. So I'm very curious to see what the numbers will be for the next couple months.

Comment

March 4, 2020 Hit $ 8,000 Monthly Revenue

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.

34 Comments

  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

    nice.
    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 https://pqina.nl/doka/contact/ and provide some more info about the tool, happy to discuss options.

  15. 1

    Woohoo!
    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

      Thanks!

      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 codernotes.io 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!

February 3, 2020 600% Increase in Company License Sales

Two months ago, around mid December, I tweaked the Doka Image Editor license model and price tiers, I wrote about the changes here

In short:

  • I renamed the "Developer" license to "Individual", better describing the customer group.
  • I renamed "Team" to "Company" for the same reason, will probably change this to "Small Business" later.
  • Limited the project amount from "unlimited" to "one" for the "Individual" tier.

These changes should trigger companies (web agencies) to purchase the company (unlimited usage) license and not the "Individual" license. At the same time it shouldn't have to big of an impact on the "Individual" license, if you're an individual you're probably using Doka for one product.

Normally I'd sell one maybe two Company licenses a month, but in January I've sold eight! 😱

Now, I suspect this is related to the license changes, if that's the case then I should be seeing an increase this month as well. If it's on the other hand an anomaly then I'd like to ask the universe to stop playing mind games.

Fingers crossed 😅

Edit: After submitting this I had some doubt about this being a Milestone or not. I've decided to leave it in place as I feel it is a Milestone because it's the desired result of better fitting the product pricing to the customer base.

12 Comments

  1. 1

    First time I'm seeing Doka, but you've done an amazing job, beautiful product!

  2. 1

    Very nice results from the plans change!

    I was a bit confused by the landing page, I thought it was a SaaS, not a product/script (and I was wondering why would anyone use a SaaS for client-side image editing).

    1. 1

      Thanks! and thanks for the feedback, I’ll see if I can make that more clear :)

  3. 1

    Congratulations! 🍷Thanks for sharing the insights.

  4. 1

    Reminds me of that book "Freakonomics", which is all about the human psychology of economics.

  5. 1

    Awesome finding....

  6. -1

    This comment has been voted down. Click to show.

    1. 2

      Thanks! I’m not sure what you mean, I’ve averaged out the total licenses sold, which is around 1.3 so 600% is factual, right? For the record, it wasn’t meant to be clickbait.

  7. 1

    This comment was deleted 6 years ago

    1. 1

      That would be so crazy!

  8. 2

    This comment was deleted 3 years ago

    1. 1

      Haha, thanks 🙏

      With this relatively low sales volume every change in sales feels like it's a result of a change to the product page, it's difficult to not jump to conclusions.

December 30, 2019 87.5% of Customers Renewed License

This month, after a year of waiting, I finally got to find out if the subscription model I choose for Doka Image Editor was going to work. The software license I sell is perpetual which means if you cancel your license you can still use the product but you no longer receive new updates and support. This had me slightly worried about the amount of potential cancellations.

I wanted to make sure that customers don't accidentally renew their license and have enough time to cancel if they wish. The Gumroad store I use to sell my software automatically sends a reminder 1 day before the subscription is renewed. In my opinion that's a very short notice. I decided to send a heads-up email 2 weeks in advance. If the customer has any questions or concerns that gives us enough time to address/discuss them.

So this month the first 16 Doka customers had the option to cancel their yearly license and fallback to the perpetual one. The numbers are in and only 2 decided to cancel.

After looking at the cancellation details, one cancelled (no reason) and the other customer was forced to cancel because of financial reasons, he was happy with the product but simply couldn't afford renewing at this time.

I'm actually quite happy with the numbers so far and am very much looking forward to see what January brings.

Happy new year to you all, here's to a fantastic 2020 🥂

12 Comments

  1. 2

    Wow! What a great way to put your customers before profits. It obviously paid off 👏

    1. 1

      Exactly what I was thinking! Fantastic 2020 to you and Doka.js, Rik!

  2. 1

    Congrats! For SaaS you will want to keep increasing those renewal rates, but still very impressive early on!

    1. 1

      Still experimenting with the price point but plan to keep people at the price they started their subscription on, in a sense it’s like an early adopter discount.

  3. 1

    Congrats on the retention! I'm curious: Is your pricing model $x/year for the perpetual license + support/updates, or is it $x/year for the perpetual license + $y/year for ongoing support/updates?

    If a user cancels their subscription, can they start it again at any time and receive all previous updates?

    1. 1

      Not sure I understand the question.

      As long as your subscription is paid for (has been renewed) you get support plus updates. When it expires you no longer get support and updates but are allowed to use the product. When you subscribe again you regain access to all previous and new updates.

      You cannot extend a subscription once it has expired. So buying a new one might mean purchasing at a new price point.

      1. 1

        Thanks, you answered my question! Here's a little context in case you're curious:

        One of my products is fairly high-priced "packaged" software. A customer who purchases the software gets a perpetual license for that version of the software. The user may also choose to purchase annual support and maintenance for approximately $1,000/yr/license, which among other things gives them all software updates (e.g. new feature adds).

        A problem that I'm facing is that customers sometimes want to start an annual support subscription after it has lapsed in order to get the latest version. I'm working to develop a pricing model that allows for this but does not encourage it.

        Happy to create a new post about this if folks are interested - I don't want to hijack this thread. Let me know!

        1. 1

          I’d be interested in that as it’s the reason I don’t offer monthly subscriptions

  4. 1

    Congrats on those numbers! Doka seems like a very cool product! I'm sure one day I'll be one of your users :-)

    To be honest, I don't like at all subscription-based software. I understand if you don't offer tech support after a time, or if I have no access to upgrades. Bug-fixes are a different thing though.

    But locking me in, without knowing what you are going to build (sorry, I'm using a figurative you) and thus not knowing whether I will get any value out of the subscription feels like a scam. You know, I could by Photoshop and wait for 3/4/5 years before upgrading, because the new features didn't add that much value to me. Now, I would have to pay a subscription to use the product.

    1. 2

      Hey! Thanks for your feedback.

      The subscription model offers me a more predictable income which makes it easier to plan future updates / features. As a customer the fact that it is a subscription should give you more confidence in the viability of the product (this is based on customer feedback) which is important if you're going to integrate this is on your own product.

      Note that the license I offer is perpetual, so if you decide to cancel your subscription, you're free to keep using the software for however long you like.

  5. 1

    That's an excellent retention rate, Rik. You're killing it!

  6. 1

    This comment was deleted 6 years ago

December 11, 2019 Attempt to Increase MRR With Price Tier Change

95% of my customers purchase the "cheap" developer license shown below.

Developer license (109/year)

  • 1 developer
  • unlimited projects
  • normal support

Team license (449/year)

  • 5 developers
  • unlimited projects
  • priority support

After doing some customer research I noticed about 10% are existing SaaS products, 15% are start-ups (assuming from gmail/hotmail accounts etc.), near ly 75% of customers are web agencies. BUT nearly all of the agencies purchased the developer license.

The price of a team license should be far from shocking for a web dev agency (certainly when building multiple sites which agencies mostly do). To get more agencies to purchase the team license I decided to remove the "unlimited projects" option from the developer license. The developer license is still very suiting for startups and team license price should be very reasonable for profitable SaaS products.

By changing the price tiers to ones below I hope to make it better fit to my customers and see a change in purchase behaviour in the near future.

Developer license (129/year)

  • 1 developer
  • 1 project
  • normal support

Team license (499/year)

  • 5 developers
  • unlimited projects
  • priority support

Learnings for me. Things were going fine but I wasn't keeping a close eye on what kind of customers were buying. By monitoring that more closely I gained valuable insights into how to better position my product and price points.

21 Comments

  1. 2

    Hey Rik, I'm a big fan of a three tiered pricing model. Anchoring is when you have a high price on the right hand side, your chosen price in the middle and a low price on the left. The anchor is simply there to make the middle price look like a good deal. If you look at some bigger SaaS companies they use it. What's the difference between normal and priority support?

    1. 2

      Thanks @nomis_mikah I think I'm doing this on https://pqina.nl/doka/ but I might be wrong :D

      Normal support max response time is 5 business days, priority support is 2, priority support also cuts in line of "standard" support requests. I now realise I don't explain this on my product page, so might be a good idea to do so. Thanks for asking :-)

      1. 1

        Yes you are. Ok. So the only difference between the middle and the organisation option is the number of developers. Agree with Chris's comments below. Your real challenge is how do you police it. 🤔

        1. 1

          Yes, that's the only difference.

          I hope the "request support via the dashboard" will help police it a bit. But honesty if customers want to cheat then they will, if they want to pirate, they can. I've decided it's better for me to focus on customers that do want to play fair. Based on emails I get I find that most bigger companies want to make very sure they buy the correct license.

          1. 1

            I think your approach is a good one. And as you say if people want to get around the system they always will find a way. You're right about the bigger companies. They have to be 100% compliant which means making sure they do the right thing. Maybe that's where you focus should be and lose the smaller players?

            1. 1

              I've been moving in that general direction :)

              The higher price point also results in less support requests / more knowledgable customers. It's a higher price point compared to my older Envato plugins, compared to products like HighCharts/AMCharts/Webix Doka is still very cheap.

              1. 1

                I think that's def. the way to go. It then keeps you guys focused on the needs of your higher value customers.

  2. 1

    @rikschennink That's a great image editor you have there. Great work! Have you considered offering dynamic prices for individual developers? The reality is that developers in the Netherlands have vastly different incomes from developers in Eastern Europe, USA, etc. You could be capturing more revenue from devs with higher incomes, and increasing conversions with lower prices for devs earning lower wages.

    1. 1

      Thanks! I've considered pricing based on geographic location, because I'd love to have everyone on board, but it's currently not supported by Gumroad (my payment provider). Also, most of my cost is in support, and my support time is the same for everyone. One option would be to make support optional, haven't explored that enough yet.

      1. 1

        Geographical pricing would be great. Wes Bos uses this pricing strategy successfully.

        1. 2

          @rikschennink @mintran Ah, that's a great point regarding payment providers only supporting customers in certain locations. In any case, I'd be happy to help with my product https://modernpricing.com when pricing changes make it on your roadmap. Keep up the great work!

  3. 1

    I bet you could 3x your revenue by changing $129/year to $29/month.
    It's a lot smaller commitment, yet net revenue would be higher.

    Also, what features do they use on Dev plan vs. Team plan?

    You could easily offer most used features on Dev plan, but offer the 20% of rarely used, but needed, features on the Team plan. This way your customers would try on Dev, like it, and then run into the problem of needing that one more feature, and have to upgrade.

    Possible up-gradable options:

    • Load, transform, and save SVGs
    • Transform input images to other image formats
    • Easily integrate with third party libraries (whatever this means)

    Also, as someone who had to struggle with EXIF on Waddle, I can tell you that Copy JPEG EXIF data to output image is definitely a premium feature, especially if you support the new iPhone image format. It's a monstrous pain the ars!

    Image-manipulation of any kind is a pain, so perhaps your best bet isn't to try and convert people to higher plan, but to get 100x more developers to use your library.

    Personally, I am now using IMGIX on backend, because it's easy. I don't know if they have a good editor, but if they don't , you should partner.... or find someone like them, who is worse, and make their systems better.

    Hope this helps!

    1. 2

      Thanks for the feedback, very much appreciated. Some excellent food for thought :-)

      About the monthly plan. I'm hesitant because a monthly plan might make devs subscribe for a month, download the library, and cancel, then resubscribing when they need an update. Maybe I should just try this out for a week with a "fake" price panel.

      1. 1

        Perhaps that's the main reason they are not paying for more developers, because you are making it easy to download the code and use it for 10,000 people, if they want.

        Can you enable API keys on your library, thus only making it useful for paying customers?

        For example, I could get all the code for Intercom or HelpScout, but neither will work if I stop paying.

  4. 1

    Hey Rik, this looks like a great move!

    Suggestion: Since it doesn't really cost you anything more to add more developers to the system, I wouldn't cap it for the "Team" license. 5 feels really arbitrary anyway. If it's a large agency, they're just going to funnel support requests through those 5, just like they were/are with the 1.

    I also like the idea of bumping the "Developer" license to 3-5 projects. Or at least allow freelancers to buy additional project licenses at a reduced cost.

    1. 1

      Thanks!

      It's arbitrary, but also, if you can hire 5 developers, USD 499 shouldn't be an issue. Bigger companies do purchase double or triple team packages to cover their developer count, I find those companies also have legal department so want to do things right. I like the freelancer license idea.

  5. 1

    Nice work, the easiest way to increase revenue is to either charge more or get customers to bump up plans. I'm sure this will give you a nice MRR boost.

    One thing I would consider is maybe allowing the developer project to have 2 or 3 projects? As a developer I hate it when I love a cool tool, it's great so I don't mind paying for it. Then I have a super small side project but am forced to pay a bunch of money for the tool I already love on a site that I know is only going to get 100 users max.

    I guess it comes down to pricing in the amount of value your customers get from your product. I think ideally you would want to price on traffic, or users. Unfortunately, it looks like you would have no way of knowing that.

    1. 1

      Thanks!

      With every change I see what feedback I get from potential customers and adjust accordingly. Very curious if I'll start hearing this more now the default license is no longer unlimited.

      Pricing on traffic/users/etc is very difficult without adding something that calls home which would introduce all sorts of other trouble. I find seats scales best with organisation size, also bigger organisations often choose to play nice.

  6. 1

    Agencies tend to go with the cheapest option they can get away with so I would expect them to sign up with a single developer license and simply share the credentials.

    I can see this would be difficult to manage from your perspective as the per-seat licensing is offline so you have little control over it as there is no login / dashboard for you to enforce the per-seat restrictions.

    1. 1

      They might, and some probably will, there's nothing I can really do about it, and I've accepted that, hoping to see some change 🤞

      I'm working on a dashboard where customers can add "developers" which can then request support using the dashboard. If they'd share the account then everyone would be able to access everything (like manage licenses etc.) which might be scary for some companies.

  7. 1

    This comment was deleted 6 years ago

    1. 1

      Thanks, so nice to hear that! :D

      Exactly, it should be pocket change, but for me it's quite a lot. The tricky part is to make the developers working for the agency to understand this, work in progress :D

      I've considered this but "Agency" is kinda of a mismatch with the customers that use it for a SaaS. Maybe I should add a description below the tier title. Something like "Perfect for SaaS solutions or Agencies"

December 5, 2019 + $ 1,000 New Sales in a Day

I've been selling plugins for a couple years now but never have I sold more than $ 750 in a single day. Yesterday thanks to selling a double team license and a couple of developer licenses sales suddenly spiked to $ 1,067 in a single day.

I've been planning to finetune the Doka license model and I might have to move this forward. The difference between the developer and a team license isn't very big at the moment (it's basically priority support) so more differentiation might push companies to team licenses more often.

5 Comments

  1. 2

    That's amazing! Congratulations!

    Your milestone title caught my interest and when I started reading, I recognized Doka from one of the posts I've got queued up for @DailyStartupClb on Twitter. You can check out the post/date here: https://thedailystartup.club/app/doka

    P.S. if there's a better date, please let me know, I'd be happy to adjust the schedule to fit any other marketing/sales efforts you may have planned :)

    1. 1

      Thanks! Go ahead, I've got nothing special planned :-)

  2. 1

    This comment was deleted 7 years ago

  3. 1

    This comment was deleted 6 years ago

  4. 1

    This comment was deleted 6 years ago

    1. 2

      I think good polished UX does work indeed, but communicating the value (and recognising it myself) is quite a challenge :-)

      1. 1

        this is a great point. Communicating the value and convincing developers to use your product is the hardest thing to do, how you did it?
        are there any books or resources to learn such a thing?

        have you ever got some negative feedback like:

        • why I buy your editor since there are free and open-source alternatives?
        1. 2

          I booked a session with Pedro Cortez (https://www.cortes.design) he specialises in SaaS page content. We transformed the previous content to one aimed at communicating value instead of features. I only just began adjusting the existing copy towards the new set up.

          I also work on FilePond which is an open source MIT licensed file upload library. In my opinion this does three things:

          • Creates goodwill, I'm giving something (of quality) away for free.
          • Network effect, more developers know about me / my products.
          • Makes the step towards integrating Doka a minimal 1 minute job, which makes the value of Doka even higher.

          To be honest, I haven't had any complaints in that area. Maybe the UX difference between the available open source solutions and Doka is so big that it's not really a fair comparison.

      2. 1

        This comment was deleted 6 years ago

December 2, 2019 Passed $ 5,000 Monthly Revenue

This month I celebrate the one year anniversary of Doka by reaching a record $ 5,285.25 of sales.

Doka licenses are based on annual subscriptions, and the first four customers that bought Doka last year also renewed their subscriptions, including those renewals November netted $ 5,482.25 in sales.

In the mean time I soft-launched the Doka for WordPress plugin that replaces the default WordPress image editor with Doka.

Plus I finally got around to building a customer portal. This will allow customers to set up automatic updates for the WordPress version and give them easier access to the latest version of Doka.

🎉

45 Comments

  1. 3

    Your business model and execution are amazing. Love what you are doing. Congratulations on the revenue!

  2. 3

    Very nice product and great landing page. I like the ability to test its features right above the fold.
    Congrats Rik!

    1. 2

      Thanks for the feedback, glad to hear that!

      1. 1

        You're very welcome buddy!

        Congrats again!

        Can I ask what have been the most valuable methods to promote Doka? What channels do you use?

        1. 2

          I've published an open source file upload solution (FilePond) and it integrates seamlessly with Doka, a big portion of my customers started with FilePond and then integrated Doka for editing of images. It's been a big help.

          The launch on Product Hunt went well and I still see sales coming in with PH as referral.

          I try to do some content marketing, target keywords related to popular frameworks and image editing. In the articles I write I offer honest solutions and also present Doka as an alternative.

          That's the big 3 I think :-)

          1. 3

            That is fantastic, thank you so much for your feedback.

            I love the idea of writing articles comparing the different products related to yours. It's a fantastic way to tell people about your product while offering a useful comparison at the same time :)

  3. 2

    Really awesome. Wish I had a side project that needed it! Even though I don't, I just blasted it out to my LinkedIn network.

    1. 1

      Thanks Sean, very much appreciated!

  4. 2

    Nice work man! I always get stuck at $5,000MRR. I have done 3 businesses in my life, and all of them got stuck at $5k. I hope you don't fall into the same slump I do. Good luck, I'll be watching and cheering for you to hit 10k.

    1. 2

      Thanks Shane! Fingers crossed 🤞 Hope you reach it as well! 🙌

  5. 2

    Beautifully done, Rik! I can't wait to add Doka to my app.

  6. 2

    Congratulations, Rik!

    What an amazing milestone. Really, really well done!

    PS: your product page has a self-reported revenue of $4k!

    1. 1

      Thanks! I fixed the revenue number :-)

  7. 1

    Great work Rick, from our experience, things started to really picking up after 5K MRR! Best of luck, Sabba

  8. 1

    Love the product and the onboarding!

  9. 1

    Congrats! Just checked out Doka.js and it looks very nice and intuitive to use. Was looking for a similar tool so I might get a Doka.js subscription for one of my projects soon :-)

  10. 1

    Wow, what a slick and amazing image editor. Congratulations, and I will certainly be looking at incorporating your solution in my own startup in the near future.

    1. 1

      Thank you! Let me know when you get started!

  11. 1

    Congrats! What an achievement!

  12. 1

    Congratulations on hitting an amazing milestone. Doka.js looks great. Keep up the great work!

    • HY
  13. 1

    That's a great achievement, also I have been following and loving this script.
    Mind sharing your top sources of converting traffic?

    1. 1

      Thanks!

      I think affiliates from open source maintainers / traffic from filepond (own open source file upload solution) are converting best. But I'm not the best at measuring things / setting up analytics and stuff, so I could be wrong.

  14. 1

    Well done!

    Did they all renew, so essentially 0% logo-churn?

  15. 1

    congratulations Rik! I am also in the process of building my first plugin

    1. 1

      Awesome! what kind of plugin are you building?

      1. 1

        It is a woocommerce reporting plugin [https://www.infocaptor.com/woocommerce-reports-and-dashboards]

        Right now in test phase.. You have been a great inspiration for me. I was looking for ways to increase exposure of my app and then I stumbled on your interview. I then explored codecanyon marketplace and was really inspired with the idea to make a plugin..

        1. 1

          That is amazing and exactly how I started out, I wish you good luck!

  16. 1

    Congrats Brother!

  17. 1

    Congrats! So it's MRR or ARR?

    1. 2

      To be honest I don't know, it's all yearly subscriptions, should I sum all months and then divide by 12 to get MRR or should I use latest month as indicator.

      1. 1

        The way to calculate MRR is to take any active subscriptions at the end of the month, if they are annual then divide by 12, if monthly just take those values and sum it up.

        1. 1

          Okay, good to know! Thanks.

      2. 1

        If it's $5,000 in total for the year then it's ARR

        1. 1

          Okay, I guess then it's $5,000 ARR for November.

      3. 1

        Personally I would use the latest month since you'll have annual subscriptions starting and stopping each month, and (hopefully) more starting than stopping each month.

  18. 1

    Congratulations man!

  19. 1

    Well done! Great achievement :)

November 28, 2019 First customer renewed subscription!

The very first customer that purchased a Doka.js subscription renewed yesterday afternoon. There's four more customers that purchased in the first week so very curious to see if they will renew as well.

I send out a renewal email two weeks in advance and would expect customers to instant-cancel if they were planning to not renew. Since no-one has yet, I've got high hopes :D

Comment

November 1, 2019 First Attempt at Content Marketing

Yesterday when searching for "javascript crop image aspect ratio" I noticed all the top hits were links to Stack Overflow.

Combining the page views of the first couple Stack Overflow links shown as Google results almost hit 100K. So I figure maybe if I write an article on cropping images with JavaScript to fit a certain aspect ratio it might just top the results? And offer a more straightforward solution for developers using that search query.

I wrote a quick 3 minute tutorial yesterday morning and posted it online mid afternoon. It outlines clearly how to crop images to fit a certain aspect ratio and the reader receives a nice ready to use code snippet and demo at the end.

Then I highlight the challenges awaiting the reader if they would want to extend this further and offer them Doka as a possible solution.

It's currently ranking #1 for those exact search terms 🎉

Now I'm not sure if this is temporary (because it's only been online for such a short while) or if it's permanent, but either way it should result in some very specific organic traffic.

You can find the article below: https://pqina.nl/blog/cropping-images-to-an-aspect-ratio-with-javascript/

11 Comments

  1. 2

    Thanks for sharing your experience in content marketing :)
    The question is how your article affected your sales or at least the amount of your visitors?
    Thanks!

    1. 1

      Certainly. I find selling web components is about creating awareness so that when the time comes devs need an image cropper they think of my product. Maybe this article will generate more immediate sales as devs are actively looking for a solution, I’ll update when I know more.

  2. 2

    Hello, the content ranked because the domain name is having some backlinks (and has gained Google's trust). If you should buy a domain name today, and write the content tomorrow then submit to the Google search engine, I doubt if it is going to get crawl the next day. And actually, the keyword is so less competitive. So it ranked because:

    1. The keyword is less competitive. You shouldn't expect the same for "JavaScript Loops" keyword.
    2. Your domain age and the authority (backlinks).
    3. It's like you host Doka.js there before moving to doka.photo, so some traffic has been sent to it (I also visit then, you have a nice project!). And I guess, it's from here that you get the backlinks, you may not build them yourself.
    1. 1

      Awesome. Thanks so much for for this info, every interesting. Luckily for me I’m looking for devs using these specific queries so I’m happy to catch those.

      1. 1

        Yes, it's better you write more content on these stuff. I'm very sure you are going to rank for them easily, but you may not get many traffic because many people aren't searching for it (that's why it is low competitive). Good luck!

  3. 2

    Google will boost new content to see how it does and then depending on results will rank you accordingly.

    1. 1

      I was afraid that I might be cheering to soon :D Curious to see what happens in a week time. Do you have any experience with this?

  4. 2

    Also #1 on Google and DuckDuckGo for me. Probably because it's a really good article providing real value to people searching for that exact thing, for free.

    I really like posts like these, concrete, usefull and practical, thanks for sharing!

    1. 1

      Thanks Will, so glad to hear that, I find it tricky to balance the commercial aspect with the offering-something-useful aspect of it, it seems in this article the balance is good.

  5. 1

    Great article Rik, I hope it does well!

September 16, 2019 Launch free online image editor based on Doka

Last Friday morning I figured I could use all the Doka functionality I build thus far to offer people a free online image editor.

The image editor can then be used as a way to make people aware of Doka and to send them to the product page if they want to use Doka on their website. So I uploaded the editor HTML page, added a small link at the top right, and made the world aware with a small tweet.

That's that. I was about to go make myself an espresso when Smashing Magazine (980K followers) retweeted my tweet. Uh oh. Let's postpone that espresso. Two hours and some bug fixes later it was time for a timeout and that espresso.

The tweet has now been viewed 154,000 times, 4,500 people clicked the link and played around with the editor, of those, 150 clicked through to the Doka landing page. It has already generated some new leads so that's great.

8 Comments

  1. 1

    Doka looks awesome. Good job!

  2. 1

    Hi,
    I really like your product and its design looks so professionally! May I ask you a couple questions (actually 4 :)?

    1. How do you market it and create awareness of your product?
    2. How do you check how many developer seats your customer actually use?
    3. How do you send updates of your product? What if your customer changes something in the code, how hard to update?
      Thanks a lot!
    1. 1

      Thanks! Glad to hear that!

      1. This editor is part of marketing it, but also writing articles, redirecting traffic from FilePond

      2. I don’t, it’s trust based

      3. Updates are the same as with other plugins, if you alter the sourcecode it’s more difficult to update. To remedy this, Doka exposes a couple of callbacks that you can use to alter its default behavior.

      1. 1

        Thanks for your answers, good luck!

  3. 1

    I saw it earlier. Looking good and the animations make the whole experience so pleasant.

    Congrats on the reach!

  4. 1

    Nicely done! :)

About

Image croppers and editors online don’t feel native, they all feel like websites, Doka Image Editor changes this and offers users an experience that might as well be native.