A WithoutPants history of stashapp funding

The current incarnation of stash was originally created by StashAppDev, with the very first commit appearing in February 2019. It was a rewrite of a rails-based porn organisation app StashServer. Before that, it was an OSX-based app, so this would be the third iteration technically :slight_smile:

My personal involvement in the project began in July 2019. I discovered stash after spending a non-trivial amount of time developing my own application with a similar purpose (it was java-based, with an Angular front-end and was very generic because I wasn’t comfortable making a specifically porn-centric application). I found stash to be a far better applications of the similar ideas I had, and I had previous experience with go, so it was a good fit for me to develop personally and contribute to.

My first contribution to stash was to add live streamed transcoding. Back then, stash could only serve video files that the browser could play natively. Anything that couldn’t be streamed directly had to be transcoded using the Generate Transcode task that remains today (though to my knowledge largely unused). I had a lot of avi, mpg and wmv files that I wanted to be able to play, and I didn’t want to transcode them into mp4 files.

I contributed regularly after that. At some point late in 2019 I was invited into the stashapp organisation (joining @Diustent and bnkai who I haven’t seen in a long time), and StashAppDev began spending less time on the project, and I began taking a more active role managing the project.

As an aside, late 2019 saw the launching of the stash-box project, with myself and @Infinite working on the original prototype.

In March of 2020 when the pandemic was beginning, I was made redundant from my software engineering job after 14 years in the industry. My original plan was to work on some personal coding projects and eventually return to the workforce on my own terms - since I was fortunate enough to not need to immediately seek another job. This plan was thrown awry with the pandemic, since I suddenly had to home-school and supervise my two kids. Alongside that, I began to feel an obligation to continue development of stash, at the expense of pursuing my own projects.

Late in 2020, I raised the idea of drawing income from our OpenCollective. Up to that point, all funds that we were raising were put towards hosting our stash-box instance and the stashapp.cc DNS registration. We introduced the bounty system last in 2020, and I began drawing a monthly $350 stipend in mid-2021. This figure was what I judged as sustainable, based on the amount of monthly contributions that were coming in at the time.

In the intervening years, our OpenCollective attracted more generous backers and sponsors. In mid 2023, I raised the prospect of billing for the hours that I actually work developing stash and managing the project. I had been treating the development and management of stash basically as a job for a few years up to that point, my financial state was slowly worsening and I needed to either draw an income from stash or seek paid employment (which would take away time I could dedicate to stash). With the blessing of our awesome backers and sponsors, I began expensing for my hours at US$30/hour with a cap of 40 hours for a month, to ensure that the expenses were sustainable.

Finally, again with the blessing of our backers and sponsors, last month I proposed to lift the cap on my hours per month. Due to personal issues, my hours worked on the project would vary significantly over and under the 40 hour cap. Over a 12 month period I worked an average of 49.2 hours per month, but was expensing for an average of 33 hours per month due to the cap.

As of today, the stashapp project has the following regular expenses:

  • WithoutPants development hours - billed at US$30/hour
  • hosting costs for stashdb which is currently approximately US$50/month
  • hosting costs for Discourse, which is currently US$6/month
  • DNS registration fees for stashapp.cc, paid yearly
9 Likes

I’m not looking for anything extra or to invoice for this; I’m just declaring this somewhere public for once, I guess.

The DNS and email server cost about $20-30 a month, and the .cc domain isn’t much—roughly $20 a year. I pay these out of pocket every month. Not using big email providers such as Gmail, Outlook, or iCloud affords our users high privacy. Running our own internal DNS server also provides the same potential boost to privacy.

1 Like

I love to hear about the history of project!

I remember stumbling on Stash about a year ago and being so impressed with it! It was the solution I was looking for.

And honestly, like you I come from a software engineering background, I appreciate the effort in making Stash a legit piece of software. It was shockingly easy to understand the server and its API and so I was able to built a new client from scratch in under a week!

I personally feel that this is a testament to the effort WithoutPants puts into the project making not only an incredible piece of software, but also software that can be extended and used by so many other projects and plugins. This is not common in the world of OSS, so I am very grateful for it.

2 Likes

I agree, as someone who came into Stash in 2022 it’s really great to get more insight into the history of the project and the people who have helped make it what it is today.

1 Like

WP did a pretty good job of describing the history here, but I don’t think it misses anything important. When I arrived, if StashApp itself wasn’t even coded in Go, I don’t recall that far back at this stage. My recollection is hazy about the specifics, but Stash themselves, before stepping down, had a pretty decent MVP for the codebase. Still, I don’t precisely recall what the major transition was from then to at the time. It’s not like this changes much; it just happened mainly because of me pushing Stash himself into doing it.

It seems that my role as a bully at the time and my skills in wrangling communities transferred nicely into something that ended up, in part, convincing Infinite Bnkai and WP to work on the second iteration of Stash and, thus, creating StashBox. I don’t think Stash itself had a Discord or a Website prior. Still, now I stick around in case there’s some vague course correction we need a mediator for, and I keep trying here and there to influence StashBox when I can occasionally be annoying about it.

My follow-up: I forgot the first paragraph of this when I started writing my post. Yes, it was an OSX app before.