HackerTrans
TopNewTrendsCommentsPastAskShowJobs

ps2026

no profile record

Submissions

Show HN: PolliticalScience – Anonymous daily polls with 24-hour windows

polliticalscience.vote
31 points·by ps2026·hace 5 meses·42 comments

comments

ps2026
·hace 5 meses·discuss
I see your point. My main goal with this was simplicity, not reductivism. I am not sure the average person wants to dive into the nuances of every poll just to participate (I do like it as an option though). I also don't want to exclude people because it is too complex or there are too many steps to contribute.

The binary choice can be polarizing. But it can also yield very interesting results. Since it is anonymous, you can vote exactly how you feel with zero repercussions. People might actually find they are not as alone as they think. It also might allow someone on one side to choose something on the other side they normally wouldn't in something more formal.

It is really hard to say at this point though as I don't have enough data to make real conclusions (and not sure I ever will with this type of anonymous voting). But I do find it interesting and there have been some pretty good discussions so far. People have been explaining their thoughts without any dissolution into personal attacks which is great.
ps2026
·hace 5 meses·discuss
Hey absolutely! I checked out your website and looks great, I guess our ideas are validating each other! I would definitely be interested in learning more about your choices and implementation on demographics/verification, as I started down that path before shying away.

I had originally considered using protected session storage in the browser for storing demographic information so it never got stored on my server and stayed with the user, but decided for now to go as simple as possible with two big buttons. My main concern was, even if the vote was anonymous (especially when starting up without a large user base), if I had the users demographics stored on their account and if there were not many votes from say their region, you could in theory narrow it down to who that person was (email, ethnicity, age, location). If you had one user who was from Wyoming with those sets of demographics and you had one vote from Wyoming, well... I could make an educated guess who that was who voted and what they voted. I may have been overthinking it, but I just didn't feel personally confident enough to move forward with that, at least at the time.

I do also really like how you give the users context during their voting (pros/cons). I went with context after voting to get the gut reaction then drive discussion based on context. Really interesting to see!
ps2026
·hace 5 meses·discuss
You're right on that. That is one reason I am avoiding scientific polling and calling it "public sentiment".

The binary, with all its flaws, is dead simple. I see a statement, do I agree or disagree with that statement. If I don't fully support one or the other, the discussion section I intended for them to make their case.

I am trying to keep the same similar format for each poll. X should Y or X was right to Y in hopes people get used to the wording. On the backend I have a bias rating I give each poll as well as a temperature. The bias is LeansLeft, Center, LeansRight. The temperature is Cool, Warm and Hot. For most warm to hot polls, the statement has to be worded in the affirmative towards one side or the other. I try to keep the wording bias somewhat balanced so I don't post too many in one direction.

I am playing around with the idea of having two steps though, Agree/Disagree (required) then an optional follow-up to rate where on the scale you fall. I want to keep the simplicity as the primary target, but it could be interesting to see where people fall on a range. It would still be anonymous but rather this vote was agreed and they leaned 75% towards that side or something.
ps2026
·hace 5 meses·discuss
He, you made the news! That is pretty awesome. Well done!
ps2026
·hace 5 meses·discuss
I'm based in the US and trying my best. I'll have some more broad polls at some point. At one question per day, I'll have a hard time getting everything and everyone included.

A lot of the statements are "general" sentiment as well. Social media, drinking age, phones and children at school, death penalty as a whole (even if it does say remain legal), etc...

Any particular international topics you'd find interesting as a poll statement?
ps2026
·hace 5 meses·discuss
Hey, you are not wrong. That is technically true. So the way I format the questions are always a statement (not a question) otherwise the response is really Yes/No more so than Agree/Disagree. I prefer agree/disagree because it makes the user take a stance more so than answer a question.

I also always word them in the affirmative. X should Y or X was right to Y or X is Y. This is so users understand the flow and are not tripped up by X should "not" Y.

It doesn't always look clean depending on the topic, but it is focused on sentiment of the statement rather than the specifics (the discussion section could be for that).
ps2026
·hace 5 meses·discuss
Dang, perfect timing, ran into an issue with GitHub actions being down. Then the container timed out in Azure after manual publish. Should be back up now.
ps2026
·hace 5 meses·discuss
Update: The HN traffic exposed a bug I hadn't caught... static caching of user-specific data in Blazor Server was causing session bleed under load. One comment got attributed to the wrong user. I am pushing a fix now, so the site will be down for a few minutes while it deploys.

If you posted a comment about "people find themselves in situations that shape their fate" and it's not showing under your username, you can email me at [email protected] and I'll fix it.
ps2026
·hace 5 meses·discuss
I should probably add that. I do plan to add some more international statements, but yeah, right now it is very U.S.-centric.
ps2026
·hace 5 meses·discuss
Thanks for the thoughtful ideas! You make some great points and laid out a few good plans honestly. I do have an "account" feature right now, where you just enter your email to login. It is passwordless. Logged in accounts can only vote 1 time. I still have the fundamental difficulty of not knowing what they actually voted to maybe have two counts, the anonymous vote and the logged in vote.

Maybe if this somehow takes off, I can re-evaluate if there is a better way to maybe have the anonymous voting as well as a more "scientific" version where users opt-in to provide their information or a way to verify it before anonymously storing their vote.
ps2026
·hace 5 meses·discuss
I guess I will have to dive into this a bit more. I don't want to make false claims on the site. From the research I did before choosing Plausible, they do not collect any user data. They collect statistics of things that happened, but no actual user data.

From their website:

"By using Plausible, you don’t need to have any GDPR, CCPA or PECR prompts and you don’t need a complex privacy policy about your use of analytics and cookies. With Plausible, you are not tracking any personal data after all. Your visitors can enjoy your site without any annoyances and distractions."

