Stop being the product.
Become the owner.
or
sign uplog in

Built a crossword app as a single self-contained HTML file…

Built a crossword app as a single self-contained HTML file using Vite and React

The interesting build constraint: the app has to be deployable as a single static HTML file because a Python pipeline injects fresh crossword data into it each week and uploads it straight to S3. So I used vite-plugin-singlefile which inlines all the JS and CSS directly into index.html. No separate asset files, no build manifest to manage, just one file that gets replaced on each run.


State management ended up simpler than expected. Zustand handles everything: the board grid, which cell is selected, clue navigation, completion tracking. The board data comes in via window.\_\_board\_\_ on page load and gets hydrated into the store. No context, no prop drilling, been a life saver for me so much saved time!


Stack: React + TypeScript, Vite 8, Zustand v5, MUI v9. Happy to talk through any of the decisions.
#js #programming #dev #technology
earnings
1,000 mlx total
$0  total
engagement
1 views
0 reactions

0 comments