Johan Ronsse

  • Home
  • Projects
  • Blog
  • Screenshot to Layout released for free

    November 17, 2023 - Posted in build-in-public figma figma-plugins

    You can use my Figma plugin Screenshot to Layout to generate editable text from a screenshot.

    Select an image in Figma, run the plugin command “Process image”, and then see a Figma layout appear with editable text. You can see how it works in this video:

    This plugin is extremely useful to quickly start working on a new design based on a screenshot.

    You will need a free Screenshot to Layout account to use this plugin. Go to figma.obra.studio to get started. Then enter your API key in the plugin itself via the menu item Plugins > Screenshot to Layout > Enter API key*.

    Pro tip: there is also a command you run called Process image so you only ever need to open the plugin once, to set your API key.

    Note: this plugin might shut down at any time if it gets popular due to the processing cost of sending your image to Microsoft Azure for processing. We are releasing it for free to test if it vibes with an audience, before overthinking the aspect that it might get popular.

    Privacy: Do note that your image gets sent to a server, and the actual image data can be retrieved from the logs. We don’t look at the image passing through this service, except for debugging reasons, but be careful with OCR’ing sensitive data.

    *Note that these instructions are for an older version of Screenshot to Layout. For the newest, refer to the website.

  • Obra Icons indie report: how I launched – how it’s going. 2 sales, but powering on.

    November 8, 2023 - Posted in bootstrap build-in-public obra-icons

    I launched an indie project called Obra Icons on October 1st. This is a report of how it’s going.

    The initial version took me about 7 days of work total + around 3 days of external freelancer’s work to work out the initial version.

    What is it? It’s a set of 750+ vector icons, both in stroke and filled variants. The icons are ideal to use in user interface designs.

    The website has all the icons downloadable for free, and there is also a free Svelte package.

    The commercial aspect is a $15 license to get the Figma source files and original vectors.

    I posted a version of this blog post on Indie Hackers which is a community for, well, indie hackers. The blog post was intended for that audience but I am putting it here to make sure it’s archived correctly.

    After launch I decided to work full-time for my client(s) because of an influx of work. Given evenings and weekend work I managed to put around 3 more days into the project after launch myself, and paid for 2 more days of freelance work to improve the project over the past month.

    For the initial iteration, I designed and developed the website, put the icon set up for sale at $20, developed the Svelte package with a freelance developer and launched it on Product Hunt (pretty poorly).

    The design of the marketing website has since received several small copy and UX tweaks but more or less stayed the same.

    For the initial iteration I dove into the setup to be able to sell the source files and quickly compared SendOwl, LemonSqueezy and Paddle with each other. In the end I chose SendOwl, which is connected to Stripe for now.

    The platform works but I don’t love it though. The checkout page is very ugly and unclear. Since I only have 2 sales so far, I am not going to spend time finding the right merchant of record – but maybe I should since the checkout does not inspire confidence.

    I released Obra Icons as Obra Icons 1.0.0 with 350 icons. I followed up over the past few weeks with 10 more releases, which goes fast since I count adding icons as a release.

    Together with the team I grew the icon count from 350 (initial release) to 750+. I personally believe the icons are always getting better and we are reaching a great quality level. Although I’ve found the overall quality to be decreasing as we add more exotic icons. Let me tell you, it’s not that easy to draw a car at 24x24px.

    I am also dogfooding my own work the whole time, using Obra icons in my design projects. When I discover flaws I go in and fix them.

    One thing that really annoyed me was the search engine on the website icons page. In a previous project I made a manual keywords file to provide better search. A design goal of Obra Icons was to be able to update the set easily, so we explored automating things.

    In the first iteration of Obra Icons we chose to generate the keywords by the OpenAI API using a custom prompt. This worked OK, but I quickly discovered that some icons have multiple meanings. For example, a typical refresh icon might as well pose as a redo icon. An icon that depicts sparkles is often used for “ai” these days.

    We then improved the search engine adding additional logic to the scripts that parses the layer name in Figma (e.g. sparkles[ai]) into a manual keywords file which should get priority in the search.

    The search is not perfect yet but it’s kind of fun how it can generate interesting results you wouldn’t think of yourself some times. We use Orama in the background.

    Now, what about the commercial aspect? The project is sold directly and via Figma’s community. It has been sold twice directly via SendOwl, and not yet via Figma community.

    What do I think after one month and “only” 2 sales? To be honest, it’s pretty thrilling to receive a sale from an indie project. I am happier with an indie sale than another billable hour on a client project.

    I don’t track stats on the website so I have no idea how much is it visited, but the npm package has 7,238 weekly downloads. Not sure where all those are coming from, but that’s nice!

    I created a discount code to give the set away to some friends. I am getting some nice and positive reactions. Since it’s a digital product, I can give it away for free to my designer friends, hoping they can help promote it – because I am sure anyone following me on X is already annoyed by my promotional tweets.

    I have lots of ideas to improve, on the planning:

    • Create a blog
    • Create a React dev package (maybe Vue? Does anyone still use that?)
    • Blog about the process
    • Keep improving the set!
    • Maybe some SEO blog posts (Christmas icons! Halloween icons!) but it’s not really my style to dirty up the internet

    Right now I don’t really know where my priorities are with this project. I might move on and only maintain it lightly. It was supposed to be a small project after all.

    I want to blog about it more and see if I can get any “design influencers” to promote the project.

    I lowered the price to $15 and I am planning a sale in December for $10 to experiment with pricing. I think it’s good to do pricing experiments with light, small projects like this.

    I am constantly thinking about how to improve things. First of all about which icons to the set and how to improve the drawings.

    Talking about drawing quality, I went as far as starting the design of a first font, to be able to support icons with letters and numbers in them in a better way. I drew the characters of a full alphabet in uppercase and lowercase in Figma. I started to learn Glyphs, too. People on the Glyphs forum say Figma is not a great vector tool, and I agree it has shortcomings, but for this project I rather like it.

    I know my way around Figma and its features such as autolayout combined with the scripting/plugin capabilities it has, I am able to work at a scale that I’ve never been able to work before.

    To support that working at scale, I created a custom Obra devtools plugin to handle all kinds of manual actions to be able to maintain the consistency of the set while scaling it up with hundred of icons. Through this I got better at creating Figma plugins, which helps with another project I have, which I might revive soon.

    It’s funny how working on this project is affecting my outside behavior. I take photos on the streets of icons I see in real-life and I’ve never looked more closely at any graphic design around me as before.

    If you’ve made it this far, all feedback is welcome, and in exchange for your feedback you can get a discount code to download the set for free. Thank you for your attention!

  • Icon requests for Obra Icons

    October 3, 2023 - Posted in obra-icons

    Yesterday I launched Obra Icons 1.0.0. We are already actively working on the next version which will mostly contain more icons. But which icons are you missing? You can see full, searchable list of icons here. Hover over an icon to copy or download the SVG, or to copy the Svelte import.

    If you have any requests, let us know, and we will consider it. Let us know at iconrequest@obra.studio or make a Github issue.

  • Bootstrapping update (4) – Obra Icons

    October 1, 2023 - Posted in bootstrap build-in-public obra-icons

    It’s the start of month four of my bootstrapping journey.

    In June I stated I wanted to build something in public, build something that’s real and provides value, see if ideas get traction, and experiment or learn new things.

    I have some doubts about the “build in public” part, since essentially you are sharing all your built-up IP for someone to take it. I’ve always been of the school of thought that even if people might take your work, they must also be able to do something with it and that requires certain skills. Increasingly those skills are becoming mainstream, and it’s becoming easier than ever to learn anything; thus maybe some IP protection is in order.

    It kind of nags in the back of my mind that when building in public basically you are sharing all your business “secrets”. Des Traynor said it interestingly on X: “If you think you’re building “massively disruptive, AI first” product, it’s important to make sure you’re not just doing unpaid R&D for the incumbents.” I also feel like what most people are sharing in their “build in public” story is really only the pretty parts and not the doubts, the problems and the negative thoughts. I’ve started reading The messy middle, and that’s exactly what that book is about.

    Anyway, I felt like I wanted to do a little project before jumping into the “big” one. Mostly because of timing – I am going on a holiday, and I want to have a clean break before and after the holiday.

    The little project I’ve tackled over the past 2-3 weeks is Obra Icons 

    That bootstrapped project time I have is approx. 2-3 days a week now. This is new and a change of schedule: the months before I just did everything in my free time.

    I am considering using that time in my schedule in the future to tackle my main idea (see this post), or alternatively to find a second consulting project. For the main idea I am looking for a (technical) co-founder because it’s not something to just do by myself.

    An alternative scenario in my mind is that I can find a client in the US timezone with an exciting project. That’s why I now mention freelance availability on the general Obra website. Being in Mexico, we have overlapping timezones, I can easily travel to the US, and I’ve long wanted to work for a company with a US culture of getting it done.

    Will the client come to me or will I have to do a deep search to find the ideal match? Will I find a business partner for BrandingKit? I am putting it out there – and I am starting networking and searching.


    Back to Obra Icons – this has been an exciting project to work on. I feel like I managed to do a lot in not that much time:

    • Design and develop the website at icons.obra.studio
    • The setup to be able to sell the source files 
    • Improve the icons themselves with fellow designer Marina
    • Work on the development of the Svelte package for Obra Icons: importing an icon in your project is as simple as writing

    import { IconFish } from "obra-icons-svelte"

    • See this REPL
    • Work on the search aspect of the website, powered by AI to have a fuzzy search
    • Iterate on the commercial and license aspect

    The website is ready to use today, as well as the Svelte package.

    The commercial aspect, which is about downloading the source files, is almost ready ready to go. For $20 you can download the source files, which should be super handy for any designer wanting to use and/or extend the icon set.

    If you have any feedback about what’s already there I would love to hear it! E-mail me: letsbootstrap@johanronsse.be.


    Looking a small bit ahead, I’m excited to visit South-Korea and China the next few weeks.

    I’m looking into some reading – re-read The Innovator’s Dilemma, read The messy middle, and maybe play something new on my Nintendo Switch. If you have reading or gaming tips, be sure to let me know.

    Over and out!

  • Bootstrapping update (3)

    September 16, 2023 - Posted in bootstrap build-in-public

    Wednesday I had a day to work on my bootstrapped projects.

    First up I had a meeting about Obra Icons with a fellow designer. This is an initiative to create an icon set that is basically an upgrade to Mono Icons.

    I spent the rest of the morning investigating some of the design decisions behind the icon set. One of the goals is to be able to export straight from the Figma file, even generate the docs site and corresponding dev packages.

    The reasoning behind this is that when it’s easy to update the set, it can grow indefinitely, and always become a bigger set over the years (as needs for more icons arise).

    Another goal is to have a beautiful set, that matches with common UI patternsm, so I am studying all kinds of design details to make sure the base decisions of the set make sense.

    In the afternoon I had a technical assessment meeting about Brandingkit, my brand portal project. With a technical analyst and developer I went through the ideas and checked how they can be built. 

    Friday I also had a day to work on my bootstrapped projects.

    First up I needed to do some organizing and created a github org for Obra.

    The thing is that there are multiple initiatives (Screenshot to Layout, Obra Icons and Brandingkit), next to client projects, andI want to organize those properly, either in code or in design.

    Good organization is necessary. So far the repos had been living on my personal Github account and some of the structures, especially around monorepos became a bit unclear.

    After this housekeeping I used Bike to think about where I am with those different initiatives and structure my thoughts. I’ve been trying this little app. I don’t yet know where it falls between using a reminders/todo app and streamlining your thoughts in some kind of mindmapping software. But the interactions are super well done and it’s interesting to follow the evolution of it, so I’m along for the ride.

    The main thing I am working on is a brand portal project. I talked about this in the previous post. 

    I had a marketing site design lying around for it, and I decided to test some no-code tooling.

    Design for the marketing site in Figma

    I found a workflow that makes sense to me, which is a Figma to Framer export, and then fine tuning in Framer. As I get more used to Framer, I might want to start in Framer directly.

    The result after a few hours of work was a simple landing page at brandingkit.net.

    Right before that, I tried to come up with a good product name. One that has an available domain, that people can understand, and that ultimately can become a good company name. I don’t love brandingkit but it does what it says on the box, and it’s 2 english words, and I managed to grab a relatively common .tld. So for now I went with that.

    .net always reminds me of some 80s computer hacker’s first website but OK, it’s what I have ;)

    I am pretty impressed by what Framer has managed to build. Basically the idea is to design with what is called “auto layout” in Figma in mind, for every part of what you do. You create frames, which are set up as flexible boxes, with content inside them. The content has styles that can react to different breakpoint. It’s as if Webflow had a baby with Figma, backed by some seriously impressive UX. 

    Do I mind that the code is not perfect? Yes. Is it OK for a one-off landing page that might change anytime? Also yes.

    In general, my time is divided now between a main client project, Obra Icons and BrandingKit. The idea is to release Obra Icons when it’s ready, and to do more research and prototypes around BrandingKit.

    Thank you for following my bootstrapping journey. Over… and out!

    This is a post in my bootstrapping series. In June ’23 I started off with the idea to build a bootstrapped business on the side. You can read the initial post here.

    If you have any feedback on one of the projects or ideas, I would love to hear it: e-mail letsbootstrap@johanronsse.be .

  • A new plan: brand portal

    September 2, 2023 - Posted in bootstrap build-in-public

    My new plan is to build a brand portal product.

    What is a brand portal, you may ask?

    It’s a place to document your brand assets, like a logo, colours and icons.

    Why is this helpful?

    • To keep your brand consistent – you can send people to the brand portal
    • To provide a more direct way to get brand assets – nobody likes hunting for the right asset in Dropbox folders, or to get the right asset out of a PDF document

    I created one for Doccle. And I think this could be an interesting product for more companies.

    Right now I am

    • doing user and competitive research
    • developing small prototypes
    • designing the first ideas for the user flow

    I often post little nuggets on X and Mastodon. If you are interested in following my journey, follow me there or subscribe to this blog’s RSS feed.

  • Bootstrapping update (2)

    August 29, 2023 - Posted in build-in-public figma

    Today I want to talk about why it’s probably not that interesting to release Screenshot to Layout to the public, even though I put a lot of effort into it in the month of July.

    I am not saying I won’t ever release it, but it needs to be part of a bigger plan. In the meantime if you are interested, I can drop you a copy to install locally and a testing API key.

    Right before my holiday I delisted my plugin. It’s actually ready to be out there, it fully works and it’s an addition to my workflow.

    But… I haven’t found a way to release it in a way that won’t give me maintenance work forever.

    One of the indie goals is to make meaningful money off of a side project. Otherwise I might as well consult on UI design projects or scale up design work through an agency logic.

    The problem with Figma plugins is that the market is really not that big.

    If you look closely on the Figma marketplace, you can probably tell pretty fast there are relatively few plugins making money.

    There are some UI kits listed where, if you divide the views/uses between 100 to get a sense of the revenue, you end up with something like €20-€400 which is frankly not worth the effort. I am not that interested in UI kits either. I don’t think they lead to good design.

    Then there are some paid plugins that might have made a meaningful amount but they are few in between. I think some people made some money, but no one made meaningful money.

    Let’s say I release the plugin for cheap and 100 people buy it. Now I have to support the plugin for a long time, even though the amount they paid was less than a coffee.

    I could release it for free to promote something else, but if it gets popular I can’t start charging users, because

    1. that’s not how the Figma plugin marketplace works. You can’t make a free plugin paid
    2. It’s also not how I want to work. If it’s paid, there’s a promise of working software that provides value (and keeps providing value). If it’s free, there’s much less of a promise in there.

    If 100 people buy it, and the amount was $20, it would still be less +-3 days of UI design consulting. For those 100 people, I would now have to:

    • Maintain my Supabase user logic ($25/month although I could probably get away with the free plan then)
    • Maintain an active Azure account that I have to monitor
    • Deal with any issues that arise
    • Provide other support, around invoicing (and the ways to provide support via Figma’s tools are pretty limited, can’t even refund!)

    If 1000 people buy it, then we are talking about a meaningful amount of money – $20k. But now, first 15% gets cut off by Figma themselves, and then half by the Belgian tax collector. So in reality we are still talking about $8500 (+-€7800).

    That’s nice money but very hypothetical, amd depending on a 1%-4% conversion rate of trial to paid user, I would need between 25 000 people interested and 100 000 people looking at it.

    If you look at the these numbers, compare them to the most (free) popular plugins on Figma that reach +-200-500k users – you can tell the market just isn’t there.

    Then there is the hassle of making a trial of a Figma plugin. You can’t really. Via their systems it’s either 24 hours refund on a paid plugin or 7 day trial but then you have to force people to pay monthly. This doesn’t vibe well with my ideas around payments.

    Jan suggested a yearly fee which sounds like a good in-between between annoying SaaS pricing and not getting anything out of active users when supporting a product for years.

    But to implement such a structure, I would need to set up Stripe, connect it to my Supabase accounts and basically invest more in setting up my own infrastructure. This way I have access to subscriptions, refunds… which would solve some of my woes, but not all of them.

    Ideally, Figma will improve their payment APIs.

    Right now you basically have to roll your own logic or (probably) prepare a world of support pain. Unless your plugin is really simple and you know it will always work reliably.

    Furthermore, there is not that much plugin development activity. At least the community around plugins is rather silent on Discord in general. This worries me from a developer standpoint.

    So that’s a long explanation why I am not going to go ahead with releasing my plugin for now.

    But hey, I learned something. A lot actually. On to the next project!

  • Delisted

    August 9, 2023 - Posted in build-in-public figma figma-plugins

    Yesterday I de-listed my plugin from the Figma community, before I even had my first user.

    One week before, I happily pushed the publish button and set a price tag of $20. I was proud to have made something worth charging for, but the whole week it was nagging in my head how it was not ready.

    The doubts kept growing.

    I was stressed about it, but now I realize: it’s not a bug… it’s a feature! No having a plugin live is my peace of mind for the following weeks, while I enjoy a little holiday in Europe.

    The plugin doesn’t need to be live yet. Whoever is interested can ask me to test it locally, and I need to gather a bit more feedback before launch. This also gives the other team members more time to make things more polished without any unnecessary stress.

    Over the past month I’ve been working hard on Screenshot to Layout and to be honest it has been a bit intense building the plugin itself — but also all the operations around it. Intense,

    Little did I know that to build this plugin, I would also have to build an accounts system, write a privacy policy, learn about layout algorhitms, up my database skills, get better at Typescript, set up a reverse proxy, learn the Figma plugin API and sooo much more.

    I put over a hundred hours on top of my regular job in this plugin, and while I am proud of the end result, I don’t want to ship it yet.

    The main problem I have now is the pricing. I know I have something of value, and I want to charge for it.

    What I want is for my plugin to be a utility that somebody can use for the next five+ years, just paying 1 fee.

    Figma’s pricing pushes you to a SaaS if you want to offer a free trial, and I hate that pricing mechanism for a design plugin. Who wants to deal with little monthly bills of $1? And is the plugin worth $60 over a period of 5 years? I don’t think it’s that good. Not to mention the admin hassle it creates.

    Right now I am thinking about publishing 2 versions of the plugin, but that seems like a distribution hassle in itself, and I have no way to know which API key belongs to which user.

    Another idea is to take the payments part fully off-platform and implement it with a Stripe subscription instead, but that means building more infrastructure to support those mechanisms.

    The jury is out there… but first I am going to take some time off.

  • Screenshot to Layout Pro: released!

    August 3, 2023 - Posted in bootstrap figma figma-plugins

    The first version of my Figma plugin Screenshot to Layout Pro has been released. Use Screenshot to Layout to generate editable text from a screenshot.

    If you have any questions, or would like to request a trial, don’t hesitate to contact me at figmaplugins@obra.studio .

    Check it out on the Figma community

    Edit: The plugin has been delisted while I work out some kinks.

  • A bootstrapping update

    August 1, 2023 - Posted in bootstrap figma

    Over the past month I’ve been on a little indie hacker journey, where I built my first freemium plugin for Figma: Screenshot to Layout.

    Essentially it’s an OCR plugin: it recognizes text from screenshots and renders it back to Figma.

    In my first version, I used a file input.

    I felt I had a nice breakthrough when I realized I could run my plugin as a command, and have no user interface at all.

    Using the command pallette
    Loading…
    … and done!

    Over the past month I’ve contemplated various UI options but I always keep coming back to having no user interface at all. Except to enter the API key, upgrade your account, there are no UI options to be seen.

    Right now I am close to launch, and looking for testers. Testers will get free usage of the plugin for their honest feedback. Register your interest here!

← older
newer →
  • ©2025 Johan Ronsse
  • X
  • Mastodon
  • Portfolio 2024