In the ancient days of the IT industry, there were many stories of lone programmers writing difficult software such as operating systems, programming languages and browsers by hand. As the industry matures, most of these stories have been settled. But today, we are privileged to witness a young story in progress. The man in this story has made free alternatives to expensive Photoshop available to millions of people around the world.

Ivan Kutskir, who lives in the Czech Republic, is a freelance programmer born in the 1990s. Although Ivan never had a formal corporate job, it was not because he was too good, but because he was too good: he studied at the best university in the Czech Republic. Since his school days, he has supported himself by earning pocket money from his programming talent. He only has to work about 20 hours a month to earn $300 a month to live on — roughly the equivalent of 30,000 yuan a month in China without overtime. Such a free life gives him great space to do what he likes. During that time, he wrote a number of experimental personal projects, ranging from Flash mini-games to 3D model rendering tools. One of those photo-editing projects, called Photopea, has allowed him to live a “financially free” life today with passive income of tens of thousands of dollars a month.

As we all know, Photoshop, sold by Adobe, is one of the most powerful software in the field of image editing. Although this behemoth has powerful functions, Adobe’s monopoly makes it unfriendly to ordinary users: a legitimate copy of Photoshop CC software sells for more than 3,000 yuan in China, which has high requirements for computer hardware configuration. Also, its PSD format is proprietary and can only be opened in Photoshop. So while he was juggling various 3D file format parsers in his browser, Ivan had a bold idea: Could we open a PSD file in a web page?

It’s a bold idea, but any experienced programmer can see that it’s a much more practical idea than saying, “I’m going to reinvent Photoshop.” Ivan’s original plan was this:

  • Start with a simple PSD format parser, which in his experience is not difficult.
  • Add some simple UI to show the layer list and the final preview.
  • Finally, it supports a few simple functions, such as moving layers, hiding layers, exporting JPG images, etc.

Ivan certainly can handle a little demand like that. In 2013, Ivan made the first version, and that’s where Photopea started:

After Ivan released the version for a trial run, he got a surprisingly good response. So he decided to continue to maintain the project, addressing the needs of the users, and that maintenance has been accomplished today. Six years on, what’s Photopea like now?

This is now Photopea. As you can see, the original toolbar on the left is now full, complete with filters, masks, pens, text, magic wand, curves, and more. In addition to full support for PSD files and image formats like PNG/JPG/RAW/SVG, it can even open Sketch files that are familiar to editing UI designers. This powerful work has been widely recognized by users all over the world. How popular is it? A few statistics:

  • Photopea’s user base is doubling every six months. It now receives 2.8 million monthly visits and 5,500 hours a day.
  • People search “photopea” tens of thousands of times a day. In Google searches for “Online Photoshop” and “Online Photoshop,” Photopea ranked first, even ahead of Adobe’s own Flash version.
  • Ivan introduced Photopea’s q&A campaign on Reddit, where he received more than 40,000 replies and over 2,000 comments.
  • Volunteers around the world have translated Photopea into 35 different languages for free. Among them, the author also contributed a number of Chinese translation 🙂

Don’t think Photopea can be so popular just by copying photoshopped looks. Such a picture editor is actually a very challenging Web technology limits. Underneath the interface, there are many of Ivan’s unique skills, many of the technical indicators that still stand out. Here are some easy to understand examples:

  • Image processing is actually very resource-intensive. For example, a 4000×4000 document with ten layers takes up 160 times the memory of a single 1000×1000 image, which will take up 640MB of memory after decompress. At 60 frames per second, that’s 38GB of image data being processed in the web page every second! This is a very rare challenge for the average programmer. Photopea uses the browser’s underlying hardware acceleration technology to ensure basic availability when opening documents of this magnitude.
  • For the average web site, the browser is very stable. But for an app as perverted as Photopea, there are many extremes that can put the browser-level Internet infrastructure at risk. As of today, Photopea has found about 50 bugs in Chrome and about 30 bugs in Firefox. By now, Ivan has even been able to bypass the browser’s standard bug feedback process and write emails directly to developers familiar with the Chrome team to help them improve. In a way, Photopea improves browser stability.
  • Today’s Web applications are getting bigger and bigger. It is almost impossible to consume less than 2MB of traffic when opening the home pages of websites such as Taobao and netease. What about a much more powerful app like Photopea? To go to the extreme, Ivan uses almost no third-party code base and implements his own compression algorithm so that the entire app only consumes 1.4MB of your traffic.
  • Almost every well-known website you can look at has a fairly high server maintenance cost. Google has hundreds of thousands of servers and the annual cost is astronomical. Guess how much a year Photopea’s servers cost? 20000 dollars? 2000 dollars? The answer is — $20. Because Photopea insists on using only the capabilities of the browser itself, its operating costs are almost zero and users’ privacy is well protected.

