Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Generate a static website from any back end (sitesauce.app)
186 points by m1guelpf on May 1, 2020 | hide | past | favorite | 62 comments


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.

Neya


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.


Why not just use any other static site generator like Hugo instead of re-inventing it?


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.


Google docs also has options to export to markdown.


Emm.. doesn’t proxy cache give like the same result?


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?


...any backend that is a content-heavy website? Or are they somehow also abstracting away the application logic?

How is this different from a CDN cache?


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.


Seems like static site generation for non-programmers, maybe.


Very clever!


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.


It also makes sure your whole website is cached at build time instead of needing a first request to generate the cache


I read this as 'generate a static website for any backyard' and got excited for some reason. :) gardening?


This is extremely impressive for an 18 year old, well done!


I think you mean extremely impressive for any solo founder, period.


I think you mean extremely impressive for any human, period.


Making it even more impressive for someone who is all 3 ;)


Making it even more impressive, that he has already contributed to 500 open-source projects! https://www.buymeacoffee.com/m1guelpf


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.


Vercel has a 16000 files limit (That we hit). How do you handle big sites?

Edit: This is not a problem for a lot of pages. But to me that is a deal breaker to use Vercel for any medium or large sized projects.


Requiring a credit card before any functionality is enabled breaks the WordPress.org plugin directory guidelines.

To be compliant, the 7-day free trial should be possible without having to provide credit card details.

That is, in any case, best practice, unless profiting from people who forget to cancel is an important part of your business plan.


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.


And super nitpick but the font used connects s and t and it really looks out of place to me.


I like it, will have to try this on my wp site.

Thank you for creating this. It's a great product, something I'd happily pay $20 for.

I think you should perhaps market this to the SEO community. They care tons about pagespeed. Also, set up an affiliate program.

All the best!


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.


Because of losing my backups of my WordPress website this is a great solution I can just have a static website for my clients


How does it play with Squarespace sites? I didn't see that mentioned as one of their supported back-ends.


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.


The hosting is managed by Vercel, who recently announced unlimited bandwidth on their free plan [1]

[1]: https://vercel.com/blog/simpler-pricing


Yikes.

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.

[1] https://vercel.com/docs/v2/platform/limits


Yeah, that's almost worse. It means Sitesauce is relying on the generosity of their vendor for their business model to work.


Well they could also connect to upload to s3, netlify, github pages, GitLab pages, to name the free or pretty cheap static hosts I can think of!


I've browsed the site and didn't see how are forms handled?


Bottom of the front page:

> 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.


Thank you! All I could think about was contact forms and other opportunities intakes. Missed that.


Site design is a direct rip from https://www.designjoy.co/


This is looking great, I'm wondering if you folks can support webflow.com exports?


Interesting product! But I find the font really annoying especially the st ligature.


>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.


Nice UI, value prop, and pricing. Well done!


this is game changer


There is hope for this industry when a 18-yo creates such an amazing conversion centric landing page. Well done, m1guelpf.


This costs $20/month, what happens when someone releases an open source version that essentially does the same thing but for free?


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.


What a rude comment. You can literally ask this on every single Show HN thread.


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.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: