Keycard
Enhanced Discord member verification
This project was made with user friction in mind. I wanted it to be as minimal as possible. This means no logging into OAuth, or dealing with annoying captchas (I’m looking at you, recaptcha..)
Backend tech
- tRPC, for an amazing backend.
- Prisma, for the ORM.
- Planetscale, for the database.
Frontend tech
- TailwindCSS, obviously.
- DaisyUI, not used much, but provides good styles.
- Cloudflare Turnstile, for bringing user friction to its lowest point.
Now that we got some tech covered, let’s get into some more details. Keycard doubles as a full-stack application, with the API, Discord bot, and frontend all in one. This is possible using HTTP interactions, which make the infrastructure all in one place, and without a hassle.
When a user verifies themselves successfully, their Discord ID and hashed IP address are stored into a table, (see schema here). This is saved for the alt detection, which scans this table for the same hashed IP address. If there’s a match, then a log is sent to the configured Discord channel.