Skip to content

Boe-Ventures/swipestats.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwipeStats

Visualize your dating data

A modern dating app analytics platform that helps you understand your Tinder and Hinge performance through beautiful insights and data visualizations.

How to Use

  1. Get your data from Tinder at account.gotinder.com/data or Hinge
  2. Upload your data at swipestats.io
  3. View insights - Analyze your matches, messages, swipe patterns, and compare yourself to cohorts
  4. Track your journey - Add life events and see how they impact your dating app performance

Privacy

SwipeStats takes your privacy seriously. Your data is anonymized using a unique ID generated by hashing your email and account creation date with the SHA256 algorithm. This means your email and personal information never reach the server in their original form.

export async function createSHA256Hash(str: string) {
  const utf8 = new TextEncoder().encode(str);
  const hashBuffer = await crypto.subtle.digest("SHA-256", utf8);
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  const hashHex = hashArray
    .map((bytes) => bytes.toString(16).padStart(2, "0"))
    .join("");
  return hashHex;
}

Your profile ID is created deterministically, so if you upload your file again in the future, your data will be updated without creating duplicates:

const profileId = await createSHA256Hash(
  birthDate + "-" + appProfileCreateDate,
);

Learn more: SHA256 on Wikipedia

Demo

SwipeStats Insights

Quick Start

Development

# Install dependencies
bun install

# Start development server
bun dev

Database Migration

Migrating from old Prisma database to new Drizzle database? See MIGRATION.md for complete instructions.

Quick migration:

bun run src/scripts/reset-schema.ts
bun run src/scripts/run-migration.ts

Tech Stack

This is a T3 Stack project with:

Project Structure

src/
├── app/              # Next.js app router
├── server/           # Backend logic
│   ├── db/          # Database schema & queries
│   └── api/         # tRPC routers
├── scripts/          # Migration & utility scripts
└── lib/             # Shared utilities

MIGRATION.md          # Database migration guide

Features

  • 📊 Comprehensive Analytics - Track swipes, matches, messages, and response times
  • 👥 Cohort Comparisons - See how you compare to others by gender, age, and location
  • 📅 Life Event Tracking - Correlate dating performance with trips, relationships, and profile changes
  • 🎯 Profile A/B Testing - Test different bios and photos to optimize your profile
  • 🔒 Privacy-First - All data is anonymized using SHA256 hashing
  • 📱 Multi-Platform - Supports both Tinder and Hinge data
  • 📈 Insights Dashboard - Beautiful visualizations of your dating journey

Documentation

Project History

This repository is a continuation and complete rewrite of the original swipestats.io project. The new version features:

  • Migration from Prisma to Drizzle ORM
  • Upgraded to Next.js 16 with App Router
  • Modern authentication with Better Auth
  • Enhanced analytics and cohort comparison system
  • Profile A/B testing functionality
  • Improved privacy and data handling

The original repository is archived and this version represents the active development of SwipeStats.

Learn More

To learn more about the T3 Stack:

Deployment

Follow deployment guides for Vercel, Netlify and Docker.

About

Visualize your Tinder data, upload anonymously and compare it to demographics from around the world!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages