I love this site. It's truly impressive for any solo founder, regardless of the age, let along an 18 year old. Yeah, you kind of rely on the generosity of your vendor (Vercel, in this case), but that's really the only option if you want to keep costs low.
I hated Wordpress so much so that I wrote my own CMS + static site generator using a different approach and used it for clients who run sites with 3 million+ visitors a month currently. Once we made that move, we realized how horribly slow was Wordpress even on the best hardware thrown at it. Our costs dropped down to 1/10th of what we used to spend as well purely in terms of hardware. I can easily believe that static sites are the future.
I think this space has a lot of room for new players and definitely worth to keep a watch on.
All the best. Hope you see success.
This is a cute story, but what was -actual- the cost (time, monetary and opportunity) in building your own CMS instead of applying basic performance tweaks to an off the shelf system?
This static site project didn't cost much for my client. I wrote the entire engine over a span of close to 2 years using my personal time over the weekends, trying to re-write it in different languages, frameworks, etc.I did a re-write in all possible methods out there - Including Jekyll, Middleman, Hugo, etc. In the end, I settled with Elixir / Phoenix. Money, if you factor in my personal time valued at $X00 USD/hr, then yeah, multiply that with 8 hours a weekend for 2 years, that was probably the cost. For my clients? Just about a month.
The clients didn't lose any opportunity because of this move. They were still on Wordpress as this was being tailored for them.
These OTS static site generators are fine for small sites, but at the scale of our clients who have more than 30k posts and counting, none of these would be able to handle it. When I say handle it, I also am referring the time taken to generate 30,000 posts in the shortest possible time.
In a custom solution, you're able to optimize this heavily. I brought it down to 30 minutes from 1.5 hours for 30k posts.
Why not simply add a caching layer infront of a Wordpress instance? For starters, this is a media company, so they would like to have instantly updated posts on certain parts of their site. For that, you need to disable caching. Which means tens of thousands of requests are hitting your instance every minute. So, that means you need a high performance server + SQL instance (Expensive). It worked out to $3000USD per month just for servers alone.
The static site generator use just $100/month instance, for comparison. Of course, there is also the development cost for the client for this solution, but I can comfortably share that their ROI would be less than a year if you factor just server costs alone.
There are many other bonuses with a custom static solution - Your whole theme can be broken down into an MVC paradigm which makes future integrations super clean and easy. Codebase maintainability also has improved drastically - partly because of the language itself (Elixir) and partly because of the MVC architecture.
> For starters, this is a media company, so they would like to have instantly updated posts on certain parts of their site.
How are their posts instantly updated using a static site generator? Don’t get me wrong, I was sold on in static site generators years ago. But not understanding this argument.
Well I had to do our corporate team site and got so frustrated with SharePoint that I coded a script in python to generate the html from rst files. It was a couple of days of work. It runs behind nginx and automatically updated on GitHub commit of new content. Bootstrap is very well documented and you can use rst directives for “widgets”. I am in the process of moving to markdown + yaml now to make writing content even easier.
> I coded a script in python to generate the html from rst files
There’s an outstanding and fairly flexible static site generator for rst files in Python that’s been around for quite a long time, called Sphinx. It’s basically a docs generator but I’ve used it as a generic static site generator.
I can answer that, since I also made a small static site generator from scratch in python.
I was using another static site generator (Hexo), but at some point I wanted to change some things and add some custom html to my posts. Since the documentation was ... well ... minimalistic on some aspects, I also spent some time looking at the source code. But at that point I was really wondering what benefit I still had from using that generator.
In the end, all a static site generator does is collecting some markdown or RST files, converting them to html and putting that into a template html file. And generating some lists (index page, RSS, ...) and some metadata for SEO. So it took me a single Saturday to make a working static site generator and now I can do anything I want without looking up documentation or source code, since it's my own dumpster fire :-)
Because my team has an easier time managing our simple code vs a new tool. Also we have a lot of custom components because we use our site to provide navigation for our apps, dashboards and docs. I couldn’t find a generator that would fit all those requirements.
No. Proxy cache was our first approach. Proxy cache solves the performance problem. There's also the issue of code mess in most Wordpress themes. We used Pagespeed as reference and our score -with- proxy cache was about 60.
Once we re-wrote the theme in our static site framework, the Pagespeed score was 95.
Could I have achieved the same with PHP? Probably. The biggest problem is Wordpress doesn't have an MVC like framework which makes it easy to write messy code even for experienced developers. Plus, Elixir, the language I used is miles ahead of PHP.
Right now, we have MVC down to the theme level. It helps write cleaner code and writing integrations to our site much much faster. There's tons of integrations that large media sites actually use. Eg. ad server related, tracking related, etc.
I genuinely don't understand. Proxy cache web server sends static html from ssd/RAM. Static site framework web server sends html from ssd/RAM. How is that different?
If your theme is bad, the HTML it generates is also bad. That's why. Next, proxy cache doesn't work well for news sites for example that have constantly updated articles and sections of the website by the minute.
Wow, I've considered building this exact same app for about 11 years now, but I never did it because I thought there would never be a large enough market to make it successful.
Kudos to you for actually building and launching! Hope you have a lot of success and prove me wrong about the market size.
EDIT: After going through the site and your video, it appears as though you crawl the dynamic site, and generate static pages out of it. It's not really clear if you support sites that render on the client side. Do you?
The way it abstracts application logic is by finding out what parts of your site can be immutable functions, then produces all the variations of static content for each possible input.
I was about to post the same question, it's a very similar, but it seems more complicated than just going with CloudFlare. I think they are pretty close in performance boost, but I wouldn't place my bets yet :)
Typically CDN caches are cleared after X amount of time, or are cleared manually. This solution generates your entire website as static HTML and viewer requests never actually reach the backend.
Wow this is pretty cool! Seems like a great tool to throw onto an existing CMS, allowing clients to retain the flexibility of editing their website directly.
Does this deal with/forward dynamic content on the same domain? Or do admin panels, etc have to be hosted on a separate subdomain?
EDIT: Wow, Miguel is even completely transparent (https://sitesauce.app/open) with his revenue and costs. That's incredibly inspiring to see from an 18 year old.
Let me start off by saying good job on launching. Is there an ability to stop automatic deployments on change and instead allow for manual deployments? Also, I am a bit confused about the hosting. On your landing page you say:
"Sitesauce hosts your static sites on Vercel (formerly ZEIT), offering unlimited bandwidth and their world-class CDN for no additional cost."
Then in your Terms of Service you say:
"You agree that Sitesauce is not responsible for any additional fees charged to your credit card by third-party server providers such as Vercel."
How does the hosting work? Do I sign up with Sitesauce and also sign up for Vercel? If that is the case, would I be able to pick a different host if I wanted? If it isn't the case and Sitesauce handles the backend process of creating an account on Vercel is it paid for by using my credit card and you pass that info to Vercel?
Sitesauce allows you to login with your Vercel account once you create an account with us. Once you've done that, we use their API to set everything we need up.
In that case perhaps the wording on the front page should be:
"Sitesauce publishes your static sites to Vercel (formerly ZEIT), offering unlimited bandwidth and their world-class CDN for no additional cost."
That makes it clear that you aren't the one hosting and that it is actually Vercel. My initial understanding was that you would pull my data and host it yourself using Vercel as your host. Since you are using the host's API do you have any plans to integrate with other hosts, such as AWS?
Landing page feedback: the backend that keeps changing (“like X-powered websites”) could cause the whole page to jump. This is very annoying on narrow viewports (e.g. mobile), especially when I’m reading text, for instance the FAQ.
Wow, good job! As a fellow teenager, it really encourages me that it's possible to launch something successfully without making it your full-time job :)
There is absolutely no reason a teenager can’t nail these sorts of projects. And often being young has some big advantages in terms of not having got too comfortable with a salaried job and knowing what the next generation wants.
My advice (teenager or not) is join online communities like indie hackers and get all the help because anyone doing this at any age needs to learn diverse skills, it’s not just about having an idea and coding.
How can $20/month flat pricing realistically work? What if I've got a content-heavy site that gets a lot of traffic? Will I get hit with a surprise bill, or will you eat the costs and just cut me off?
It's a great idea for a service, but the pricing just seems too simplistic.
So the bigger question then is what happens when they change this? Or go away. Also, have you seen what "Additionally, different hard limits apply for each plan." means on their pricing page[1]? Domain limits, maximum files, etc? What those might mean when you scale beyond expectation?
I don't mean to discourage. But big vendors pull the rug out from under people all the time, sometimes ruining a business because there's no viable alternative.
Make sure your eggs can be put in different baskets if need be.
> Sitesauce recommends the use of JAMstack-friendly alternatives to this services. For example, you could move your contact forms to StaticKit or your comments to Commento.
> However, there are times where the only option is to rely on your backend. For this, you can configure Sitesauce to proxy certain endpoints to your backend. You can also use this if you need to fetch some data from your backend via AJAX.
>Without access to your backend, there's no way for anyone to steal sensitive data or deface your website.
No way? At all? Why could they not deface or alter the static version? Of course there's a lot less attack surface but that doesn't mean it's invulnerable.
Some people will use the open source tool and other people will gladly pay money to have someone else manage it for them. Pretty much the same as any service that provides a (real or perceived) value and has open source alternatives.
Nothing, because people don't flock to self-hosted open source just because it exists. Else Slack/Discord would be dead. Effectively nobody uses their open source competitors because the experience is terrible rather than a service that takes it out of your hands in a nice package.
Open source tools already exist. Wget can and is used to build out static copies of websites. It's also possible to get most of the benefit by using a reverse proxy cache with super long TTLs and a targeted purging strategy to handle content updates.
If you're tempted to point out that those approaches are a pain to use and don't work perfectly, well a) welcome to a lot of open source, and b) that's why commercial ventures can still succeed.
Free? Let's be clear. There is no such thing. Ever.
Everything has a cost. You can spend money. Or you can spend time. But either way, you will spend.
For example, Product X is $20 per month. To do the same yourself is 60 to 90 minutes per month. It's fair that you might not mind the time. You want to learn something new. But the idea that you're saving $20 per month is the wrong lens.
I hated Wordpress so much so that I wrote my own CMS + static site generator using a different approach and used it for clients who run sites with 3 million+ visitors a month currently. Once we made that move, we realized how horribly slow was Wordpress even on the best hardware thrown at it. Our costs dropped down to 1/10th of what we used to spend as well purely in terms of hardware. I can easily believe that static sites are the future.
I think this space has a lot of room for new players and definitely worth to keep a watch on. All the best. Hope you see success.
Neya