It’s been a while since I posted…what’s new?

We’ve been rebuilding AllTheFlavors.com on top of Remix. This gives us server-side rendering and an integrated API server, so we will continue to use GraphQL. I looked into perhaps dropping GraphQL, to query the database directly from Remix, but our GraphQL parsing engine pulls a ton of weight and it would be a major step backward to lose the dynamic querying we get from it. We basically rebuilt the UI into Remix in a couple of months and now we are actually making enhancements, with very few API changes needed prior to the enhancement stage.

There are a lot of new features coming soon to All the Flavors, like community features, tags, new sharing system, more flexible formulations, ingredient specifications, vendor flavor and ingredient inventories, and a lot more.

I also have a few side projects going. I’ve been building up the BeSquishy infrastructure and it’s getting closer. Unlike All The Flavors, the API won’t be integrated, it will be standalone, and BeSquishy itself will be a fullstack Remix site. The API is still GraphQL, but will only be used for supplemental apps and 3rd parties. In addition to the API as a Service, I am also looking into offering notification and pubsub services. My intent is to have an open source blog app that uses the API, which will replace WordPress here. Still trying to decide how much of the overall project will be open sourced. My thoughts are perhaps keep the main service closed source, to see how well it goes, and off some open source apps that use it. If it doesn’t grow fairly quickly in popularity, I may just open source all of it.

The cool thing about how I’m building BeSquishy is, even though it’s not all integrated, it’s all built from a monorepo. This means I can easily spin up additional servers to provide load balancing across the board or for whichever individual services are getting hit the hardest. There are also shared libraries to ensure the API is always inline with what is live on the site and the maintenance is mostly in one place, instead of fighting to maintain things in multiple places. It’s basically multiple interfaces to the data.

I am also looking into creating an ArangoDB (which is the database I’m using) ORM, that I would open source. If I do it, it would include a GraphQL parser and post processor, very similar to what we use on All the Flavors. As far as I know, there’s no other open source parser like this. ArangoJS is fairly easy to use, so if I decide not to go with the full ORM, I may just open source the parser.