For the tech stack we used react on the front end with a Node.js server + Firebase for persistent storage. This was my first time writing Javascript in about 5-6 years and it's really neat to see how the ecosystem has matured - there are even real classes now! We also used the Google Cloud Vision API for detecting inappropriate images.
On the database side, we found that Firebase Store works really well until it doesn't -- when you want to do anything that isn't basic reads/writes (e.g. SQL-like IN queries, query pagination, programmatic queries like sorting by the HN ranking algorithm ~ points/(time since post)^(1.5)) the workarounds can get complex and a little weird.
One question we had is around AdSense approval! The Google Adsense approval team rejected our website for not having enough meaningful content / not having "valuable inventory" - it would be great to hear some insight about how to show Google we are a real website.
Happy to answer any questions here or at logan@mit.edu!