Perd is an outdoor equipment companion for people who plan trips, hikes, and other outdoor outings and do not want to forget important gear.
- sign in;
- open the gear library;
- browse the current list of equipment reference items;
- open item detail pages;
- save items to my gear;
- create packing lists;
- add custom and my gear checklist entries;
- mark checklist entries as packed.
The priority is the user workflow, not internal admin tooling.
- lighterpack.com
- hikepack.app
- packstack.io
- Don't Forget the Spoon
packflare.comgeargrams.comtrailhawk.iobaseweight.copacklist.iooutdoormojo.com
For a local Worker with all Cloudflare bindings, copy .env.example to .env
and set the local database URL and session secret. Set both
NUXT_EMAIL_REGISTRATION_ORIGIN and NUXT_PASSKEYS_ORIGIN to
http://localhost:8888. Then run vp run db:migrate:local, vp run build,
and vp run preview:local. The local preview uses the test Turnstile keys from
.env.example, local rate limits, and simulated email delivery. Verification
emails are saved under .wrangler/tmp/email.
Twitch sign-in also needs a Twitch application. Set its client ID and secret
in .env, then register http://localhost:8888/auth/twitch as an OAuth
redirect URL in Twitch. Without those credentials, the other local sign-in
methods still work.
Migrations are the only automatic way to change existing environments. Run the
destructive catalog reset only for a local or new empty database with
vp run db:reset:catalog:local or vp run db:reset:catalog.
Every canonical catalog or reference-data change must include a targeted, one-time SQL migration and the matching update to the seed definitions.
See Email registration for rollout prerequisites, local development, and focused verification. Production enablement is gated on #748.
See Passkeys for passkey configuration, migration, testing, and release order.