Skip to main content

Fapstats App Tracking

Fapstats Bingo integrates with the Fapstats App to allow you to log your bingo session as an activity in your personal Fapstats account. This integration appears on the Session Statistics page after a game ends.


Overview

The tracking panel is displayed in the right column of the session statistics page inside a sticky card. Its behavior depends on whether you are logged in:

StateDisplay
Not logged inA login form + link to open the Fapstats App
Logged inAn activity creation form pre-filled with game data

Authentication

Login Options

You can sign in using:

  1. Email & Password — Enter your Fapstats account email and password, then click "Sign In".
  2. OAuth Providers — Sign in with one click via:
    • Discord
    • Google
    • X (Twitter)

The OAuth buttons are displayed below a separator line that reads "Or sign in with".

Technical Details

  • Authentication is handled via Supabase Auth.
  • OAuth sign-in redirects you to the provider's login page and then back to the session statistics page.
  • After successful login, the login form is automatically replaced by the activity creation form.
  • A "Change Account" button appears in the card header when logged in. Clicking it signs you out, allowing you to log in with a different account.

Open Fapstats App

If you prefer not to log in directly, a button labeled "Open Fapstats App" links to app.fapstats.com in a new tab (shown when not logged in).


Activity Creation Form

Once logged in, a form appears to log your bingo session as an activity in the Fapstats App. The form comes pre-filled with sensible defaults based on your game session.

Form Fields

Date of Activity

  • Type: Date picker
  • Default: Today's date
  • Format: YYYY-MM-DD

Time of Day

  • Type: Dropdown select
  • Options: Morning, Afternoon, Evening, Night
  • Default: Automatically determined based on the current hour:
Current HourAuto-selected Time
00:00 – 05:59Night
06:00 – 11:59Morning
12:00 – 17:59Afternoon
18:00 – 23:59Evening

Type of Activity

  • Type: Dropdown select
  • Options: Sex, Masturbation
  • Default: Masturbation

Rating

  • Type: Star rating (1–5 stars)
  • Default: 5 stars
  • Interaction: Click on any star to set the rating. Stars to the left of the clicked star are also highlighted (yellow). Unselected stars are gray.

Duration

  • Type: Two numeric inputs (Hours and Minutes)
  • Hours range: 0 – 23
  • Minutes range: 0 – 59
  • Default: 0 hours, 0 minutes
tip

The duration is not auto-filled from the game timer. You can manually enter how long your overall session lasted (which may be longer than just the bingo game).

Partners

  • Type: Multi-select dropdown
  • Shown only when: Activity type is "Sex"
  • Options: Loaded from your Fapstats App account via a Supabase RPC call (get_select_items)
  • Default: If you have exactly one active partner, they are pre-selected
  • Note: Data loads asynchronously — the dropdown is disabled with a loading indicator while data is being fetched

Toys

  • Type: Multi-select dropdown
  • Options: Loaded from your Fapstats App account
  • Default: None selected
  • Note: You can select multiple toys that were used during the session

Tags

  • Type: Multi-select dropdown
  • Options: Loaded from your Fapstats App account
  • Default: None selected
  • Note: Tags help you categorize and filter activities later in the Fapstats App

Locations

  • Type: Multi-select dropdown
  • Options: Loaded from your Fapstats App account
  • Default: None selected

Self Orgasms

  • Type: Numeric input
  • Range: 0 – 99
  • Default: 0

Partner Orgasms

  • Type: Numeric input (one per selected partner)
  • Shown only when: Activity type is "Sex" AND at least one partner is selected
  • Range: 0 – 99 per partner
  • Default: 0
  • Label: "Orgasms for [Partner Name]"

Notes

  • Type: Auto-resizing textarea
  • Default: Pre-filled with a summary of your bingo session (see below)

Auto-Generated Notes

The notes field is automatically populated with a summary of your bingo game stats. The text updates reactively as data changes. The format is:

Activity created with Fapstats Bingo
https://bingo.fapstats.com

- Ball Slaps: [total slap count]
- Edges: [total edge count]
- Cock Ring: [total count] (Balls: [count], Penis: [count])
- Butt Plug: [size]
- Ball Gag: Yes
- Nipple Clamps: Yes

Only lines for items that were actually drawn during the game are included. If no balls were drawn, a single line reads: "No balls drawn yet".

info

You can freely edit the notes text before submitting. The auto-generated content is just a convenient starting point.


Submitting the Activity

Click the "Create Activity" button to submit the activity to the Fapstats App.

What Gets Created

The following data is sent to the Fapstats database:

  1. Activity record — Date, time of day, type, rating, duration, self orgasms, notes, and your user ID.
  2. Partner associations (if applicable) — Each selected partner is linked to the activity with their orgasm count.
  3. Toy associations — Each selected toy is linked to the activity.
  4. Tag associations — Each selected tag is linked to the activity.
  5. Location associations — Each selected location is linked to the activity.

Success State

After successful creation:

  • The form is replaced with a success screen showing:
    • A Fapstats verified badge image
    • The message: "Activity successfully created"
    • A button to "Open Fapstats App" in a new tab to view your newly created activity

Error Handling

  • If you are not logged in when trying to submit, an error message "Not logged in" appears.
  • If the database insert fails, the error message from Supabase is displayed below the form.
  • The form remains editable so you can try again.

Data Loading

When the activity form mounts, it fetches your personal data from the Fapstats App via a Supabase RPC call:

  • Partners — Your partner list
  • Toys — Your toy collection
  • Tags — Your custom tags
  • Locations — Your saved locations

During loading:

  • All multi-select dropdowns are disabled with a loading indicator.
  • Once data is loaded, the dropdowns become interactive.
  • If the RPC call fails, an error message is shown.