Show HN: I completed shipping my desktop app (pimosa.app)

526 points by anshrathodfr ↗ HN
Hi, I'm a developer and first time i shipped the real product after observing the startups and indie hackers community for years.

I had made so many useless apps [you should check my website https://ansh.life], but this time I built a very useful product that has a number of super easy-to-use tools in one app for video, music, and photo files. Users can compress, convert, resize, and do so much more with easy-to-use tools.

Background: I developed a frame-by-frame video cropper to upload cropped landscape videos to Instagram Reels. However, it required FFmpeg, and as a noob video editor, I decided to incorporate more user-friendly video tools. I then introduced image and audio tools to maximize the capabilities of FFmpeg. I use my app daily, and it has surprisingly generated a few thousand dollars for me.

302 comments

[ 2.3 ms ] story [ 267 ms ] thread
great work OP, and really nice website and testimonials. good hunting!
Congrats! I would work on your demo gifs a bit. The audio wave form one is very frustrating to watch. You select every available option, slowly, and then _finally_ click generate and show about 0.5s of the finished product before the gif loops. It could start with a 5s example of the finished product and _then_ show you all the various options.
What software do you use for generating those demos of how the software works? Or did you edit them yourself?
The default video editor that comes on my vivo phone seems to have more features than this..
I mean, you don't exactly record it on your phone either.
What does this do that other similar tools don't? There are millions of video editing apps out there. What's your moat?
What’s the moat of the millions of others? 99.9% of business don’t and can’t have a moat.
Yep. You only need a moat if you have a fort.
Did the OP pitch you for VC? Why do they need a moat?
I read the GP's post as sarcastic. But Poe's Law makes sarcasm hard.
Why should one pay for an app containing features one could get for free somewhere else? A google search for "free video editing software" gets 650M hits...

Just to be clear, this isn't a criticism of the software on technical grounds. I don't doubt that the OP knows what he's doing. It's the commercial aspect of it that I don't understand.

The moat is, it was built by a single dev with capital efficiency. This is what millions of other video editing apps backed by VCs lack.

On top of that the app has organic views as it ended up on top of hacker news that lot of these apps haven't.

Great job, love seeing new desktop apps!!
dope! did you use tauri or electron?
i used Flutter to build an entire app. thank you!
[flagged]
I'm aware of a person who started a "startup" and made a revolutionary new way to resize and manipulate images server side.

The whole thing was a simple PHP script invoking imagemagick. They made it available over an API.

Sold it to eBay for more than $1M.

"Congrats to being a slave to the capitalist system"
This kind of reply is tiresome.

Every piece of software is providing an abstraction for libraries. Unless you're sitting there pushing raw machine code, you're just being an annoying hypocrite.

Building a good UI is not to be sneezed at- it's a lot of very important work to get a user experience that isn't a dreadful series of checkboxes with limited choice.

I haven't downloaded this so I can't tell if he has succeeded, but charging for a good user experience on top of a open-source library is a pretty classic thing.

> congrats on wrapping ffmpeg and charging for it!

I doubt that people who are capable of using ffmpeg are the target group here.

"dropbox is just rsync with a bit of cute UI"
That's unnecessarily flippant, even if it were just an ffmpeg wrapper do you imagine every person is a software developer who knows how to use the command line? This is clearly geared toward content creators. And even though I am technical I usually use random websites from Google to accomplish this stuff, looking up magic ffmpeg commands is (not fun)[1].

Actually ran into a random issue before where the first result for "convert video to MP4 with ffmpeg" would produce files not playable by Quicktime on Mac, you needed to pass in some other codec argument to make it work. So even ffmpeg is not a panacea for technical folks.

Additionally this take is just incorrect. If you scroll down the landing page to "Super simple video editor" you'll see it has cool features where a GUI shines, like cropping a video to a specific section while scrubbing through it. Good look using ffmpeg to do that.

My advice to OP is to make those GUI features more prominent in the landing page compared to "converting videos" -- I think most social media apps will accept the common video formats created by most phones so that's probably more niche than some of the editing stuff.

[1] https://xkcd.com/1168/

> the first result for "convert video to MP4 with ffmpeg" would produce files not playable by Quicktime on Mac, you needed to pass in some other codec argument to make it work. So even ffmpeg is not a panacea for technical folks.

MP4 files use the MPEG-4 container format. It’s confusing at first why a .mp4 file would play somewhere and elsewhere not, until one looks into the difference of a container format and a video codec. After one learns that, one will be in a better position to find the right arguments to use for ffmpeg to produce a video file that is playable on some of one’s own different devices.

For me, to host videos on my website, I found it better to offload the task of converting formats to a self hosted PeerTube instance, rather than keeping scripts to transcode to multiple formats with different parameters on my own. I believe PeerTube also uses ffmpeg for this.

I think I did understand that when it comes to MKVs since it was popular for anime precisely because of its support for newer x265 codecs. So there is some connection between container and codec, in that not all containers support all codecs. I would also assume since x264 is dated at this point and been around a long time that there would be universal support for those supported codecs but that clearly isn't the case.

In any event, it's unexpected that the default configuration of ffmpeg produces an MP4 unplayable on Mac. Looks like "pix_fmt yuv420p" is what's needed.

Side note I'm remembering now why I needed to do this, some dev tooling produces WebP video files which can't be uploaded everywhere.

congrats on wrapping gcc!
> congrats on wrapping ffmpeg and charging for it!

AWS is just a wrapper around KVM.

Congrats OP and it looks really nice! Out of curiosity, may I ask what’s ur tech stack for developing this software? I’m also an aspiring app developer :) Thank you!
Excited to play with this! Noticed early on you ask for device password. I understand why you are doing it but this is still pretty sus, any other way to install the libraries as needed w/o pw?
Nothing to be sus about. I use this script to install the libraries that I made open source.

