Hacker News new | past | comments | ask | show | jobs | submit login
Tools and Services I Use to Run My SaaS (jake.nyc)
188 points by jakelazaroff on Nov 16, 2020 | hide | past | favorite | 47 comments



I do like a good stack breakdown.

If you ever wanted to hop on my podcast to talk more about your stack in detail, I'd love to have you on.

It's at: https://runninginproduction.com/

Each episode focuses on talking to different folks about how they build and deploy their web apps. There's 50+ episodes so far and hopefully hundreds more to come.


I was trying to subscribe/listen by Podcast Addict. Can't seem to pull the episodes any ideas? Not sure if it's worth your time, maybe PA is not a major podcast app.


Hi,

It looks like the podcast is indexed on Podcast Addict based on this URL: https://podcastaddict.com/podcast/2464269

I don't have that app but in a browser the episodes are loading and playing here.

What ended up not working on your end?

By the way, it also comes up if you search for "Running in Production", which leads to: https://podcastaddict.com/?q=running+in+production


Yeah I can find it/was trying to add it in PA. But it hangs on the episode search/listing(where you can then choose from the episode list what to download/listen to), this is the Android app. I just wasn't sure if maybe your RSS feed or something was a different format so PA wasn't able to consume it correctly. Anyway don't really know if it matters regarding your sources of traffic.

I did just start listening to the podcast in browser. Thanks for responding.


Oh. I don't have a smartphone so I can't check it.

Is it only failing for this podcast while others work?

I didn't do anything special with my RSS feed. It follows all of the RSS 2.0 standards and is compatible with iTunes. Tons of podcast apps end up pulling in iTunes data in the end. I don't know how PA is set up but since it indexed my RSS feed and it works in their web version I'm thinking the RSS format is probably good?


Yeah other podcasts work, recently added some new ones and the episodes were almost immediately retrieved. The Running in Prod one is stuck. I may just be a single data point so maybe doesn't really matter. Just thought I'd point it out, thanks. I don't mind listening by browser.


I just subscribed to your podcast! I too love me some stack breakdowns!


Love the podcast!


Seems strange to prefer Sketch in favor of Figma because "[Sketch] doesn’t store all my data in the nebulous cloud" and then still use Cloudflare, Trello, Notion, Indicative and Google which probably store more business critical data about your business and person than Figma ever could.


I meant more in the sense of “all I need to continue using this is my files and the app itself”. Figma doesn’t even support working offline.

You’re right about the other services storing critical data (except Google — I only use them for their search analytics, which is data they already have anyway). But I would like to move away from Notion and Trello at some point for those reasons.

As for Cloudflare — I need a DNS provider and a CDN anyway. If I had to make a change there, I'd probably cut Netlify out and either host the website manually with nginx or using Cloudflare Workers.


> Figma doesn’t even support working offline.

This must have changed from the last time you looked into it. It's not fully-featured when offline, but "If you continue working [offline], Figma will store any changes you make in your browser, and sync then when you're back online."

https://help.figma.com/hc/en-us/articles/360040328553-Can-I-...


Yeah, but you can't start using Figma when you are offline. That's the problem. E.g. when you ran out of your internet data


Fair enough! This is a good reminder that many people don't have reliable internet access, thank you.


Curious if someone just cloned Trello, could roughly offer what they offer scale wise. But said "we don't store any of your data". Not sure how, maybe encrypted at rest so it's not possible for them to gleam info... Would that still be profitable somehow? Not sure if data storing is where most of the money comes from, specifically Trello. I use Trello too now having doubts if I should detail out aspects of my life.

Admittedly I have built my own note-taking type apps however can't deny the interface of Trello so convenient.


Great list! Here's a similar blog I wrote a few months ago describing what I felt were the essential SaaS startup tools for <$100 - basically what we felt as we built our startup were the necessary tools to get us off the ground and functioning as a company - https://www.sleuth.io/post/the-2020-saas-startup-100-essenti...


Ha, interesting that our lists are almost entirely disjoint — guess that just speaks to how diverse the landscape is for SaaS tooling!


How do you handle global sales tax / VAT remittance, especially stuff like B2C VAT in the EU, etc.? Stripe doesn't do this unfortunately, but solutions like Paddle and FastSpring do, by acting as a reseller and Merchant of Record.


Not sure about OP, but if you're looking to run a EU SaaS company for B2C or B2B, then I can highly recommend Xolo(https://xolo.io). They handle all the heavy lifting from a tax perspective.

They help you get your company set up (with e-residence) and then hook into either Transferwise or LHV for banking (and stripe, etc flows into that).

Very friendly as well, I'm in Estonia currently and I dropped into their office yesterday to say hi.


Thanks! I already have my own Germany company, but it may be interesting to others.

For now I'm just using resellers like Copecart/Digistore24/Paddle/FastSpring to handle all the global B2C VAT stuff for me.


I don't yet, but as the company approaches its first tax season that will move toward the top of my to-do list!


One word of caution: at least if you're based in the EU, this is basically impossible to do legally correctly by yourself globally unless you spend many thousands of dollars VAT-registering yourself in all kinds of places around the world and knowing global tax laws to make sure you get everything right, since electronically delivered goods (like your SaaS) are taxed in the country of the recipient of the services. Within the EU it's at least possible to use a simplified MOSS (mini one stop shop) process, but that also has its drawbacks.

This is the best summary I found of the situation so far: https://quaderno.io/resources/eu-vat-guide/

