I start as simple as possible. If I can get by with a landing page using @typeform, I will just do that. For those scenarios, my goto is either a @carrd or @WordPress with a purchased theme (themeforest) and then hosted on @ServerPilot + @digitalocean.
-
-
Prikaži ovu nit
-
Once I've decided that I need to build something custom, I will start mapping out the MVP functionality. Sometimes functionality will impact architecture decisions, but for the sake of this thread I will focus on the simple (majority of mine) SaaS products. See my stack below.
Prikaži ovu nit -
Ruby 2.5 / Rails 5 - I've been developing in Ruby/Rails for close to 10 years now so I know my way around. The time frame isn't a pre-req, but working in something that you are comfortable with is. Rails documentation, community and plugin (gems) ecosystem does that for me.
Prikaži ovu nit -
On the backend I use Postgres for my DB, this is mostly out of comfort. Postgres has some cool things like Full Text Search and JSON column types, but I rarely use these at the start. At this stage the DB is a low cost decision. (See
@levelsio Nomad List - $1M+ ARR on SQLite.)Prikaži ovu nit -
I use a queue in almost all apps (ex: sending emails), for this I use
@sidekiq and Redis. Sidekiq integrates beautifully with Rails, takes about 10 minutes to setup and comes with a very powerful UI. The syntax is simple and allows you to do cool things like schedule future jobs.Prikaži ovu nit -
For file storage, I use S3 with the Carrierwave gem. I remember there being a cheaper S3 solution out there but I can't remember the name. For now this works for me. Most will make the AWS free tier and this will be free.
Prikaži ovu nit -
For authentication, I use the clearance gem. Clearance is lighter weight than devise and will give you login/logout/forgot password functionality in hours. I prefer not to use any external auth APIs (auth0) at this stage.
Prikaži ovu nit -
For transactional emails I am using
@sendgrid. With@heroku they offer 12,000 emails a month for free. That's a no brainer. Easy to setup and can have emails working very within hours. For email design, there are a ton of templates out there, here is one.https://github.com/mailgun/transactional-email-templates …Prikaži ovu nit -
On the frontend, I use bootstrap and some bootstrap based template. I rarely build a UI from scratch. Partly because I'm not great at it, but mostly because there is no point. I've been meaning to try out
@tailwindcss, but until then Bootstrap it is.Prikaži ovu nit -
I don't stray away from vanilla JS unless I absolutely have to. This means no JS framework, just plain old HTML+CSS+JS. I even still use jQuery. This may be unpopular, but I find JS frameworks to be a PITA and for what I need to do, they are unnecessary (future rant coming).
Prikaži ovu nit -
For hosting I love
@heroku. It is simple, cheap enough and it just works. I can have multiple environments, CI/CD pipelines, tons of free addons and when the time comes to scale, it's easy. Yes it can be more expensive as you grow, but it's not prohibitive.Prikaži ovu nit -
I am a strong believer of not prematurely optimizing. Why build something for scale that may never need it. Heroku is not great for everything, but for the audience that I am targeting this thread for, it should be enough to start.
Prikaži ovu nit -
For all of the administrative stuff. I use gsuite for email, namecheap for DNS, mailchimp for marketing emails, google analytics for tracking. Don't reinvent the wheel.
Prikaži ovu nit -
Software Architecture/Design Considerations: I always start with a monolith. Don't get sucked into the hype. Monoliths are just fine and will only help you move faster. For this reason I stay away from SPAs as they force you to build out an API and fragment your codebase/focus.
Prikaži ovu nit -
I am a big proponent of testing, but it's not a silver bullet. 100% test coverage is silly and just a vanity metric. Test the parts that are critical to your business - billing, integral business logic, calculations, etc. For testing I use Rspec, and mostly out of comfort.
Prikaži ovu nit -
I don't want specs to detract from feature development. At the very start, I don't write any tests, but once I see that a project is growing and will need to be maintained, I start to slot in time to write them. As a solo dev, specs act as a QA sanity check and documentation.
Prikaži ovu nit -
For error handling I tend to use whatever is free in the Heroku marketplace, right now my favorite is http://Sentry.io . This just captures any runtime errors and sends me an email when they happen.
Prikaži ovu nit -
For uptime monitoring I use
@HappyAppsIO. It's free for 3 site checks every 5 minutes. I just want to make sure that my homepage is up. There is no need for anything more elaborate.Prikaži ovu nit -
For performance monitoring, I like to use the free version of New Relic on Heroku. A lot of the good stuff is restricted ( transaction tracing ), but it at least gives you a good sense of overall performance.
Prikaži ovu nit -
For logging, I use whatever is free on the Heroku marketplace. Big fan of https://timber.io/ but I tend to run out of space on the free tier with my noisy logs. A good backup is LogDNA, which has a larger free tier.
Prikaži ovu nit -
For payments I only use
@stripe . I hold off on building anything custom until I get some traction. For@indicatorbot we just built a wordpress site and hooked up a stripe plugin to handle this. Months later with traction, we are now starting a custom integration.Prikaži ovu nit -
Another example is with
@huntifyio, where I used@gumroad to sell marketing bundles and have deferred the need to build in anything payment related. Others have done the hard work for you, let them help.Prikaži ovu nit -
With all of those resources, the total cost comes to be less than $20/month Mailchimp - Free AWS - Free Tier Postgres - Free Redis - Free Theme - Free Sendgrid - Free Heroku - $7/month Gsuite - $6/month Domain - $10/year
Prikaži ovu nit -
This is the plan I've used to build 20-30 SaaS projects. It's only getting easier and faster to do. TLDR: - Start simple - Don't over-engineer - Be resourceful and find free products - Ignore the herds, do what makes sense for you - Build in comfort zone
Prikaži ovu nit
Kraj razgovora
Novi razgovor -
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.