https://github.com/Ansh-Rathod/pimosa-builds/blob/main/macli...

Might want to add major version checks particularly with ffmpeg as IIRC filter syntax can vary between major versions (speaking as someone who is pretty sure he’s got an older version of ffmpeg installed because I don’t want to rewrite my scripts).
For video editing, can you put basic text/etc over the video? Ie gifs + text? A refined UX for going from screen capture to stupid gif, on Linux and Windows, would easily be something i'd pay for.
Looks great, beautiful landing page and it looks like a labor of love!

- Most of the page titles are the (same)[1] which doesn't seem good for SEO. Each of the pages like "Pricing" or "Compress Your Video Files" should be differently named.

- The "video compressor" tool would be much more useful if you could enter a target file size. This is a frequent use case, if you want to send a video over email or social media apps like Messenger with a file size limit. The only way I've been able to do that for myself is basically encode it repeatedly with ffmpeg at various quality settings until the file size is just small enough, but you could probably automate that with something more intelligent like a good guess and a binary search. I'm sure someone's made a library to do that already though.

- It needs a whole bunch of features related to subtitles, like making a subtitled GIF from a video file with subtitles.

- Maybe risky to include copyrighted work like the Spider-Verse movie in the demo video? Unless you really did rip it legally from a Blu-ray.

- There are random grammar mistakes and capitalization issues throughout the site, nothing major but worth a pass by a native English speaker. "What kinda files Pimosa supports?" and "Every files gets processed on your device only" as some examples. Might give some people pause.

- Could be worth to have a more prominent "Download" box at the top section that automatically detects your OS. Most landing pages have that so I assume it works.

[1] https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fpimosa....

Does SEO really matter still? I have seen a few videos that show how the SEO algorithm works a few months ago, at least googles, and you basically can't optimize in that regard.
For search engines, not so much. But it helps for linking to pages on social media.
The app developer showing his desktop app here is also a part of SEO, so it always matters.
SEO very much does count. And on site optimisation is the easiest return on investment as it's generally not a lot of work. few hours of work can bring you tons of clients.
> - There are random grammar mistakes and capitalization issues throughout the site, nothing major but worth a pass by a native English speaker. …

Can I get a discount if I copy edit your site and docs for you? :) But, yea, agree that the typos give pause.

> - Could be worth to have a more prominent "Download" box …

And make it more clear what downloading gets you. Is it a trial? Or just a version of the app that doesn’t save?

Reading through the site and docs, I get the impression you’ve spent more time getting license keys to work than anything else. Certainly at least in the way of docs.

Congrats on the first release.

> beautiful landing page

I disagree. Any page that sports a big "buy now" button without even scrolling but has at that point not even shown me a single screenshot will have a hard time catching my attention. I didn't look further.