Basically I arrived at the conclusion that it's impossible for me as a small business to do global B2C VAT (not just calculation, but also actual remittance) myself, and thus am using resellers (Copecart, Digistore24, Paddle, FastSpring) that do all this for you by being a complete middleman in the transaction. Of course they then also take a larger cut than something more light-weight like Stripe. I wish Stripe also supported global VAT / sales tax remittance.

EDIT: See also https://www.youtube.com/watch?v=MowACIitd1s and https://www.youtube.com/watch?v=sO4nzWWMAvg


Hi, just wanted to let you know that you should add on your pricing page some info for larger plans. I potentially could get a record label to use your product but if I can't get a clear picture on pricing I'm not going to get far. Something large like 60 videos a month or more would be good.

Also, there is no way to contact you on SongRender.com, no email and no contact form. If I couldn't reach you here I would just give up on my idea of using the product for the record label.

Otherwise I liked the write up and your project !


That's good feedback. Thank you! I'll definitely make those changes.

In the meantime, my email is jake at songrender dot com if you'd like to contact me about anything :)


I think an even nicer solution would be a custom tier generator that allows you to drag a slider with the planned quantity Then just a fixed over usage surcharge


It is but it's a lot more work since you need to change a lot of code, marketing, etc... adding a column is something you can fix in a day.


Your list would be quite a bit more useful if you provided more of an explanation of what you SaaS does, and the volume of traffic it was supporting.


Thanks for the feedback! It's a browser-based music visualizer generator — basically, you upload a song and graphics and get a video that you can put on social media. Traffic tends to be around ~1k pageviews and ~100 videos rendered per day.


Nice well organized list. I like seeing some less well-known services being preferred to the known defaults.

Also, immer sounds very interesting:

> An intuitive, performant way to do immutability. It can also serialize patches you make to an object, so it’s fairly easy to implement undo functionality as well.


I counted 57 different tools or apis across all the different functions, not included the deprecated stuff. All of this justifiably used by just Jake, who is doing it all. On one hand, that's awesome and inspiring, and on the other that seems like of knowhow to acquire and to maintain. What kind of overhead goes into one person maintaining an operating environment that complex? I imagine installs, configuration, and and upgrades all need to just work. I imagine as well it pays to keep your usage of whatever pretty vanilla and simple. I don't see simpler ways to do stuff. I guess I just wonder what a bad day in the office looks like.


I think it looks scarier than it is! I tried to be as comprehensive as possible, but a lot of these don't have much mental overhead at all. For example, I've forgotten and rediscovered squoosh multiple times when looking up how to compress images — and the extent of my use is basically dragging an image into the browser and maybe fiddling with the settings a bit.

On the other hand, maybe this is a testament to how many moving parts there really are in an app like this. I do try to keep things as simple as possible, but there's definitely a minimum possible complexity — every web app will need a DNS provider, a web host, a database, etc.


And that's to say nothing of figuring out things like accounting, bookkeeping, GDPR / regulations...

And when you hire employee(s)... payroll, HR systems, G Suite (it's a monster, but you must master it), recruiting / hiring platforms,

And once you raise money... cap table management software, contracts galore, investor relations, boards meetings, etc.

(On a completely unrelated note: all of the above is the reason YC and others usually have a bias against funding solo founders. Simply put, there's a lot that goes in to running even a small startup, beyond just building product.)


Wow this is almost identical to what we use at browserless.io. I’d be curious to hear how switching SSL termination went as that seems to be the hardest “reproducible” part of it, and copying over certificates is kinda scary.

The only thing I think we do differently is nginx’s amplify SaaS product for monitoring load balancers. Those are still kind of painful, but work well with WebSockets, which is hard to find support for.

Thanks for sharing!


I'm using Cloudflare's generated certificates now, so there was nothing to copy over. If I recall correctly, I just spun up a new load balancer, pointed a dummy subdomain to it to test the configuration and then changed the actual DNS record when everything was working.


I'm curious how he is handling the storage of user's files and videos in Digital Ocean Spaces. It's currently an all or nothing approach by DO: All users have access to all other user's files (if private), or all files are public. There's no per-bucket access control.


Pretty good write-up. Currently I commonly use nomad for deployment and management of (docker based) infrastructure, using docker-compose for local development. I'll have to take a closer look to terraform and packer to see how much I like them as alternatives.


Interesting to find Yarn over npm on this list - curious as to the reasons for this decision?

Back before npm had package.lock files I was completely on board, but since npm anted up I've struggled to find reasons to go back to Yarn.


Yarn 2 has significantly faster fetching times, has a Plug 'n' Play module system, and caches much better. See [0], [1] for more details.

[0] https://snyk.io/blog/yarn-2-intro/

[1] https://dev.to/arcanis/introducing-yarn-2-4eh1


Neat! I'll check these out. Thanks!


I also moved over to Yarn when it was a big improvement, and just never found a compelling reason to switch back.


I really appreciate you posting this. I am trying to get an SaaS off the ground and I know there are tools/stacks to get everything going, but don't really know where to look.


I love a good stack breakdown. Thank you


The elephant in the room is missing ;) how do you talk to postgres? plain driver? some lib?


Yep, I felt that as well. Talking about database and migrations without talking about how you talk to the database itself.

Sibling post answers the question, so I'm glad you asked.


node-postgres! The simplest library I could find. https://node-postgres.com


Would be interesting to see the list of thing they financially / code contribute to.


Glad to see postmark mentioned, top tier service indeed.


Awesome write up! Thank you for sharing!




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: