Show HN: I completed shipping my desktop app (pimosa.app)
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 ] threadJust 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.
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.
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.
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.
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.
I doubt that people who are capable of using ffmpeg are the target group here.
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/
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.
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.
Turns out not everyone wants to spend years learning *nix and sit on a desktop pc debugging shell commands to edit their video.
AWS is just a wrapper around KVM.
https://github.com/Ansh-Rathod/pimosa-builds/blob/main/macli...
- 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....
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.
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.
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).
Nitpick on your nitpick: By definition, all nitpicks are small. This isn’t important, but I thought you might appreciate the meta commentary.
Things that are considered small can still have variations in the extent of their smallness.
If not, what type of commentary would it be?
https://en.wikipedia.org/wiki/Pleonasm
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?
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!
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!
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!
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.
https://x.com/FFmpeg/status/1766649563891339510
Why isn't FFmpeg mentioned on your app's website?
The same goes for ImageMagick by the way.
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.
https://opensource.stackexchange.com/questions/4008/can-i-us...
https://opensource.stackexchange.com/questions/5188/software...
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!
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)
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.)
https://curia.europa.eu/jcms/upload/docs/application/pdf/201...
One time purchase plus yearly renewals to keep the product operating are one shaky legal grounds.
We probably don't have any of that with software, yet.
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).
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.
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.
Just read his webpage, it's quite obvious.
* 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.
Nevertheless, I agree that two devices is too restrictive, it should be five or so.
NB: “Privacy Alert: Files are uploaded to third-party servers.” Wraps oddly on my iPhone, resulting in squishing the circle.