in Introduce yourselfp/introduce-yourself

Hi, I'm George. Making a dating app without swiping

George Basov:Hi George, from another George! Photos that sharpen only when both agree is a kind idea. One thing worth knowing before the first store review: an app where people see each other's content is user generated content in Apple's eyes, and reviewers look for a way to report content and to block a person. When I built a small community into my own app, the comment section got exactly those: anyone can report a comment, an author can be hidden by any user, and an admin can ban an account. For dating I would build report and block into the very first version and mention them in the review notes, so the review is about your idea, not about a missing button.
in Introduce yourselfp/introduce-yourself

Hi PH! Michael here, keen golfer building Paragraph Golf

George Basov:Welcome Michael, and good luck on the 14th! "Facts, not swing tips" is a good promise, and one way to keep it if a model writes the summaries: let code compute every number and let the model only phrase them. In my song app, where a model reports which lyric lines were actually sung, it answers with line numbers and the text is copied by code, so it can never misquote a line. For golf the equivalent would be the model writing "your approach shots got longer" while the 7 yards come from your own calculation, never from the model. A summary that is wrong about one number loses trust in all the others.
in Introduce yourselfp/introduce-yourself

Hi Product Hunters 👋 Founder from UAE, fighting fake invoice scams

George Basov:Welcome Muzamil! Confirming on a trusted device is the right instinct. One thing from my own app that may matter for Paysealed: device level checks fail on real, honest devices more often than you would expect. My app attests every server call through Apple's and Google's device checks, and it has locked out real users: an Indian Xiaomi on Android 15 failed from the first exchange, and an iPhone 8 Plus on its last iOS version failed every attestation with an unknown system error. For a payment approval, a device that suddenly cannot attest means a payment that cannot go out. I would design the fallback path, a second approver or a second device, before launch rather than after the first stuck payment.
in Vibecodingp/vibecoding

AI can build almost any feature I ask for. How do you decide which ones to ask for?

George Basov:Good to see the shopping list came from real people, Joshua. My two inputs are other people's reviews and my own usage data. Before planning features for my song app I read about 200 public reviews of similar apps, and the most frequent request was "keep the song I like, change one thing". On the other side, the data humbles the features I did build: of 51 song templates, 40 had never been opened, and a gift of free credits offered to 75 people was claimed by 11. So the order I trust: what strangers ask for repeatedly, then what my own numbers say people actually touch, and the AI's suggestions last.
in Generalp/general

The MX record typo that routed internal emails to a parked domain

George Basov:Password resets are the scary part of that list, because for some users mail is the login. In my app one sign in method is an emailed link, and even with DNS right, delivery can quietly lag in ways no bounce alert shows: Yahoo throttled our sending service's shared IPs, so a mail to a yahoo.com or aol.com address waited anywhere from 1 to 19 hours while Gmail got it in seconds. Hundreds of deferral retries a day, zero bounces. The alert I would want for your case and mine is not "a mail bounced" but "a sign in or reset mail took longer than a few minutes to land", per mailbox provider, because that is when people give up.
in Generalp/general

Do you refund unhappy users yourself, or wait for them to file a chargeback?

George Basov:One technical half of "refund first" that is easy to miss: make sure the refund actually reaches your product. On my app's web purchases, the subscription platform I use did not apply refunds of one time purchases made through Stripe Checkout. A live refund left the user's profile still marked as not refunded, with no event at all. So refunds come straight from Stripe's charge.refunded webhook now, and it takes back exactly what the purchase gave: a cloned voice is revoked, a credit pack is subtracted, floored at zero so credits already spent stay spent. Each refund is applied once, keyed by the charge. Without that, generous refunds quietly turn into free products.
in Generalp/general

What was your worst "forgot to clean up temp files" production disaster?

George Basov:Not disk, but the same family: test data left lying in production. My app's store screenshots are taken from 44 seeded demo accounts, one per language, and each has a fake music release in the database so the release screen looks real. Those fake releases looked submitted, so an hourly sync job asked the distributor's API for their status, three tries each, with an id the distributor never issued. Dozens of 401s in a row, after which the distributor refused even our valid token for a while, and our own watcher paused releases for everyone, twice, before the cause was found. The fix is one flag on every fixture that the sync skips, and a rule: never call an outside API with an id it did not issue.
in PasteKitp/pastekit-2

What do you paste into a formatter that you'd never want uploaded?

Koh Yee Huei:Good question! Right now PasteKit loads the whole input into memory and does the parsing and formatting in a Web Worker, so the page stays responsive while it works, but it doesn't stream yet. Around 100 MB, how it goes depends on your browser and how much RAM your machine has. Nothing is uploaded at any size, since it all runs locally. If you have a real file that size that chokes, I'd love to hear which format it was so I can test it.
in ReSO AIp/reso

Should AI Overview visibility become a marketing KPI?

Vaish:@dhruv_mehrotra1 I love the tag idea. How exactly did you implement it Dhruv? I use airops and gong. Thinking if there is someway any time someone mentions one of our tracked prompts during calls, Gong needs to pass data to airops. Would love to brainstorm.
in ReSO AIp/reso

Should AI Overview visibility become a marketing KPI?

Vaish:@mohit_resollm How do you keep a list of TOFU prompts? Isn't the list always huge?