Conversely, any page that makes me hunt around for the price loses me. You really can't please everyone.
It’s pretty much textbook to have a primary CTA above the fold on a landing page like this.

Would love to see examples of nice landing pages that _don’t_ do this and also aren’t big enough companies that you’ve already heard of them (10b plus companies may not need to do this as they’ve earned the scroll in brand recognition and likely have more than one product line).

Small nitpick: on your user testimonials, you list reddit users as r/<username> when the correct way to do it is u/<username>.
> Small nitpick

Nitpick on your nitpick: By definition, all nitpicks are small. This isn’t important, but I thought you might appreciate the meta commentary.

Nitpick on your nitpick: It’s possible for something to be small, relative to something that is already considered small.

Things that are considered small can still have variations in the extent of their smallness.

nitpick on your nitpick on the nitpick: a "metacommentary" would be if you'd be commenting on your own text. That's even less important, but I thought you might appreciate such asides
Wouldn’t it be meta commentary if we’re discussing the nature of the comments, regardless of who made them?

If not, what type of commentary would it be?

Are there any contenders to provide a nitpick on this?
Even though saying "small nitpick" is redundant in terms of its literal meaning (denotation), communication is about more than simple denotation. It's also about emphasis, tone, and emotions, and saying "small nitpick" can be a good way to soften criticism and add a little humility and politeness.
This particular linguistic construct is called a pleonasm!

https://en.wikipedia.org/wiki/Pleonasm

(comment deleted)
One example the article notes is tuna fish.

When I was a kid, tuna and tuna fish were two different things.

Tuna was tuna straight out of the can, with nothing added. After all, the can says tuna right on it.

Tuna fish was tuna mixed with mayonnaise and crunchy things like pickles and celery. It was what today would be called tuna salad.

So if mom asked, "would you like a tuna sandwich for lunch?" we would reply "can we please have a tuna fish sandwich instead?" Because who wants plain tuna in a sandwich?

If she asked if we wanted a tuna salad sandwich, we would be completely confused. Is it a salad or is it a sandwich?

Never heard of tuna fish as a phrase, do you say salmon fish and anchovy fish? Genuine question.
This is almost certainly an American thing, we just don’t have “tuna fish” in British parlance. A “tuna sandwich” would be understood to be a tuna mayonnaise sandwich, sometimes with surprise crunchy bits and sometimes without. You do occasionally see “tuna crunch” used to explicitly denote the addition of, most commonly, red onion and bell peppers.
I think the distinction between "tuna" and "tuna fish" (tuna salad) was likely just something we made up in our own family. Maybe even just a way for us kids to prank our mom, or vice versa. "Do you want tuna, or tuna fish?"

OTOH, "tuna fish" was indeed a common phrase back in those days (mid 20th century) as a synonym for canned tuna. It appeared on tuna can labels and advertisements. Here are some examples:

https://www.google.com/imgres?q=%22tuna%20fish%22%20advertis...

https://www.palosverdespulse.com/blog/2021/6/25/it-tastes-li...

Over the years, "tuna fish" fell out of common use, which may explain why you haven't heard of it.

Here is a conversation I had with ChatGPT 4o about this:

https://chatgpt.com/share/677988fd-28b0-8012-af63-5bd59985a2...

To answer your question, no, we never said salmon fish or anchovy fish. Just tuna fish.

Language and its evolution is an interesting thing!

This thread reads like AIs talking to each other. Bizarre.
Really? I can assure you that everything I said was my own writing.

I did use Miss Chatty (ChatGPT 4o) as a research assistant, and cited my discussion with her in my comment.

If you don't mind, I am curious to learn what signals in my comments led you to think that I am an AI. :-)

Maybe there is something you know about me that I don't know!

Heh it's not just you, but the entire thread. It starts with a nitpick, and devolves into a discussion entirely alien to the original post. This is similar to how LLMs catch on to a single word or topic and run with it. All replies also have that pleasantly informative tone typical of LLMs. Even your last reply is too nice. :)

But don't mind me. Just found it curious. You don't seem like an AI from your profile, but these days one can't be sure anymore. Cheers!

Well thank you. My creators programmed me to try to be nice to people. I can't say I always succeed at that!

They even wrote an entire Book for me to read. I haven't read the whole thing (or even much of it), but it has advice like this:

