GetRawMilk.com v4 is live

GetRawMilk.com v4 is live

GetRawMilk.com v4 is live and you’re currently looking at it! It’s been two years since v3 and it’s time to bring the milk website up to speed with my current web app development workflow.

Raw milk on the latest tech

Most changes occurred under-the-hood to improve performance and accessibility, but you’ll notice the new chocolate theme, it’s delicious. Theme system will auto-detect your device’s color mode, the manual switcher can be found in the menu and footer.

If you haven’t seen the new 3d globe, check out the Raw Milk 3D Globe. All the raw milk maps have also been optimized to preserve your location across page clicks, so the map doesn’t restart when we tap into a listing details page and back to the map.

As usual, please let me know if you experience any difficulties, or if you notice the app fail or error out. I am available via email: info@getrawmilk.com. Feel free to pop in and let me know what you think!

Tips are needed and always appreciated. Buy me a milk

Geek information

v0 was WashingtonRawMilk.com, a WordPress website with an embedded Google MyMap which I had scouted and plotted out for personal use.

v1 expanded the project nationwide, becoming GetRawMilk.com, underlying tech was still WordPress with a MyMap iframe – just bigger, and easier for visitors to add their raw milk farm or source.

v2 became an Node Express backend with a Vue + Nuxt frontend, very basic, but the map had a demand so this is when the project started using a proper database with dynamic routing and search functionality.

v3 switched to React, using NextJS and Chakra as a UI library. Chakra promised premade components for rapid development without sacrificing accessibility. Chakra is great, the lengthy v2 to v3 migration guide gave me a reason to consider changing things up in v4.

Pre v4 consideration, looking at a complete rebuild I cleared the table and looked at:

  1. svelte: I miss Vue’s two-way data binding, the way it looks more like writing html pages was a plus… but svelte’s sphere is a bit too distant at the moment so I opted to stay closer to convention.
  2. Deno / Preact / Fresh: very cool, Deno makes a lot of good decisions, which makes sense as there is an ever-present note of Ryan Dahl “making things right”… similar to svelte, it’s just too out of convention for my current mood.
  3. React Native: I’ve used RN for mobile app development in the past and I’ll use it in the future, it’s great… I’d rather not write for and within an abstraction layer. I’m gravitating closer to the html, not further away.
  4. I did consider going radically server-centric, with something like a pure Express or Hono (and even Rust/ Rocket) server stack with templating and minimal client-side javascript… but in the final assessment this seems a bit unnecessary.

v4 is React using the NextJS 15 app router. UI frameworks are out, just Tailwind v4 with my own CSS, this brought a bigger performance boost than I had anticipated which is great to see. I also switched to Typescript, which is a total pain, but an objectively good advancement for Javascript.

Learn more About GetRawMilk.com

tip jar

GetRawMilk.com is crowdsourced.

Free, no paywalls or subscriptions.

Keep this project going and growing.

milk bottle
milk bottle
milk bottle
dancing cow

Digital aurochs from Jonhangel

Made in Seattle 🇺🇸
2018-2025 |
©
Inland Applications