Photopea is now a fully fledged commercial product. So, does Photopea have a strong team behind it? The most incredible part of Ivan’s story is that even today, all of Photopea’s work — developing new features, fixing bugs, listening to user feedback and publishing an official blog — is still done by Ivan himself! In just a few years, he wrote the most commonly used features of Adobe Photoshop over 30 years by an elite team. He continues to post regular updates on the Photopea blog:

Just developing and running Photopea on one hand is incredible enough. Not only that, but Ivan has also open sourced a number of technologies he developed for Photopea, including font parsing, PNG image codecs, and ZIP compression algorithms. As a programmer, I also used and read Ivan’s code for my work. What is the style of his code? In my impression of the individual, born in Ukraine, Ivan, write the code embodies a kind of su shi’s aesthetics, neither the delicate design patterns, and no application of popular new syntax, more don’t pay attention to line indentation elegant layout, such as the code itself is simple and clear, one pace reachs the designated position, excellent performance and very durable. The open source code is also loosely licensed and has garnered thousands of stars on GitHub.

At this point, we don’t need to tell you much about Ivan’s skill level. However, I believe some students will surely ask, how does he make himself “financially free” by developing completely free software and doing open source volunteer labor? This is a classic technology commercialization problem. So what’s Ivan’s strategy? In the first three years of Photopea, Ivan didn’t make a dime for himself. By 2017, Ivan was working full time on Photopea, placing ads on it, and the AD revenue made him self-sufficient. However, Ivan’s commercialisation is, admittedly, very modest: the ads take up very little space on the page, and you can also donate to a premium membership to get rid of them. But whether you pay for it or not, you have the same functionality! Even with this “no business” strategy, Ivan has been very well paid. As he told me, he will soon be able to buy a house in Prague for all his money. Don’t forget, his income is totally passive income, so he doesn’t have to work overtime.

It seems that Ivan has no problem achieving the “financial freedom” that Chinese people dream of. So what kind of life should he lead? Does he need to work hard by himself every day? Does he have a top-of-the-line studio with eight monitors rolling code around? Would he splash out on a luxury car? In this year’s May Day, the author had the honor to see Ivan in Prague when traveling in Europe. What I saw of his life, it’s probably not what you expect. Here’s me and Ivan in Prague’s Letna Park:

Offline to see Ivan to the feeling of the author, he is almost completely not the pursuit of technology outside the luxury of material life. To this day, he still shares an apartment with friends, uses a cheap Android phone, hasn’t bought a house or a car, keeps a regular sleep schedule and confesses that he rarely visits Prague’s finest restaurants a year. How did he develop Photopea? There’s no top-of-the-line MAC, no undertly luxurious mechanical keyboard, not even an external monitor — just an ordinary ThinkPad laptop in your average bedroom, that’s all. The software he used to write the code was also the old Notepad++, which didn’t have the tools popular among front-end programmers today. To tell you the truth, if he came to a big Chinese Internet company to interview for front-end development, with some interviewers demanding standards for tools, he may not even pass one. Yet it was in this environment that he developed Photopea on his own. Look at his desk. I’d like to sponsor him if I didn’t know he’s actually a lot richer than I am.

Is Ivan and Photopea cool enough? Don’t forget, the results of his work can be enjoyed by all of us. As a regular user, using and sharing Photopea is his greatest support. Even today, the percentage of Photopea users in China is still very low due to some network issues, but we and Ivan are working on that for you! Today we are pleased to report that my company, Xiamen Authoritization Technology, has teamed up with Ivanda to launch a Chinese version of Photopea, authoritization Online.

What does the final photoshop have to do with the original Photopea? This is arguably the most domestic friendly version:

  • While the original Photopea is difficult to access on the mainland, the final version is deployed domestically and can be opened almost instantly.
  • The original Photopea does not have a Chinese font library, but the final version has the mainstream Chinese business fonts built in.
  • The original Photopea interface is in English by default, and the final version is in Chinese by default.
  • The original Photopea has ads by default, but the final version is free for domestic users.
  • The original Photopea and the draft are functionally identical.

I hope you get the chance to try it out and see if Photopea works as well as we say it does! If you have any questions or want to use Ivan’s open source code, you can also follow him on GitHub.

Finish with two Easter eggs:

  1. All illustrations in this article are edited in photoshop.
  2. Draft PS also support mobile phone, quickly open the experience!

Portal – draft online PS

I work on the Web tools team at Authenttech and was the Chinese lead for the Photopea introduction. The full text has been approved by Ivan Kutskir himself to ensure that it is true and valid, and media are welcome to reprint it.