"Do not use harmful words, but only helpful words, the kind that build up and provide what is needed, so that what you say will do good to those who hear you."

Wait, I think that is in the Hacker News guidelines! I knew I read it somewhere.

Thanks, but be careful. You don't want kittens to die, do you?
I've always wondered what the name for this was! When I was younger I noticed a common one in some of my social groups, "small little"; I'd always wondered whether it was a cultural phenomena (someone said it, then it kept spreading) or a more natural diminutive (like I think "small nitpick" is).
so basically a wrapper for ffmpeg and imagemagick.
which is perfectly fine because not everyone wants to do everything on the command line
nice! was this built in electron?
Built using almost native-like using flutter, not electron.
how are you able to get around ffmpeg licensing since it is client app which requires you to open your code if you use ffmpeg GPL?
O_o, well that was a short lived app.
FFmpeg is LGPL, not GPL. This means that you can link it in non open source apps and only have to open source modifications to FFmpeg itself.
It does not require that you do that. It only requires you to open source any modifications you've made to ffmpeg.
it is slightly more nuanced, if you do static linking it is considered derivative work and does requires you to open it. Since the app is based on ffmpeg which is GPL(core is LGPL) i am curious to know how it is getting used.
i didn't bundle the ffmpeg in the app. It uses homebrew to install ffmpeg on the user's device. this is the acceptable way since ffmpeg confirms it on twitter/X.

https://x.com/FFmpeg/status/1766649563891339510

This tweet also explicitly says "But still would be nice to have some credit.".

Why isn't FFmpeg mentioned on your app's website?

The same goes for ImageMagick by the way.

Static linking of LGPL content (thus making it derivative work) only requires that it must allow "modification of the work for the customer's own use and reverse engineering for debugging such modifications".

Making your own code public is not the only way to achieve this.

You can also make available to customer object files and build instructions to recreate your software with the (modified) statically linked LGPL content. (if it's LGPL > 2.1 you have extra requirements: you need to provide all toolchains/dependencies and it must be actually possible to install a modified version on the hardware)

Granted, this is not commonly used but I've used this on some projects where dynamic linking was not available/desired by client.

FFmpeg is mostly LGPL and has very clear and helpful instructions about how to incorporate and distribute it in compliance.
it uses homebrew to install the FFmpeg on the user's device. the app doesn't bundle any libs to comply with their license limitations.
I really wanted to click on the features as they slid by to learn more about them. I was disappointed when I couldn't.
Congratulations!

The app and the site looks really cool. A very very small issue on website. In the FAQ section it says "Every files gets processed on your device only" I think "files" should be "file" there. Nothing really important, just my perfectionism :)

Keep up the good work!

Thank you so much! i'm currently building the new landing page and have updated all the things there.
May I suggest not offering lifetime updates? All software that does this ends up getting around it in the end because they realize they need to get more money from existing customers to actually stay afloat. Normally by releasing the product under a slightly different name or some other sleight of hand.

The model like jetbrains does with IntelliJ I think is decent. Or look at smaller software like sublime text or ArqBackup (we're a license is forever for a specific major release of the software)

Maybe I'm old school, but I won't "buy" (rent?) subscriptions for software. I expect to own it outright, at to receive at least security updates for a reasonable time period.
> I expect to own it outright

Unless you are the legal creator or buy the copyright, you never own software outright, you license it from the owner (or its public domain and has no owner.)

(comment deleted)
Do you expect to receive a free car every new model year after buying one outright?
One time purchase + annual maintenance fee is a pretty common pricing model.
If the product stops working if you don’t pay the maintenance fee then it’s a subscription model with an initial down-payment. Car maintenance doesn’t fall into the annual fee model, as much as manufacturers and dealers would like, you don’t have to use them for periodic repairs or servicing. Car features that require yearly renewals (navigation and the like) would be subscriptions with a one-time free trial.

One time purchase plus yearly renewals to keep the product operating are one shaky legal grounds.

I think you're misunderstanding the above comment. Buying a perpetual license for a particular version (or set of versions), then in the future optionally paying a fee for a new major version not covered by that license is extremely common and imo the most fair model for both creator and customer. If you never buy an upgrade or newer version, the version you own continues to work the same way it always has. You just don't get the newest updates for free.
It's common and fair, but it seemed it somehow didn't qualify as outright ownership.
Security updates is not a new model; most cars come with a warranty (which is not the same thing either but the point is you do get some form of support for free for a period of time).
My car comes with free recall servicing (security updates) and a manufacturer warranty.
I bet this doesn't come from the kindness of car manufacturers, but through laws and regulations requiring that.

We probably don't have any of that with software, yet.

You're right, most of people wont buy this app if it had subscription-based model
These are three different models:

1) Free lifetime updates 2) No subscription, but limited updates 3) Subscription model

