This week I asked a few questions to Kevin Goedecke, founder of XD2Sketch, that I met at the last Indie Hackers Meetup in Berlin.
He successfully built and monetized a tool converting Adobe XD to Sketch files and is now trying to find new ways to help designers and grow his product.
I’m a software engineer and graduate, mainly experienced with React and Node, also plenty of experience with AWS. Last year, I worked as a freelance developer for WeWork, Lidl and a few smaller clients.
During my last startup (VR virtual tour app for real estate - LookAround) I’ve learned how to validate ideas early stage and how to keep things lean.
At the end of last year I started XD2Sketch.
XD2Sketch allows designers to use XD files in Sketch and convert between file formats. The vision is to allow designers to work with what ever format and tool they prefer and not lock them into just using one tool.
One day I had to convert a XD file myself and I found out that there was no converter out there whatsoever. One full moon night, I decided to start building it. Many many nights later, it launched ;-)
I mainly get the users through organic google search and a few Reddit posts. You don’t necessarily need to be big to rank on Google!
Designers pay per file conversion. As simple as that.
The first and biggest challenge with XD2Sketch was that neither the Adobe XD file format nor the Sketch file format are fully documented.
There is currently no information at all about the Adobe XD format out there. And if I say NO documentation then I also mean not even blog posts that gives you a slight idea of what’s going on in there. Bottom line this was and still is the biggest pain point of the project.
Thankfully for the Sketch format there’s a library by Amazon which allows you to create Sketch files programmatically and additionally Sketch started releasing documentation on types they use in their files.
In the very beginning, in order to reverse engineer the Adobe XD file format I started creating very simple files with rectangles and circles to understand the basic types of shapes and which output Adobe XD generates. At least the JSON was readable and had a somewhat straightforward structure.
Throughout the converter itself I decided to mainly use functional programming practices with Node. The reason I picked node wasn’t necessarily the performance but rather my previous experience and the existence of the Sketch constructor library by Amazon. During the course of the development of XD2Sketch I came across a lot of bugs even in the library provided by Amazon (🙅♂️ hello open source contribution). The nice part of that was that I had first touch points with people working on similar things, which is always very nice thing.
By now the converter itself has grown to over 5000 lines of code, of which many lines are very mathematical and require some deep understanding of 2D programming and work with things like SVG.
To sum it all up, it was quite the ride 🎢.
Currently my biggest challenge is to find more pain points my customers may have in order to add more value and attract more users. I’m trying to set up a lot of calls with current users to get to know more about their workflows.
Validate before you build something! Setup landing pages before building a product. Keep it LEAN!
Definitely to have finished yet an other project. Most of my projects never made it to a release!