> I kept finding myself using a small amount of the features while the rest just mostly got in the way. So a few years ago I set out to build a design tool just like I wanted. So I built Vecti with what I actually need...
Joel Spolsky said (I'm paraphrasing) that everybody only uses 20% of a given program's features, but the problem is that everyone is using a different 20%, so you can't ship an "unbloated" version and expect it to still work for most people.
So it looks like you've built something really cool, but I have to ask what makes you think that the features that are personally important to you are the same features that other potential users need? Since this clearly seems to be something you're trying to create a business out of rather than just a personal hobby project. I'm curious how you went about customer research and market validation for the specific subset of features that you chose to develop?
I think a successful product strategy can be "build something you love, see if others love it too". If that's enough customers, you can judiciously expand out from there. The "fail honestly" method.
This is the best way to build products imo. I'm like this, and I've been accused of being very "vibes-based." However, that's a way more tractable way of shipping stuff instead of "well Jim said he wants X, but Amy said she wants Y" so you end up just kind of half-assing features because you think they might get you users, instead of just being passionately all-in into a very defined product vision (which is a very Jobsian way of doing things).
It's also easier to run a feedback loop. If you implement Y, but Amy doesn't give you $5 a month, what are you going to do? Knock on her door? Users have no idea what they want half the time, anyway.
If you build a product and no one cares, it bruises the ego a bit more, sure, but if you self reflect, you can eek out your own bad assumptions, or bad implementation, or maybe a way to pivot that keeps your product ethos.
Which is where the bulk of the other 80% of features come from. It’s a cycle.
You start as you describe, you expand, you end up with this enterprise monstrosity, everyone using a different 20%. New tool comes along, you start as you describe…
If ten people make focused tools covering different 20% subsets of the giant ones, there's a good chance of having a choice that matches what any given customer wants. And for most customers, that's going to be a better match than a big tool that does tons of other stuff they didn't want.
> Joel Spolsky said (I'm paraphrasing) that everybody only uses 20% of a given program's features, but the problem is that everyone is using a different 20%, so you can't ship an "unbloated" version and expect it to still work for most people.
To me this is an argument for more apps that do less extremely well instead of a handful of apps that do everything poorly. There's nothing wrong with a tool that's honed for very specific user. They'll never hyperscale, but that's also fine.
Or then again maybe they can. Google Docs is plenty popular despite being closer to WordPad or TextEdit in terms of functionality than it is to MS Word.
In my experience, what people use is very malleable to how easy/good the flows are they are presented with. Given 100 equal options, they might use 20, and nobody picks the same 20, but given 25 options, 20 of which present a very good experience, almost 90% will go with those 20 without complaints.
A quick web search suggests that you are probably paraphrasing a newsletter [1] that Joel Spolsky published in 2001. He was talking about software like Excel (of which he was the Product Manager) and Word. Maybe a tool that is more focused on a narrower task (like UI design) can be less "bloated"?
Makes me wish more apps followed the UNIX model of separating every feature into separate applications with well documented interfaces that only change when new features absolutely require it and otherwise are only updated for security patches.
One common case I notice this is with FFMPEG. Everything that saves a video needs its own dialog with different settings. It would make a lot more sense if you had 1 single polished FFMPEG frontend that everyone just streamed data to.
On the other hand, I'm afraid that if this did happen that FFMPEG frontend would look like a GNOME app and I would hate using it.
Me, on the other hand, love ffmpeg, because I notice my ytdlp using it and my vlc player sometimes using it and I have two homemade powrshell scripts using it to convert flac to mp3 and whatever. I don't want to open a program and figure out it's UI for those things. It has a job, it does it well, you can sort of pipe things to it and I'm very happy.
I'm not sure you understood what I mean. I'm talking about applications like Krita using FFMPEG to export their data as video. Sometimes they include their own FFMPEG instead of using FFMPEG installed in the system. Each of them has its own dialog. The only way to input custom settings for FFMPEG would be to export in a lossless video format and then reencode using FFMPEG, when you should be able to just "connect" a data stream to an FFMPEG frontend as the input and the frontend has all the options you might want to customize how that data is turned into a .mp4 file or .mov file.
Since this is a commercial product, I'm naturally inclined to compare it to other competing commercial products.
Why would I want to use this over figma? The sidepanels and floating toolbar are ripped directly from figma (to the point I would fear a lawsuit). Figma is already a very clean UI, which tries it's best not to shove too many features in your face. Whiteboard, presentations, dev mode are all hidden behind menus. "no plugin support" seems like a very odd thing to flaunt as a feature. Many of the most popular use-cases of figma, such as interactive prototypes, svg creation, html/css exports are all impossible in this tool.
Then, there is the problem of this being maintained by a single person. Components are essential to any serious figma user, good svg and image handling is important (svg is buggy in my testing), selection colors is vital, color palette is important. When can users expect to see these features if the maintainer is busy hunting down bugs?
This is a technically impressive product, but I struggle to see the market plan. I personally hate distractions in software, I go to great lengths to debloat and disable features to make my computer interactions smoother, yet figma is possibly the last program I would want to clean up.
Thanks for your input. I'm happy that Figma works for you, and I'm not trying to put Figma out of business :)
I’m sincerely humbled to be compared to such an iconic product as Figma.
I started this project as a personal endeavour to scratch my own itch during the pandemic, out of a personal desire to contribute to the field of UX design that I’ve always been passionate about, but at the same time I don’t intend on working as a solo developer for much longer.
Some of the features you’ve listed, are currently being worked on, which are going to be launched very soon.
This. As a heavy Figma user, I don't see why people want to pay $12/month for this product when Figma is as competitive in pricing and much more widely used
I think you’re missing the point a bit. Not every tool needs to be Figma, and honestly, that’s a good thing.
I’ve been using Figma for a while, and true, it’s powerful. At the same time it becomes increasingly complex, difficult, bloated overall. Simple tasks now require navigating through multiple menus, and the learning curve for new users is steep (took me a while to understand it, and the same experience had it acquaintances of mine). Sometimes I just want to sketch out an idea or make a task without dealing with all that overhead.
The no plugin support thing actually makes sense to me. I’ve had Figma slow down or crash because of poorly maintained plugins. Having a tool that just works, consistently, without worrying about plugin compatibility or security issues? That’s valuable.
And yeah, it’s a solo developer versus a massive company (that’s my understanding) but that is why it’s beautiful. Also it’s an uneven comparison if you ask me (but didn’t :)) ).
However, the fact that this is even being compared to Figma shows the quality of what’s been built. Not everyone needs enterprise features. Some of us just want a clean, fast canvas without the friction. Every new feature of Figma feels like an attempt to monopolize the entire market.
I think he did an incredible job. Good work. This has value.
People ship stuff that doesn't make sense at first blush all the time. But how are they ever supposed to even get into the space if they don't try something? Try to get some customers, see what people want. On day one, he's not saying he's going to compete with Figma. He's just getting it out there. Your comment—You could say you're just asking questions or giving constructive criticism, but it just assumes the negative on so many levels. I can criticize your viewpoint. Why do you think someone should have a product that's ready to compete with Figma on day one? Do you seriously expect him to have an answer for that?
There is space for this. The things you list as negatives are positives. Feature parity or similarity to a big competitor? A plus. Single developer? For a certain kind of consumer, a plus.
A lot of software developers are seduced by the old “80/20” rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies.
Unfortunately, it’s never the same 20%. Everybody uses a different set of features.
And there are hundreds if not thousands of Show HNs and YC funded companies that have disappeared in a whimper trying to be the “smaller lightweight version of $x”
Congrats on launching. I spent a decade trying to build a design tool. I think I built almost 40 prototypes, to various degrees of completion. Never got to a point where I felt it was good enough to share. It's an incredibly difficult thing to do, so kudos to you for sticking with it.
Thank you, and I know exactly what you mean. I myself have rewritten the entire engine ar least three times until I was happy with the performance and the overall outcome. It’s been a long learning experience. As a developer at heart, this project scratched every itch I had from a software engineering perspective :)
there are various little things scattered around the github org - a js framework, a treesitter grammar, some old docs, a vscode extension, a vim-style editor, an AI-powered code editor geared towards design, etc.
Are you still working on this? Because I like the words I see on your GitHub -- vim-style bindings, keyboard driven, sounds like you write a definition language for your designs, basically?
Lik Matry is to Figma as openscad is to traditional CAD (Fusion 360, etc)?
Though that does sound like a huge project to take on!
I don’t know enough about CAD products to evaluate that comparison, but the core idea was to expose language as a design tool. First through code, then through keyboard commands (hence the vim idea). It’s still pretty fun, but LLMs have changed the conversation around what a designer even is, and I’m currently re-evaluating.
Matry might pop up in another form. I’m considering turning it into an actual browser for designers. Right now designers are getting into the code and using Claude/Cursor to make changes directly. But they still have to know how to get the app running locally, which is a hurdle. So if they could just navigate to the site, make some design changes directly in the browser, Matry could then take the changes and create a PR on GitHub for them. Designer wouldn’t have to fuss with any dev tools. Kind of a cool idea.
It looks really nice, but it is subscription based, so ... no thanks. I refuse to give in to this horrible cycle started by Adobe, lo so many years ago.
It's a wireframing tool akin to figma. You create the design for your website/app there, then hand it over to a programmer who implementd it in html/react/flutter/wpf/etc
Nice. My gripe with designer apps is that they are online first. I'd want to save designs to files, close to other files of the project. I'd want to open each file in their own window, not in browser tabs.
I'd be worried about a lawsuit here, primarily due to the overall app architecture and property panel on the right. While there are differences between your implementation and Figma's, it's close enough that things are very clearly Figma-inspired. There've been a lot of Figma copycats, and Figma does have a track record of successful lawsuits against them.
Great work with the backend architecture (a lack of a proper wasm renderer is why penpot will never be competitive), but you're in dangerous territory with the UI.
An MCP server is definitely on my radar. I've seen some really cool workflows coming out of Figma too. Being a one-man show though, prioritizing what to build next is always the tough part. But it's on the list, appreciate your suggestion!
Thanks for this question. I'm humbled by the comparison. I have been following penpot for a while and I appreciate the work they've been doing.
The main difference lies in the rendering engine. Penpot relies on an SVG engine, which limits performance as project complexity grows.
Vecti is built on canvas and WebAssembly (the same architecture used by Figma). This gives us raw performance advantages, allowing you to handle complex, heavy design systems without the lag you might experience in SVG-based tools.
When I started the project I was having a hard time finding a good domain name for the project. Some time later, I came up with this name, and found it for sale on some website for ~800€. I figured it was something I could do, but fortunately I ended up on dynadot's website where it was for sale for a fraction of the price.
I think I got lucky while doing all the work :)
I think you're 4 years too late bro. With AI, you can pretty much get 80% of the way there in a minute. I don't understand why anyone nowadays would build anything from scratch.
65 comments:
> I kept finding myself using a small amount of the features while the rest just mostly got in the way. So a few years ago I set out to build a design tool just like I wanted. So I built Vecti with what I actually need...
Joel Spolsky said (I'm paraphrasing) that everybody only uses 20% of a given program's features, but the problem is that everyone is using a different 20%, so you can't ship an "unbloated" version and expect it to still work for most people.
So it looks like you've built something really cool, but I have to ask what makes you think that the features that are personally important to you are the same features that other potential users need? Since this clearly seems to be something you're trying to create a business out of rather than just a personal hobby project. I'm curious how you went about customer research and market validation for the specific subset of features that you chose to develop?
I think a successful product strategy can be "build something you love, see if others love it too". If that's enough customers, you can judiciously expand out from there. The "fail honestly" method.
I think the Apple II is one example of this.
This is the best way to build products imo. I'm like this, and I've been accused of being very "vibes-based." However, that's a way more tractable way of shipping stuff instead of "well Jim said he wants X, but Amy said she wants Y" so you end up just kind of half-assing features because you think they might get you users, instead of just being passionately all-in into a very defined product vision (which is a very Jobsian way of doing things).
It's also easier to run a feedback loop. If you implement Y, but Amy doesn't give you $5 a month, what are you going to do? Knock on her door? Users have no idea what they want half the time, anyway.
If you build a product and no one cares, it bruises the ego a bit more, sure, but if you self reflect, you can eek out your own bad assumptions, or bad implementation, or maybe a way to pivot that keeps your product ethos.
>”you can judiciously expand out from there”
Which is where the bulk of the other 80% of features come from. It’s a cycle.
You start as you describe, you expand, you end up with this enterprise monstrosity, everyone using a different 20%. New tool comes along, you start as you describe…
If ten people make focused tools covering different 20% subsets of the giant ones, there's a good chance of having a choice that matches what any given customer wants. And for most customers, that's going to be a better match than a big tool that does tons of other stuff they didn't want.
> Joel Spolsky said (I'm paraphrasing) that everybody only uses 20% of a given program's features, but the problem is that everyone is using a different 20%, so you can't ship an "unbloated" version and expect it to still work for most people.
To me this is an argument for more apps that do less extremely well instead of a handful of apps that do everything poorly. There's nothing wrong with a tool that's honed for very specific user. They'll never hyperscale, but that's also fine.
Or then again maybe they can. Google Docs is plenty popular despite being closer to WordPad or TextEdit in terms of functionality than it is to MS Word.
"everyone is using a different 20%"
In my experience, what people use is very malleable to how easy/good the flows are they are presented with. Given 100 equal options, they might use 20, and nobody picks the same 20, but given 25 options, 20 of which present a very good experience, almost 90% will go with those 20 without complaints.
A quick web search suggests that you are probably paraphrasing a newsletter [1] that Joel Spolsky published in 2001. He was talking about software like Excel (of which he was the Product Manager) and Word. Maybe a tool that is more focused on a narrower task (like UI design) can be less "bloated"?
[1] https://www.joelonsoftware.com/2001/03/23/strategy-letter-iv...
Makes me wish more apps had feature toggles
The testing that would be required to support toggles would be for 2^n. I’m not sure that’s a good solution.
> The testing that would be required to support toggles would be for 2^n
I don't think that's really true, unless the behavior of each toggle is tightly coupled to the behavior each other toggle.
Case in point - most mature apps nowadays do have hundreds of toggles for various settings and features.
Makes me wish more apps followed the UNIX model of separating every feature into separate applications with well documented interfaces that only change when new features absolutely require it and otherwise are only updated for security patches.
Yeah I like that idea too. Theres a lot of people who would have trouble with that approach though.
One common case I notice this is with FFMPEG. Everything that saves a video needs its own dialog with different settings. It would make a lot more sense if you had 1 single polished FFMPEG frontend that everyone just streamed data to.
On the other hand, I'm afraid that if this did happen that FFMPEG frontend would look like a GNOME app and I would hate using it.
Me, on the other hand, love ffmpeg, because I notice my ytdlp using it and my vlc player sometimes using it and I have two homemade powrshell scripts using it to convert flac to mp3 and whatever. I don't want to open a program and figure out it's UI for those things. It has a job, it does it well, you can sort of pipe things to it and I'm very happy.
I'm not sure you understood what I mean. I'm talking about applications like Krita using FFMPEG to export their data as video. Sometimes they include their own FFMPEG instead of using FFMPEG installed in the system. Each of them has its own dialog. The only way to input custom settings for FFMPEG would be to export in a lossless video format and then reencode using FFMPEG, when you should be able to just "connect" a data stream to an FFMPEG frontend as the input and the frontend has all the options you might want to customize how that data is turned into a .mp4 file or .mov file.
I feel like HTML and CSS could remove 90% of the functionality and only affect 1% of developers, then we could get some actually good web browsers.
Since this is a commercial product, I'm naturally inclined to compare it to other competing commercial products.
Why would I want to use this over figma? The sidepanels and floating toolbar are ripped directly from figma (to the point I would fear a lawsuit). Figma is already a very clean UI, which tries it's best not to shove too many features in your face. Whiteboard, presentations, dev mode are all hidden behind menus. "no plugin support" seems like a very odd thing to flaunt as a feature. Many of the most popular use-cases of figma, such as interactive prototypes, svg creation, html/css exports are all impossible in this tool.
Then, there is the problem of this being maintained by a single person. Components are essential to any serious figma user, good svg and image handling is important (svg is buggy in my testing), selection colors is vital, color palette is important. When can users expect to see these features if the maintainer is busy hunting down bugs?
This is a technically impressive product, but I struggle to see the market plan. I personally hate distractions in software, I go to great lengths to debloat and disable features to make my computer interactions smoother, yet figma is possibly the last program I would want to clean up.
Thanks for your input. I'm happy that Figma works for you, and I'm not trying to put Figma out of business :) I’m sincerely humbled to be compared to such an iconic product as Figma.
I started this project as a personal endeavour to scratch my own itch during the pandemic, out of a personal desire to contribute to the field of UX design that I’ve always been passionate about, but at the same time I don’t intend on working as a solo developer for much longer.
Some of the features you’ve listed, are currently being worked on, which are going to be launched very soon.
Gotta say I love your humility in the face of challenges from prospective users.
Wishing you the best of success, really like seeing your vision and hope it bears out.
This. As a heavy Figma user, I don't see why people want to pay $12/month for this product when Figma is as competitive in pricing and much more widely used
I think you’re missing the point a bit. Not every tool needs to be Figma, and honestly, that’s a good thing.
I’ve been using Figma for a while, and true, it’s powerful. At the same time it becomes increasingly complex, difficult, bloated overall. Simple tasks now require navigating through multiple menus, and the learning curve for new users is steep (took me a while to understand it, and the same experience had it acquaintances of mine). Sometimes I just want to sketch out an idea or make a task without dealing with all that overhead.
The no plugin support thing actually makes sense to me. I’ve had Figma slow down or crash because of poorly maintained plugins. Having a tool that just works, consistently, without worrying about plugin compatibility or security issues? That’s valuable. And yeah, it’s a solo developer versus a massive company (that’s my understanding) but that is why it’s beautiful. Also it’s an uneven comparison if you ask me (but didn’t :)) ).
However, the fact that this is even being compared to Figma shows the quality of what’s been built. Not everyone needs enterprise features. Some of us just want a clean, fast canvas without the friction. Every new feature of Figma feels like an attempt to monopolize the entire market.
I think he did an incredible job. Good work. This has value.
People ship stuff that doesn't make sense at first blush all the time. But how are they ever supposed to even get into the space if they don't try something? Try to get some customers, see what people want. On day one, he's not saying he's going to compete with Figma. He's just getting it out there. Your comment—You could say you're just asking questions or giving constructive criticism, but it just assumes the negative on so many levels. I can criticize your viewpoint. Why do you think someone should have a product that's ready to compete with Figma on day one? Do you seriously expect him to have an answer for that?
There is space for this. The things you list as negatives are positives. Feature parity or similarity to a big competitor? A plus. Single developer? For a certain kind of consumer, a plus.
Isn’t this exactly the problem that Joel Spolsky wrote about a quarter of a century ago?
https://www.joelonsoftware.com/2001/03/23/strategy-letter-iv...
A lot of software developers are seduced by the old “80/20” rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies.
Unfortunately, it’s never the same 20%. Everybody uses a different set of features.
Trello was a successful product despite having way less than 20% of jira's features
And there are hundreds if not thousands of Show HNs and YC funded companies that have disappeared in a whimper trying to be the “smaller lightweight version of $x”
Congrats on launching. I spent a decade trying to build a design tool. I think I built almost 40 prototypes, to various degrees of completion. Never got to a point where I felt it was good enough to share. It's an incredibly difficult thing to do, so kudos to you for sticking with it.
Thank you, and I know exactly what you mean. I myself have rewritten the entire engine ar least three times until I was happy with the performance and the overall outcome. It’s been a long learning experience. As a developer at heart, this project scratched every itch I had from a software engineering perspective :)
You should write about this, the gotchas and what you learned how to make things performant. Might drive some traffic.
How much of this release was made easier with LLMs?
Are any of your prototypes published or available to view?
there are various little things scattered around the github org - a js framework, a treesitter grammar, some old docs, a vscode extension, a vim-style editor, an AI-powered code editor geared towards design, etc.
https://github.com/matry
Are you still working on this? Because I like the words I see on your GitHub -- vim-style bindings, keyboard driven, sounds like you write a definition language for your designs, basically?
Lik Matry is to Figma as openscad is to traditional CAD (Fusion 360, etc)?
Though that does sound like a huge project to take on!
I don’t know enough about CAD products to evaluate that comparison, but the core idea was to expose language as a design tool. First through code, then through keyboard commands (hence the vim idea). It’s still pretty fun, but LLMs have changed the conversation around what a designer even is, and I’m currently re-evaluating.
Matry might pop up in another form. I’m considering turning it into an actual browser for designers. Right now designers are getting into the code and using Claude/Cursor to make changes directly. But they still have to know how to get the app running locally, which is a hurdle. So if they could just navigate to the site, make some design changes directly in the browser, Matry could then take the changes and create a PR on GitHub for them. Designer wouldn’t have to fuss with any dev tools. Kind of a cool idea.
Your pricing makes it seem like $12 for a year.
It looks really nice, but it is subscription based, so ... no thanks. I refuse to give in to this horrible cycle started by Adobe, lo so many years ago.
Godspeed! This is the software design philosophy that I support! As someone building my own design utility, I'm impressed by the quality of yours.
Any chance this will be open-sourced or have a self-hosted version available?
I'm interested in modding tools in this space in pursuit of finding weird new ways to create and work with UIs
If you're looking for an open-source and self-host option then you might to checkout https://penpot.app/
Maybe its obvious but I can't tell it this is an image editor, a React builder, an HTML/CSS designer, ...? What does it make?
It's a wireframing tool akin to figma. You create the design for your website/app there, then hand it over to a programmer who implementd it in html/react/flutter/wpf/etc
Congrats on your launch! My impression is that this looks quite polished. Can you elaborate on your tech stack?
Thanks!
On the frontend: typescript, react, webgl with an emscripten/c++/wasm engine On the backend: Python, postgres, redis
Nice. My gripe with designer apps is that they are online first. I'd want to save designs to files, close to other files of the project. I'd want to open each file in their own window, not in browser tabs.
Sketch is offline first but has a really stellar online app as well.
Comparing this to penpot, which is free as long as you self-host.
Not sure why I would pick this over a self-hostable battle-tested option.
Ex-Figma.
I'd be worried about a lawsuit here, primarily due to the overall app architecture and property panel on the right. While there are differences between your implementation and Figma's, it's close enough that things are very clearly Figma-inspired. There've been a lot of Figma copycats, and Figma does have a track record of successful lawsuits against them.
Great work with the backend architecture (a lack of a proper wasm renderer is why penpot will never be competitive), but you're in dangerous territory with the UI.
Congrats on launching, looks cool for sure, I'll certainly check it out!
Have you considered adding an MCP server? I've had good results recently using the Figma one just
An MCP server is definitely on my radar. I've seen some really cool workflows coming out of Figma too. Being a one-man show though, prioritizing what to build next is always the tough part. But it's on the list, appreciate your suggestion!
Yes 100%
How does it compare to https://github.com/penpot/penpot?
Thanks for this question. I'm humbled by the comparison. I have been following penpot for a while and I appreciate the work they've been doing.
The main difference lies in the rendering engine. Penpot relies on an SVG engine, which limits performance as project complexity grows.
Vecti is built on canvas and WebAssembly (the same architecture used by Figma). This gives us raw performance advantages, allowing you to handle complex, heavy design systems without the lag you might experience in SVG-based tools.
Trying to login with google I got a social auth error: https://app.vecti.com/dashboard/social-auth-error/
Thanks for reporting, I'm looking into it.
Love the domain name. How did you manage to snag it?
When I started the project I was having a hard time finding a good domain name for the project. Some time later, I came up with this name, and found it for sale on some website for ~800€. I figured it was something I could do, but fortunately I ended up on dynadot's website where it was for sale for a fraction of the price. I think I got lucky while doing all the work :)
Congrats on launching!
Beautiful design! (makes sense for someone that does UI design). Congrats, I'll check it out.
Great job, congrats on the launch!
Fun submission, will have a look :)
Just tested a few things and I gotta say its fairly easy to pick up and do things. UI does feel like Figma for better or worse.
Congrats on completing this project and good luck.
It's beautiful. Great job. Congrats on having the persistence to see this through.
Thanks a lot. I appreciate it. It’s been quite a journey.
I think you're 4 years too late bro. With AI, you can pretty much get 80% of the way there in a minute. I don't understand why anyone nowadays would build anything from scratch.