Please read this article to see what started this whole thing in the first place!
https://www.saminamanat.com/articles/home-theater-part-picker
This is a passion project built out of love for the home theater enthusiast community. It is still very clearly in development and not even at an alpha stage. Despite that, due to a strong principle for all things open source, you can check out the code anyway.
Most updates are going to be on the dev branch and take some time to make it to production. Regardless, you can always check out the status of the live site here.
HT Part Picker uses a bit of everything!
The framework: NextJs. I chose NextJS because it provides modern and efficient tooling for very large applications like this one. Useful for generating hundreds of product pages statically to make the user experience nice and snappy!
The language: TypeScript. There is very strong type safety throughout the entire project. If you choose to contribute, please keep the consistency of type safety and clearly defined types throughout the codebase.
The styling: TailwindCSS. HT Part Picker uses only the best! On top of that, we are using TailwindUI and Catalyst for beautiful and reusable components. Please know, Catalyst is a paid product and some of its code is in this project. I urge you to support TailwindUI directly and purchase your own license if you decide to use these components elsewhere. Thank you.
The backend: SUPABASE. These guys are seriously the goats. The whole backend as a service idea truly does work. On top of supa, HT Part Picker uses Puppeteer, Vercel Serverless, AWS-Lambda, Go (experimental), Python (experimental), and so much more.
If you want to use serverless functions locally, which probably doesn't apply to anyone reading this, you can run the Vercel dev environment directly:
vercel devFor regular development, just use good ol' NPM. Sorry Bun, you'll be added soon :)
npm run devOpen http://localhost:3000 with your browser to see the result.
If you push a change to a branch, you will see it at its own preview link thanks to Vercel
Thank you truly for taking the time to even read this! This project means a lot to me and I cannot wait until it gets out into the world for you to use. In the mean time, check out some of my other work if you'd like:
https://www.saminamanat.com/projects
Never hesitate to send an email either if you'd like to get in touch:
Cheers!
