Inspiration

Dating profiles often feel like resumes. They tell you where someone works and what they like, but not whether you would actually enjoy spending time together. We kept coming back to one simple idea: shared humor creates chemistry. The memes someone loves can reveal their personality faster than another list of hobbies, so we built a dating app around this intuition.

What it does

Crackd is a dating app with a sense of humor. Users react to memes with a pass, like, or strong like. Crackd turns those reactions into a humor taste profile, then recommends nearby people with similar tastes.

Each match includes a compatibility score, the humor categories you share, and memes you both liked. Users can explore profiles, match, chat, share memes, post their own content, and see activity from the community.

How we built it

We used xAI's Grok API with X (Twitter) grounding search to find the latest and most braindead memes on the platform, and classifying each post under deterministic categories.

We built Crackd as a mobile-first Next.js app using React and TypeScript. SQLite and Drizzle handle profiles, reactions, matches, messages, and posts, while Better Auth manages user sessions.

Our matching system gives each user a humor taste profile based on the tagged memes they like. Strong likes carry more weight, and uncommon shared interests matter more than things everyone likes. We combine those signals with age, location, and dating preferences to rank compatible people.

Challenges we ran into

The hardest challenge was turning something as subjective as humor into a useful score without pretending it was scientific. We solved that by using a controlled set of humor tags and showing users exactly which tags and memes contributed to a match.

External content was another challenge. X posts can be deleted, blocked, or unavailable to embed, so we store the original caption, author, and source link as a fallback. Generated media created similar reliability problems because provider links can expire. We download completed media locally and track each generation job clearly instead of assuming it succeeded.

We also spent a lot of time making the feed, gestures, match reveal, and chat feel natural on a small screen.

Accomplishments that we're proud of

We are proud that Crackd works as a complete experience rather than just a matching demo. A user can create a profile, react to real posts, build a taste profile, receive an explainable suggestion, match, start a conversation with a shared meme, and return later without losing their progress.

We are especially proud of the matching explanations. Crackd does not just display a mysterious percentage. It shows the shared humor behind the number. We also built reliable fallbacks for unavailable posts and a deterministic demo with 30 fictional profiles, which made the entire experience easier to test and present.

What's next for Crackd

Next, we want to test Crackd with real users and learn whether meme-based compatibility leads to better conversations. We would also expand the content library, improve recommendations as tastes change, add richer messaging, and make shared memes a bigger part of starting conversations.

Before a public launch, we would move to scalable hosted storage, strengthen moderation and identity verification, add account recovery, improve privacy controls, and introduce a consent-based matching flow designed for real users.

Built With

  • cursor
  • grok
  • next.js
  • node.js
  • tailwindcss
Share this project:

Updates

Submission history