Diversity and inclusiveness are important factors that are often neglected in media of various types. Whether it be books, movies, exams or textbooks, content should ideally represent the real-world demographics corresponding to the setting in question.

However, this is often easier said than done. People by and large don't know demographic statistics. Even if they did know these statistics, people have demonstrable issues with fairness even when asked to pick a random number from 1 to 10 (7 is the most commonly picked number).

Thus to make it easy to accurately represent people, I've created DemographX. This web app uses procedural generation and real-world demographic data to produce realistic demographic profiles.

Currently the app has national-level data as well as state-level data for each of the 50 states. Currently tabulated criteria are race, gender, sexual orientation, and cis/trans identity.

The main challenges that I ran into were statistical ones. Not all statistical data is easily available, and many demographic statistics are dependent on each other in a way that make them difficult to gather and/or calculate. For example, women are significantly more likely to identify as bisexual than men are. This gets infinitely more complex for things like religious affiliation, which was so complicated that I quickly decided to leave it out.

I'm proud of how my app is able to telescope down to the most local relevant data, but fall back on broader national-level data if there isn't more local-level data available. I'm also proud that it avoids excessive hardcoding - improving the statistics is often as simple as adding more json data without making logic changes. Finally, I'm proud of the clean UI.

In developing this app, I learned a lot about America's demographics. I also learned about the limitations of statistics, and how hard it is to develop insight on populations just through survey and census data. Finally, I improved my front-end web-development skills.

Future steps for this project include getting it used in real-world writing and other media. Additionally, given more time and data I may improve the statistics.

https://gentelguy.github.io/DemographX/

Built With

Share this project:

Updates