You can't even tell if the same person comes back on a different day.

You can see their full privacy statements here: https://plausible.io/privacy-focused-web-analytics.

Honestly, I don't even really need them. I may just remove it entirely. I am not a B2C or B2B website. It doesn't really matter to me that much to have the stats, but it is nice in general to see how it is doing. The votes submitted sort of count the users for me anyways.
ps2026
·hace 5 meses·discuss
Hey thanks for the recommendation. That makes sense. Layered rate limiting at both /64 and /48 with different thresholds. Appreciate the explanation, and I'll be adding this to the list! This is my first time dealing with a public facing app where this type of rate limiting is needed.
ps2026
·hace 5 meses·discuss
I am not really sure honestly. I thought of the idea a couple years ago and thought it was interesting. I follow politics and current events, but never really participated in online discussions of it. I have a background in data analytics and have loved stats since I was a kid. I always followed sports stats and election poll stats. I have been working on an enterprise application for ~ 3 years now, that I hope to beta test this year and it has been pretty heavy. I decided to take a short break and just get this idea I had out there and see how it goes.

The reason it is anonymous is I do not want to tie users to votes. A couple reasons being liability. If I know who you are, how you are voting, and your demographics, that is pretty powerful, but also a ton of liability. If something happened and that data got leaked out, that could be awful. I also don't think users are as likely to create an account, give away their information, just to hit two big buttons. The goal was no barrier to entry, sign up if you want more and not to farm political data from users.

Of course I would like it to become popular, be a place for thousands to discuss hot topics, and get enough votes that it washes out any abuse and grabs enough diversity to see real sentiment. I don't know if it will ever get to that point though. I don't plan to make it scientific as that would require removing the anonymous nature of it. I have thought about it as a free tool for universities or high schools to use for current events polls and discussions.

The short version, I have no idea haha. It really is a fun side project for now, it was fun to code and get something out there, but I am interested to see where it goes.
ps2026
·hace 5 meses·discuss
Actually no, I'm rate limiting per individual IP address right now. Good catch... I should probably normalize IPv6 to /64. I was originally thinking about not blocking universities or large groups that share IPs, but I guess that is more of an IPv4 NAT concern. Thanks for pointing it out! I didn't really think about a user rotating through IPs. I didn't add the rate limiting on voting until I removed the fingerprint, so that is for sure a valid concern.
ps2026
·hace 5 meses·discuss
Haha so like "guess" which way you think public sentiment leans before you submit your vote? Were you thinking like "what percent agreed" or something? You type 55% then it shows you actually 22% agree sort of deal?

That could maybe be a little optional thing to make it more "interactive". The original idea was to be dead simple, two big buttons. The issue is attracting people to come back since they hit the big button, go "that's interesting", then forget it ever existed.
ps2026
·hace 5 meses·discuss
That would actually be really interesting since most of my users so far are from Reddit and Bluesky. Seeing how that breaks down would be telling of how sites primary users feel.

The only issue is, while Plausible analytics that I am using is really nice since it is privacy focused and doesn't track people, I have noticed it doesn't do a great job of understanding what links brought someone there. I am sure Google Analytics or others would do a better job, but it sort of circumvents the anonymous idea. Especially since this is a side project mostly for fun/interesting, I don't really want to be responsible for linking people to political choices.
ps2026
·hace 5 meses·discuss
Thanks for checking it out!

Most of my voters have come from Reddit and Bluesky so far, which is primarily where the left leaning is coming from. My X account was unfortunately suspended lol. I put an appeal in, but was originally flagged I think do to a new account, political content, and lots of links to the polls. I use an OG dynamic card generator so if I post a link to that poll or result, it creates a card for it on the fly. I think X didn't like that since I wasn't established.

That one was interesting, I am not really sure why that one skewed so far the other directly. I did not have the discussion section open yet (and just slowly getting a few active users), but that was the original reason I added the discussion. I don't know who users are, what their demographics are, etc.. (and I don't want to store that info), so hopefully in the future polls like that people will explain the "why".

I need to build some more analytics into the site (both frontend and backend) so I can analyze the data and visualize it, and so users on the frontend can get better ideas on what is happening.
ps2026
·hace 5 meses·discuss
The Plausible does count raw statistics without "tracking" specific users. That is just used for general website analytics. The first-party functional cookie that I am using (very similar to the auth login cookie) is used to prevent duplicate anonymous votes. Neither of these track the user and both are for on-site only. The functional cookie works much better than the fingerprint (actually less invasive too), but isn't full proof. You can switch browsers, go to incognito mode in some browsers, etc.. to bypass it, but it works for most casual users. Since it isn't election level polling, I figured it is fine. I do have an in memory rate limit to prevent excessive voting spam.
ps2026
·hace 5 meses·discuss
So the site does use Plausable analytics. I chose that one because it does not use cookies, does not identify the user in any way, and does not follow you across the internet.

It counts raw aggregate statistics and is compliant with GDPR without requiring a banner. While it is "tracking" I suppose, it doesn't "track you". Do you think my wording doesn't work? I am open to suggestions.
ps2026
·hace 5 meses·discuss
That is a great idea! So I actually have two "meta" tags that will be used as I get going more. One is "revisited". This one will tag statements that have been asked before and I'll then add in more analytics to see how sentiment shifts. The other one is "recurring". I'll likely ask some of the more boring straightforward "The country is headed in the right direction" statements. Then set up some charts to see how it tracks over time.

I am hoping the general public finds this interesting as a lot of the major polls (who to be fair do it scientifically) only ask a couple thousand people. Many never get to participate. While this is not scientific, anyone can participate and eventually with enough people, we can maybe gauge and see how sentiment shifts after time.