Inspiration

I was inspired to make this app because of my work as part of the Sunnyvale Youth Public Policy Institute. There, I was tasked with helping make Climate Education in California a law. Working to make a law made me feel proud to be a part of a democracy, and I wanted to make a platform that recreates that for people on a daily basis. Imagine making a post about something on a social media application---and then watching it turn into a LAW! That feeling is incredible, along with the fact that the platform allows you to make legal change much more easily than current methods.

What it does

It's essentially a "Reddit for your Rights". You can create a post about anything--an idea or issue--relevant to you or others. These posts can be shared with government officials based on the regions selected (the app generates them for you) and can help show the officials that there is support for your claims with the upvote/downvote system.

How I built it

I used python as the main language, using tkinter import to create prototype graphics for the project. All data is stored on a server using MYSQL.

Challenges I ran into

It was extremely hard for me to create the looping feed system. Each post is placed in a frame which is packed onto the screen, but storing variables in that frame required many workarounds because of the old fashioned design of tkinter. I also found it hard to create the upvote/downvote system because of difficulties interfacing not only tkinter and python, but also the database.

Because I was using a free database of only 5 MB, storing user's data took a lot of effort to keep within limits. This provided some challenges as well.

Accomplishments that I'm proud of

I'm proud that I was able to create the feed generation interfacing tkinter, python, and the database. All three of them have different ways of working together, so getting them to cooperate was a challenge.

I'm also proud that I stuck with tkinter till the end no matter how much it frustrated me. I definitely will moving on to a different graphical user interface next time around.

What I learned

I learned about special commands interfacing tkinter, the database, and python, and how to make tkinter look (a little bit) more visually pleasing.

I also learned a lot about time management, and about balancing time spent on graphics versus code.

What's next for VoteVoice

I want to add a "Groups" system where you can create groups with people to tackle issues that might require a little more work than just a regular post.

I also want to clean up the UI and create a comments upon comments upon comments system, so the app can create more forum-like discussions. Because of data and time limitations, I did not have time to accomplish these.

Built With

Share this project:

Updates