AutoSwiper
Skip the swiping grind and get to the part where you're actually on a date

Messages in your voice
You approve everything
Tinder + Bumble
The Problem
Dating apps are a grind. You open them, swipe through 50 profiles, match with a few, then stare at a blank message box trying to think of something better than "hey." Multiply that across Tinder and Bumble and you're spending hours a week on repetitive decisions that all feel the same.
The actual dates are great. The 45 minutes of swiping and messaging to get to one? Not so much. I wanted something that handles the tedious part so I can focus on the conversations that matter.
How It Works
- Chrome extension that runs directly on Tinder and Bumble. No separate app, no copy-pasting. It lives where you already are
- Smart swipe suggestions that learn your preferences and highlight your best matches. Optional auto-swipe if you want to go fully hands-off
- AI message drafting that writes in your voice, not generic pickup lines. You provide examples of how you talk, and the AI matches your tone
- Draft approval workflow so nothing sends without you reviewing it first. Not a bot that messages on its own
- Date proposal assistant that suggests when to ask someone out and recommends venues based on your preferences
- Safety controls everywhere. Kill switch (Ctrl+Shift+K), daily caps on swipes and messages, rate limiting to mimic human pacing, and risk classification for every action
The Build
This is a full monorepo with three services: a Chrome extension (Vite + React), a web dashboard (Next.js 15), and a backend API (Fastify). They talk through JWT auth with refresh tokens.
The extension architecture was the interesting part. It uses a session guard with a state machine (active/paused/stopped) to handle multi-tab scenarios. Actions get queued and flushed in batches. Analytics buffer locally and auto-flush every 30 seconds. All sensitive data is encrypted in chrome.storage.local.
The API has 13 Prisma models and 30+ endpoints covering auth, billing, conversations, message drafting, risk classification, date proposals, venue recommendations, and analytics. Claude is the primary LLM for drafting, with OpenAI as a fallback.
Stripe handles billing at $79/month (or $59/month annually). The extension checks entitlements on every action so free users hit the paywall naturally.
What's Next
The full codebase is built and committed. Next steps are deploying the API and dashboard, getting the extension into Chrome Web Store review, and then testing the full loop: install, connect, swipe, draft, approve, send, schedule a date. The goal is a product I actually use myself before sharing it.