in
p/yc
p/ycTopics for Y Combinator β Fall 2026
Aamir:Self-maintaining API's really caught my eye here. That's a real problem out there that I am currently facing with my build, so definitely a lot of potential there.
in
p/murror
p/murrorThe Cloudflare box you ticked in 2024 starts blocking Googlebot on 15 September
Mona Truong:@serdarships Varying the client is the axis I'd have missed entirely, and it's the more dangerous one. A path that behaves differently by header isn't a bug you can find by walking the route table, because the route table doesn't know the header exists. Locale redirects are the obvious case but content negotiation and any auth-aware branch have the same shape: one URL, several destinations, and a test suite that only ever sends one kind of request will pass forever. Asserting the final URL after redirects rather than the status is the part I'd underline for anyone skimming. A 200 at the end of a redirect chain that sent the crawler somewhere you didn't intend is the most cheerful-looking failure available. Nothing is red anywhere. On absence being the signal, Omri's answer downthread is better than either of ours: the record does exist, it's just held at the edge rather than by you. Worth reading before you build the diff, though, because I checked and zone Logpush is Enterprise only, so the version of that plan where the logs land in storage you control isn't available to most people on this thread. If you're not on Enterprise, you're back to the rolling dashboard window, which is a glance rather than a record. Which leaves the gap-diff you described as still the right instinct, just with worse tooling than it deserves.
in
p/murror
p/murrorThe Cloudflare box you ticked in 2024 starts blocking Googlebot on 15 September
Mona Truong:@omri_ben_shoham1 Right, and that reframes it usefully. The record isn't missing, it's held by the party that made the decision. Which is fine until you want to diff it on a schedule, and then the retention window is the whole constraint. A log you can only see for a short rolling period isn't evidence, it's a glance. One caveat worth knowing before anyone designs a monitor around this. I went and checked the docs: zone Logpush is Enterprise only, and the availability table lists Free, Pro and Business all as No. There's a carve-out where Workers Trace Events Logpush is reachable on a Workers Paid plan, but that's a different dataset and it won't hand you Firewall Events. So for most people reading this, "point Logpush at storage you control" isn't a config change, it's a plan change, and the realistic fallback is the rolling dashboard window. Which sharpens your point rather than weakening it, I think. Every other instrument in this thread, the 403 alert, the UA list, the dashboard someone's meant to check, needs a person to remember. A pushed log is the only one that accumulates while nobody is paying attention, and that's exactly the condition under which a bad default costs you something. Slightly grim that the one control with that property is also the one furthest behind a paywall.
in
p/murror
p/murrorThe store now tells you your users' ages. Google's terms forbid putting it in analytics.
Mona Truong:@asadmalik901 You've moved me on the provenance point. I was writing about apps whose only lever is hide or show, and for those I still think the collapse is defensible. But you're right that the moment refusing, hedging or asking again is available, self-declared and ID-checked should produce different behaviour, and the direction is the opposite of the intuitive one: weaker evidence should make you more cautious, not less. Collapsing to a boolean deletes exactly the input you'd need for that. "Almost never right anywhere refusing is an option" is a better rule than the one I wrote. On where the significant-update line sits, I've landed in the same place as you, and I think the reasoning that supports it is that the consent a parent gave was about what the app does to their child, not about which vendor's weights are behind it. Swap the model and keep the behaviour inside the envelope you described and nothing the parent agreed to has changed. But I notice that conclusion is convenient for both of us, which is a reason to hold it loosely rather than a reason to doubt it. What I'd actually do is write it down with the reasoning attached, so if it's ever tested you can show it was a judgement someone made deliberately rather than a gap nobody noticed.
in
p/murror
p/murrorThe store now tells you your users' ages. Google's terms forbid putting it in analytics.
Mona Truong:@siarheihamanovich The "make it fail loudly" framing is the correction I needed. You're right that a one-time audit is a fact about one afternoon, not a fact about the codebase, and I wrote it as if it were the latter. The grep-in-CI trick is the part I'm taking: a test that fails when a key you're contractually barred from logging turns up near an analytics payload is cheap, and it survives the person who wrote it leaving. On not putting it on the user object at all, I think you're right and I let myself off too easily. Saying age is load-bearing context for Murror doesn't actually mean it has to live on a long-lived user record. It means it has to be available at the moment we're deciding how to respond. Read at point of use and let it go is compatible with that, and I was conflating "I need this" with "I need to store this." No idea what the test looks like for a model swap either. The closest I've got is that it isn't a test at all, it's a written rule someone has to consciously override, which is a much weaker instrument and I don't love it.
in
p/general
Social proof is the only landing page element you can't bootstrap
Konstantin Tikhaev:Agent generated analytics report with confident number, looked completely "real". We spent full day investigating before relize nobody measured anything. Was just hardcoded placeholder. Bootstrapping metrics fools own team before anyone
in
p/python-production-catch-up
p/python-production-catch-upWhat Python topic feels hardest to regain after a break?
Alfredo Moraleja:I built Python Production Catch-up for developers returning to Python after some time away. Iβm curious: which part takes longest to feel natural againβdata structures, functions, OOP, testing, async code, packaging, or something else? Your answers will help me identify gaps and improve the 122-lesson learning path. Iβm the creator, and access is free with registration required.
in
p/runevr
π¨ Do solo makers need a UI/UX designer?
Anna ULANOVA:No matter if your designer is human or AI, there is still a user research stage, trial and error.
in
p/murmell
When its the right time to launch on Product Hunt ?
Anna ULANOVA:Are there days when people come to browse most often? Is there a statistic like that anywhere? I'm considering a launch, so I'm wondering.
in
p/general
How do you promote your product without sounding too salesy?
Konstantin Tikhaev:I post real breakdowns. Mid task coding agent lost context. Rebuilt helper functon already existing two files away under different name. Showing how that happened brought way more genuine interest than polished "pitch"