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.
> 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.
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.
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…
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"?
> 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.
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.
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.
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.
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.
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!
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
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.
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.
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.
> 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.
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.
>”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…
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...
> 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.
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.
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.
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.
Congrats on launching!
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
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/
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.
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.
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%
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.
Congrats on your launch! My impression is that this looks quite polished. Can you elaborate on your tech stack?
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
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.
Love the domain name. How did you manage to snag it?
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.