I’ve been thinking back to my time as a core member of the original team that built the “blue bird” web app. I learned a great many lessons there and thinking through them: How would I rebuild a similar web app today, like a Mastodon frontend or an Activity Pub web client?

https://paularmstrong.dev/blog/2022/11/28/lessons-learned-how-i-would-rebuild-twitter-today/

Lessons learned: how I’d rebuild a social web app like Twitter today • Paul Armstrong

I’ve been thinking back to my time as a core member of the original team that built the Twitter web app. I learned a great many lessons there and thinking through them: How would I rebuild something similar to the Twitter web app today, like a Mastodon or Activity Pub web client?

@paularmstrong I highly recommend Parcel as an alternative to both Vite and Turbopack. Parcel is a much more viable replacement for Webpack today. Turbopack in particular is very half-baked for even simple use cases
@jamiebuilds I’ve used it but there wasn’t a very strong server-side story when I did. Has it evolved much in the past year?
@paularmstrong Parcel v2 reached stable just a little over a year ago, it has improved in a lot of ways since. What exactly was bad though, I just threw this together and it's working well:
@jamiebuilds it’s been a while. I’ll have to try it again!
@jamiebuilds I did use it for my wedding RSVP website that I built on top of firebase. Worked great for that, but I didn’t go too much further than two static pages with client side rendering only. https://paularmstrong.dev/blog/2022/06/04/custom-wedding-website-part-1/
Creating a modern wedding website in 2022 Part 1: Choosing the tools • Paul Armstrong

This part of the modern wedding website series will cover tools chosen to satisfy requirements of creating a modern wedding website in 2022.

@paularmstrong I've used it for some larger apps and it's been excellent. When things don't work the way I want them to there tends to be a very straightforward answer. It works a bit different than other tools in that it leaves other tools' config files as their source of truth and not having layers of config indirection is nice

@jamiebuilds Maybe the problem I had is that the documentation seems to hide the fact that I can point it at anything other than an HTML file.

It’s almost like just an asterisk/extra note that “oh yeah I guess you could also do this”: https://parceljs.org/features/targets/#package.json%23targets.*.source

Targets

Parcel can compile your source code in multiple different ways simultaneously. These are called targets. For example, you could have a “modern” target that targets newer browsers and a “legacy” target for older browsers.