finds.dev← search

// the find

SteveSuv/remix-words-funny

★ 931 · TypeScript · updated Jan 2026

a fullstack English words study website: remix (react-router v7) + trpc + drizzle + postgresql + heroui + jotai + docker

A flashcard-style English vocabulary study app built as a showcase for the 'remix-t3-stack' template — Remix (React Router v7) with tRPC, Drizzle, and PostgreSQL. Aimed at Chinese learners studying for exams like CET4, CET6, IELTS, and TOEFL, given the word list sources and book naming conventions. The architecture is the main attraction, not the learning app itself.

End-to-end type safety is genuinely well-executed — tRPC sits between Drizzle schemas and React Query, so types flow from the database through to the component without manual casting. Using tRPC actions as a replacement for Remix's native action/loader export pattern is an interesting architectural choice that keeps mutation logic server-side without the usual form submission ceremony. Docker and pm2 deployment paths are both documented and the setup steps are specific enough to actually follow. The word dataset (152k+ entries with cognates, phrases, sentences, synonyms) is real content, not placeholder data.

Initial setup is a significant hurdle: you must manually download a CSV from a third-party file-sharing link (PikPak), import it in a specific table order, and run a validation task — there's no seed script or migration that handles this automatically, so the repo doesn't work out of the box. The .env file is committed to the repo (listed in the directory tree as a blob, not gitignored), which is a credential leak waiting to happen. The entire app is English vocabulary for Chinese exam takers, making it a narrow demo rather than a general-purpose template despite being marketed as one. No test coverage visible anywhere in the tree.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →