Author: Orofirm

  • How I resolved the AdMob Duplicated account issue

    I recently made a little app to help people learn chess field coordinates. I received some nice feedback on Reddit about it; however, as I expected, it wasn’t the most revolutionary product ever launched. Still, I decided to publish it on Google Play and the App Store.

    I don’t feel like people would be willing to pay for the app, as Chess.com and other established chess apps offer a similar feature for free (though I believe Chess² takes a nicer, more progressive approach to learning). So I figured I’d launch it as a free app, and if I see any traffic, I’ll add some ads using AdMob.

    This is something I’ve already done at another company I’m part of, with an app that had a lot of downloads but where users wouldn’t pay for a subscription. And that’s what brought me back to the AdMob account verification process.

    You already have a Google AdMob account

    Since I do have access to another AdMob account—through a completely different legal entity—Google assumed it was a duplicate account and told me I shouldn’t create a new one.

    Which is fair. People might forget they’ve already created an account. But that wasn’t the case here. These accounts belong to two completely separate legal entities. Still, I thought, “Okay, this is an automated system. Let me reach out to Google customer support and sort it out.”

    But…

    When I clicked the support button and filled out the Support Request form, my only available option was to read the community posts. I’ve had experience with community support before, and I knew that if I’ve reached the stage where I need to contact customer support, it’s very likely none of the community posts will help. And this was the case again. The posts all said the same thing over and over without offering a real solution—except for suggesting that you create a fake Google account and start a new registration.

    Since I couldn’t find a way to talk to a human at AdMob, I tried a different route: I wrote to Google Developer Support. I expected human interaction, since I’m an active developer, I’ve paid the developer license, and I’ve gone through a rigorous registration process.

    That attempt was also unsuccessful. I was immediately told to contact AdMob support directly, and I was given the same link that just led me back to the community forum.

    Even after explicitly asking to put me in contact with a human, I was told that they cannot do that

    I almost gave up, but then I stumbled upon a Reddit post that explained how someone had suddenly managed to reach a support person through the same link.

    Which got me thinking. Based on their comment, the Redditor wasn’t a bigger “advertiser” than I was, so I had no idea why it worked for them but not for me. So I went back to the Support Request form. But instead of describing my issue precisely with something like “My account was incorrectly marked as duplicate,” I wrote something more generic like “Business account issue.” I selected the appropriate categories in the next step—and suddenly, there was an option to send an email to a real human at AdMob!

    Apparently, there’s some logic or moderation feature built into the form that determines whether you’re allowed to contact a person, or if you’ll just be sent to the community forum to suffer.

    I sent the email explaining the situation and provided some evidence that the two accounts belong to different legal entities. I received a response in about three days confirming that the issue was resolved and my account had been verified.

    So next time you have a real issue with Google but aren’t given the option to talk to a human, try describing your problem in a different way before giving up!

  • Launched Chess2.app to make learning Chess Square Coordinates more fun

    Launched Chess2.app to make learning Chess Square Coordinates more fun

    Recently, I got into chess.
    I’m not very good at it—my rating is around 600 on chess.com. I’ve also started watching more chess content like GothamChess on YouTube and the chess.com streams on Twitch.

    If you’ve ever watched chess content, or if you’re a more serious player than I am, you’ve probably noticed that commentators exclusively use square coordinates to describe moves and board positions. (How else would they do it, right?) The problem is, I don’t know the coordinates that well, which makes the content a bit less enjoyable for me. So, I figured I should spend some time learning them.

    I also realized I couldn’t be the only one who’s ever wanted to do this, so I googled what tools exist to help. I quickly stumbled upon Chess.com’s Vision trainer and a similar tool from Lichess.

    They’re really well done, but I felt like they were a step ahead of where a complete beginner like me needed to start. After a few sessions, I churned—it didn’t keep me engaged enough. I also had a slightly different idea in mind for how best to teach and learn the squares.

    Since the idea kept bugging me—and I knew I wouldn’t be able to focus on anything else until I at least prototyped it—I decided to spend a week building it.

    What made the idea even harder to ignore was that I found a domain name I thought was pretty clever: chess2.app (read: Chess².app = Chess Square App).

    After the first day, I managed to implement the core gameplay loop, and it felt surprisingly fun. I caught myself playing it while I was building it, so I decided to finish the initial scope and launch the app. So I did.


    The Initial Scope

    I wanted to start from the very beginning.

    • I wanted something super intuitive—no walls of text explaining mechanics.
    • I wanted learning to feel like playing a game.

    And after about a week of working on it before and after my day job, I reached a point that felt like a completed milestone:

    9 difficulty levels, starting from showing all square names on every field, then gradually removing visual hints—first only side coordinates, then nothing at all.

    To make the levels more engaging, I added a countdown timer after the intro stages. Users need to find 10 squares within a time limit to unlock the next level.

    If you’re a chess noob like me, you might not have realized that the coordinates are static, regardless of which color you’re playing. That means a1 is always the bottom-left square for White, but it’s the top-right square for Black.

    So, each level of difficulty has 4 variations:

    1. Played from White’s perspective
    2. Played from Black’s perspective
    3. Played from a random perspective
    4. Played from a random perspective with added time pressure

    I had a bunch more ideas on how to improve the game, but at this point, my brain finally felt some relief—I had reached a “good enough” state.


    Working in Product Management for most of my adult life, I’ve developed a strong urge to seek external validation—to see if what I build is useful to others. I told myself I wouldn’t be afraid to show off what I built, even if it’s not “perfect” in my eyes.

    I don’t know how much longer I’ll be this into chess, so I’m not super motivated to keep building chess2.app just for myself. Before I spend months perfecting something no one (maybe not even me) would use, I want to see if others find value in it too.


    The Launch Plan

    Here’s the rough plan I came up with:

    Phase 1: Free web app to collect feedback

    • Launch the app on chess2.app as a free game
    • Write a Reddit post in relevant subreddits
    • Write a blog post (like this one) to practice writing
    • Post on Hacker News
    • Share chess2.app in technical communities (I built it with Flutter, hosted it on Netlify, and used Cursor to develop it)
    • Wait for feedback

    Phase 2: Launch mobile apps


    If anyone finds the app useful (my threshold is low—even a few hundred users would be enough), I’ll:

    • Launch it on iOS and Android
    • Add app store links to chess2.app

    Phase 3: Extend the scope


    Right now, the game only teaches square coordinates. A big missing piece is teaching piece movement and chess concepts like capturing, checkmate, stalemate, etc.

    I also have ideas for more fun features, like:

    • A leaderboard
    • The ability to challenge friends
    • Game modes with more variety

    These are way more complex than just square recognition, so I’d need a base of active users to stay motivated for this phase.

    Phase 4: Monetization


    If the project goes anywhere, I might try to cover the hosting and App Store fees by:

    • Making the mobile app a paid download (probably $0.99) while keeping chess2.app free
    • Adding some ads to both the web and mobile versions
    • Introducing a subscription to remove ads/unlock premium features

    Even if it goes nowhere, building this was already a net positive investment:

    • I built and launched something
    • I learned a lot
    • I wrote this blog post

    If you’ve read this far—wow. Thank you. Know that you’re appreciated by a random nerd from a random Central European country.

    Cheers!

  • The simple math why distribution is important

    The unfortunate truth about that I realized, is that distribution is at least as important as the product itself.

    Many will say “duh”. But I realizing it first hand hits different than just echoing the cliche.

    If you have the best product, but nobody knows about, you’ll have 0% chance to make money.

    If your have a product that’s subjectively bad, but users download it, you have >0% chance to make money.

    That simple.

  • Orofirm Goals 2025

    1. Launch ProductMe on the App Store
    2. Invoice more for Product Management Services than in 2024
    3. Launch a new AI Agent based Product
    4. Launch 10 short form videos (Youtube, Instagram, TikTok) to promote products
    5. Create Youtube channel and launch 5 videos
    6. Move to the new office
    7. Open a savings account and allocate 10% of the income in ETFs
    8. 100x MRR from own products ($10 -> $1000 )
    9. Keep costs low and under control

  • Launch of Orofirm.com

    This is the first official blog post on Orofirm.com by Orofirm. I don’t expect anyone to read it. The reason I created this website was to satisfy Apple’s requirements because they rejected my enrollment for an Apple Developer Account for my business, Orofirm Kft, citing the lack of a “proper website.”

    I hadn’t originally planned to create a website for Orofirm—at least not within the next 1 or 2 years. But here we are.

    I will use Orofirm.com to write about what Orofirm is doing because some of the things we’re working on are quite interesting, yet there isn’t a proper forum to share my learnings.

    What is Orofirm?

    As you might have guessed, Orofirm is my business. Its official legal name is Orofirm Korlátolt Felelősségű Társaság, which is essentially the Hungarian equivalent of an LLC/GmbH. Orofirm’s primary focus is software development and related services. As of today, it’s a single-person business, and that single person is me: Peter.

    I offer software product management and software development services, primarily for SMBs, because that’s the environment I enjoy working in the most. At the moment, I’m not looking for new partners.

    What do I want to achieve with Orofirm?

    My ultimate goal with Orofirm is to create a long-lasting, “boring” business. I want it to be something valuable that my child(ren) can inherit after I’m gone. They can decide to continue running the business or sell it and pursue something they value more.

    How do I plan to achieve that?

    Currently, Orofirm’s primary source of income is from software development-related services. I work for other companies and invoice them. This setup works well for now—I’m fortunate to collaborate with companies I genuinely enjoy working with.

    However, as a builder at heart, my long-term goal is to create my own product that can sustain the business and support my family.

    As I mentioned, I want to build a “boring” business. I don’t want to take huge risks, raise venture capital, or chase the next unicorn startup. Instead, I want predictable income and peace of mind. I’ll continue working for my partners to the best of my ability and use my free time to develop my own products. Fortunately, I love building software, and programming is one of my favorite hobbies.

    Where do I stand today?

    I have one great partner I work with, and most of my time is invested in this collaboration.

    I have also launched two products on the Google Play Store:

    • One is not yet monetized.
    • The other generates $10 in monthly recurring revenue (MRR). My goal for 2024 was to make $1 with it, which I successfully achieved.

    I’m keeping costs low, which allows me to focus on gradual progress.

    Final thoughts

    I’m very happy with how far I’ve come in less than a year, but it’s clear that I still have a long way to go to achieve my ultimate goals. I’m optimistic about making significant progress in 2025.