Dating apps have become enshittified and is why they are so ineffective. However, there is a huge opportunity for improvement. The core hypothesis my app is: a pay-per-mutual-match model that aligns user and app incentives. The mutual financial investment also makes users more likely to engage once they match.

My app doesn’t rely on complex algorithms or AI for matchmaking, as they perpetuate biases. Instead, I use a transparent system where users fill out a detailed questionnaire, and I match them based on their answers using SQL queries.

The app is built with open source software (Docker, Django, Flutter, and more!), so no vendor lock-in. This is the first app I ever made so it has been an incredible learning experience.

Ask me anything about my app, Qtpi, my tech stack, or my journey!

  • CameronDev@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    The pay-per-match model is (afaik) unique, how do you plan on dealing with troll users? Can users refund the match if they matched with a troll?

    • qtpi@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Thank you for your question! It is a good one.

      I will have to think about it. I feel like there will be few troll accounts because they have to pay. There may be bot accounts though. In that case, I would aim to have the user report the bot or advertisement account. Then I would refund the user. I would keep the money from the bot account and ban the bot account. This adds significant friction to bot and scam accounts.

      • CameronDev@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        23 hours ago

        Troll was a poor choice of word, but there is lots of antisocial behaviors that a user would be disappointed with having to pay for. I.e: dick pic, ghosting, cat fishing etc.

        Refunding does sound like a reasonable answer though, so at least you’ve thought about it. Good luck!

        • qtpi@programming.devOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          13 hours ago

          Thank you! As of now, I don’t plan to support sending photos for that very reason.

          I also plan to track ghosting eventually by having the ghosted user push a button that starts a stopwatch. Then it notifies the ghoster that they are being timed. They can either reply or unmatch with no response. In either case, closure is gained. There could be minor consequences like putting the average reply time publicly on each user’s profile too.

          Of course, this is just a tentative plan for now. I have higher priorities to implement than this currently.

          • jjjalljs@ttrpg.network
            link
            fedilink
            arrow-up
            3
            ·
            12 hours ago

            This is interesting. Hinge pushed out a message to users that was like “studies show that ghosting makes you and the person you’re ghosting feel bad! It’s not a big deal to just say no thanks!”. I don’t know if it made a difference.

            One of the things to take into account is some people (often but not always men) are dangerous. Women have told me they’ve ghosted because the man was giving them danger vibes. Encouraging the person to unmatch might be good enough.

            One thing I’d like to see, I think, is some way for me to rate people I match with but didn’t keep dating. Like Alex was polite and punctual and respectful, but they hate cats so we can’t be a thing. All that info just goes into the void. Though i wouldn’t have this be free text, and there’s more ways to screw it up than do it right. Information about people ghosting or flaking would go in the same bucket.

            • qtpi@programming.devOP
              link
              fedilink
              English
              arrow-up
              2
              ·
              12 hours ago

              Yes, those are excellent points. I have thought about that and the implementation for the following is in the works:

              If you’re familiar with the web of trust like in gpg or other networks, it’s basically transitive trust. If user A trusts user B and user B trusts user C then user A trusts user C.

              I am going to have the ability for users to verify each other when they meet in person. It essentially says, “this person matches their profile”.

              The next level of trust is “connect” which is analogous to casual friends and acquaintances. So if you meet someone but you don’t fit, you can connect and give some “social proof” that this person is alright. Or you can do it for your coworkers or whatever.

              The final level is “trust”. It is for close friends, close family, etc. It gives stronger indication for this user.

              All of these can then be recorded in a graph database. Then when a women (for example) matches with a man, they can see how many people verified, connected, trusted the user and how many “edges/degrees of separation” they have with this user. This means that a friend of a friend could put the user more at ease. Or if at least a handful of users verified the profile, there is less chance of a catfish, etc.

              • jjjalljs@ttrpg.network
                link
                fedilink
                arrow-up
                3
                ·
                12 hours ago

                Yes, that graph sort of thing is exactly something I’ve imagined before. I think it has potential. Assuming you have users, that is.

                • qtpi@programming.devOP
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  ·
                  12 hours ago

                  Thank you! Yes, I think it has potential too. I do hope that I am able to get users. That will be the crux of the problem. I’m going to start trying to market and get college students to try it out. We will see. Hopefully it goes well.

    • qtpi@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      I didn’t use QT! You’re right, it would have been good from a naming perspective. This is my first app though so I am not familiar with all the possible cross platform frameworks. I mainly hear about React Native, Flutter, or Kotlin Multiplatform. I was predominantly looking into mobile development because most people are on mobile. I’ll keep it in mind for the future though! Thanks for letting me know about it.

  • jjjalljs@ttrpg.network
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    Interesting. Dating apps are garbage for pretty well understood reasons.

    What is your pricing? Do I pay only on mutual like or if I make the first move?

    How are you going to get users? Users are notoriously … what’s a nicer word than stupid… about platforms. Look at how many people stick to Twitter and tinder even though they hate them, “but that’s where people are!”

    • qtpi@programming.devOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      Thank you for the questions!

      I’m thinking of pricing a mutual match at around $1.00 - $2.50 since the “super likes” (which are consumed whether you match or not) of the mainstream dating apps are around $1.50 - $5.00. I plan to give each user 3 free matches.

      Both users pay to match. Both users should be invested in the match and it will encourage them to actually engage.

      I am going to try to demo my app at my Alma Mater and start there. I’m trying to start geographically dense. I think this will be the most challenging part. But perhaps if people are fed up and desperate enough they will be willing to try.

      • jjjalljs@ttrpg.network
        link
        fedilink
        arrow-up
        1
        ·
        18 hours ago

        Run this flow by me?

        I load up the app. I see an attractive person. I hit “like”. Do I pay now? Or do I only pay if they also like, so there’s an extra step of “you both hit like but didn’t pay”?

        Does the other person get notified when I hit like?

        I think Tinder started by going to college campuses, finding who was hot and popular, and paying for them to throw parties. Anyone who went was told to install the app.

        I’m in NYC. I can get a date a week on the apps, but the quality varies. And like I just got ghosted twice this month. There’s room for improvement.

        • qtpi@programming.devOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          13 hours ago

          Thank you for the questions!

          First off, there will be 3 free matches. Let’s assume you have already used up the free ones.

          The flow is this:

          You buy “pledges” which are reusable “super likes”. They are only consumed when both people pledge to each other (match).

          1. the app suggests users to you
          2. see someone you like
          3. pledge to their profile
          4. they have a week to respond with their own pledge
          5. if they mutually pledge then both pledges are consumed. If they decline you get your pledge back. If they don’t reply at all, you get your pledge back after 1 week.

          Right now the app does not have notifications (still in alpha) but the app does show you all the users who pledged to you. The app would only hinder itself if it hid likes because the app only makes money when users match.

          • Chemo@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            2
            ·
            12 hours ago

            Do I understand you correct, that I cannot like more profiles then I bought pledges? And then have to wait to get turned down by these profiles to get the chance to like again?

            • qtpi@programming.devOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              12 hours ago

              Yes. That is correct. It encourages thoughtful liking instead of mass liking and then deciding to pay or not later.

              If I let users like first and then put the paywall up when they match, users might shift the filtering part of the process to when they get hit with the paywall. Then there could be a scenario where a lot of unpaid matches are left in a state of limbo or cancelled. Which would be disheartening (I think) for the user network.

          • jjjalljs@ttrpg.network
            link
            fedilink
            arrow-up
            0
            ·
            13 hours ago

            Pledge is kind of a weird term for it. Sounds like one of those culty christian “purity pledge” things. Would not recommend using that word. Maybe “like” or “wave” or “wink” or something like that.

            Is it 3 free matches per lifetime? Or per some smaller period of time?

            That’s good that it doesn’t hide matches. That’s a really irritating behavior on Tinder, Feeld, and others. Just tell me who’s already interested so I can focus on that instead of throwing more into the void.

            Now, next questions: What, if anything, are you doing about conversation and profile? In my experience, a lot of people absolutely self sabotage here. They have a blank profile, or one without any hooks, and then they get upset that the only messages they get are “hey”. Or they only send messages that are “hey”, and then are like “i hate small talk why is only small talk happening”

            Personally I don’t think you can fix that without like several generations of intense investment in education, but maybe a well thought out app could nudge people in the right direction. Hell, even a thing that scanned a message for a question mark and reminded the user “If you don’t ask them any questions, you’re not going to seem interested in them” would make a difference.

            • qtpi@programming.devOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              12 hours ago

              Yes, I’m open to changing the word pledge. I just call it that because functionally that is what it is. It’s like “proof of stake” if you’re familiar with cryptocurrency.

              It’s 3 pledges which is 3 matches for as long as the account and my app is active. How long it takes to get a match depends on the user I guess. They don’t expire though.

              Yes, that conversational opener is an issue. However, I’m thinking that because both users already paid to match and message each other, there’s already an investment and incentive to actually get to know each other. I think it’s some psychological phenomenon where it’s a sunk cost and you should try to get to know the person even if you only paid $1-$3. I think that in itself will help. The problem with free and numerous likes is that there are a lot of non-genuine likes and that creates apathy and noise.

              Also, my app allows for a wide variety of open ended questions, and multiple choice, multiple answers. So if users fill out their profile (which I’m hoping to incentivize by showing results like those free fun online quizzes), I think there should be plenty to start the conversation.

              I’m interested in what you think about this though. I appreciate the feedback and your questions!

              • jjjalljs@ttrpg.network
                link
                fedilink
                arrow-up
                2
                ·
                12 hours ago

                I think getting people to pay anything will be a hard sell. But I also think “free” creates bad incentives. This is probably “better” but humans are really bad at understanding things.

                I wonder if a tip / pay what you want model would have legs. Probably there’s too many freeloaders, sadly.

                I would also feel pretty bad if I paid for the match and it fizzled out. Like we chat but don’t have a date, or realize there’s some deal breaker (eg: they’re moving away in a month, they smoke, they hate bisexuals, etc). Some of that would be covered by the profile, but some won’t, or won’t be noticed.

                I might try it, based on what I saw with the first couple free matches. But it would also get expensive really quickly. Cheaper than subscriptions though. I think hinge wants like $50/mo for it’s top tier.

                Like, do I pay $100 up front to have 100 likes in flight? Or do I bottleneck it to some smaller number and wait for the duds to expire? Wait for others to make the first move? The optimal strategy is unclear.

                Sorry, sort of just rambling a bit.

                Is NYC one of your target markets?

                • qtpi@programming.devOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  12 hours ago

                  No problem with the “rant”! The discussion and your thoughts are highly appreciated.

                  Yes, free enables bad behaviors. I would be open to free and only tips/donations but I don’t think the business model would work. There are free dating apps like Firefly and Duolicious. However, the developers have to rely on donations and have no money for marketing. Additionally the unspoken problem is that bots and scammers will start spamming the network if the app gains enough traction. And those severely reduce the quality of the user network. By having paid matches, it greatly hinders bots by adding friction.

                  Yes, it could get expensive but I’d argue that it’d be more cost efficient and effective than any subscription app because my app allows for tons of filters and shows you who liked you already.

                  The strategy is up to the user! That is part of the design. If someone is really in a “dating phase” they can spend lots of money to get many simultaneous pledging/matching at a time. If someone is more just open to it but doesn’t want to invest a lot then they can pay for a few at a time.

                  NYC is not currently on the list. I’m going to start geographically dense and near where I am located (CA). But if it takes off, I’d definitely start in the cities.