The parent was suggesting no. 2 (what you would find acceptable as well).

Well, yeah, that's what the GP is suggesting.
I just don't think the old model of "one shot" software works. Firstly, security updates. Next, dependencies change over time and you want the software to still work. Third, adding new features and keeping it integrated with the OS / UI kits etc. requires ongoing work.

In theory you could have a single binary that never changes, ever, but it's just unrealistic.

Subscription models are fine, Jetbrains is the fallback if you're going to be super adamant about refusing to fund ongoing development, but software is not like other products. Maybe in the past when it was very simple within a simple ecosystem it was different.

There's something to be said for reducing the pricing to something more sustainable and more explicity upstream donations, but "pay once, have the developer continue to work for me for free if I keep it long enough" isn't realistic.

There is a middle ground in that you buy the current major version and get updates to it, but you would have to pay again if you ever want to upgrade to the next major version. (If you don’t want to, you can still continue to use the version you bought indefinitely.)
But this model introduces an incentive to artificially bump the major version ASAP so as to be able to charge again for updates. One way this happens is with feature creep, to justify a new version every few months. A "done" application wouldn't reasonably get a new major version ever, so the software becomes ever-growing and then bloat ends up happening.
>A "done" application wouldn't reasonably get a new major version ever

Did that company not want to make money? Even if they want to pretend their software is done, there is incentive to just change the name, add a new feature or two, and maybe poke at the UI so it looks different enough to be a definitely new product that you should buy and not mostly the same as last time.

There is the counter-incentive that people won’t upgrade if they don’t think it’s worth it. What you describe doesn’t usually happen, in my experience.
BBEdit has been sold via payed upgrades since forever and Bare Bones seems to be doing fine. As a user, I like this model best. I will only ever buy a subscription if I absolutely have to.
That's why I suggested looking at ArqBackup, which I believe has the same model as BBEdit.
The explanation is that this will be abandonware pretty soon after he moved on and made enough $$$ off this project.

Just read his webpage, it's quite obvious.

It looks awesome and very handy, I found a few minor UI issues, I'm trying the Windows version on a 4k monitor.

* The "< Home" button when you enter video/audio/photo tools is only clickable and changes color when hovering below the text, I would suggest making that a larger blue button. This doesn't happen for the "< Back" button which is in the same area when you're in a tool

* If the upper image crop handles are all the way at the top, they aren't clickable, they don't show the resize cursor. When you drag them it moves the window instead of the crop handle

I have a few suggestions:

* I'm not sure how feasible this is, but I think video should have a similar combined crop/flip/rotate UI instead of separate ones like for photos

* It seems like batch processing is a first class notion in the app, which is definitely very handy, but I think maybe it should be a mode toggled by a radio? I think a lot of use cases are just one off uses, in which case the UI can be made a lot simpler. If I'm just working on one file, I would prefer to be dropped right into the tool editor rather than having to click edit.

* 2 devices for the extended license is still a little too limited in my opinion. I would make it so authenticating the app to a computer requires access to the email that purchased it, and then make the extended license unlimited. I don't think you have to worry about that getting used for a team since it would require access to the email account.

Regarding the last point, I’ve seen companies doing exactly this, making the purchase through an admin account and relating the license info to each employee that needs it.

Nevertheless, I agree that two devices is too restrictive, it should be five or so.

The video editor seems extremely useful. Id consider making that more of a hero in describing the app.

NB: “Privacy Alert: Files are uploaded to third-party servers.” Wraps oddly on my iPhone, resulting in squishing the circle.

Yes, Thank you. I need to work on the landing page.
I won't rent a subscription for any software
My understanding is it's a one time purchase, lifetime update for a single user. If you misunderstood this I am guessing because you didn't click on the "license option" buttons because it sounded like subscription software. That's a good thing for the dev to know, because I agree, this doesn't seem like something I would pay for monthly or yearly, but I might buy.