💡 Inspiration
Lack of accessibility, accountability and transparency prevent individuals from engaging with their government and law causing inequality. The reality of starting a campaign is very complex with many bureaucratic procedures. We wanted to make it easier for everyone, no matter their background, to engage and shape the law in their country. We make the civic process easier and more effective by giving everyone an equal voice and opportunity to be a civic leader.
💻 What it does
Civit is a platform designed to empower every passionate person to shape the law in the country. Our solution enables anyone to become a civic leader and take action on their idea. We make it more convenient to transform your idea to law through 5 simple steps:
- Filling out the form to create an initiative
- Collecting signatures and donations by sharing initiative page
- Gathering legislative sponsors through sending meeting requests
- Upload drafts of legislation to annotate
- Status Updates, Voting Results, and Final Result of your legislative idea
🛠️ How we built it
Technologies we used
We used many technologies that while have been around for a long time, some are being implemented for our usecase and purpose for the first time ever. We used git version control and markdown files to build a bill drafting system that enables initiative organizers and legislators alike to collaborate on developing a bill. Our end-to-end platform is built on Python, Django, and JavaScript. The database that populates our data is SQLite and we also have a concise and secure legislator authentication method.
Frontend
Users will be able to have complete control over the initiatives that they are involved in. On the control panel, they can easily manage organizers, expenses, documents, status updates, and meeting requests. All of these essential aspects of a legislative process will enable citizens to be successful in transforming their idea to law. On the frontend, we used Django templates, vanilla JavaScript, and Bulma CSS Framework that resulted in an aesthetic, professional website. The website performs constant GET and POST requests with the Django server APIs to update the UI to reflect changes in real time.
Backend
To make HTTP request, we primarily use Django, which is connected to the SQLite database. In order to accomplish this, we built entity models, which are stored in the database as tables with unique keys. After designing this database schema, we implemented our routes based on the specific features we want implemented.
🧗 Challenges we ran into
- Our comprehensive drafting feature was extremely difficult to implement. Using git in conjunction with Django and Python took a lot of time because our implementation was novel and had never been done before. There was not a lot of documentation out there to use git for drafting a legislation bill, which is most commonly used for version control of code. The most difficult part of comparing the different commits and producing intuitive patch notes.
- We had to model various entities associated with our platform and their complex relationships between them in a SQL database. This time-consuming process became even more challenging when we lost a group member.
🏆 Accomplishments that we're proud of
- Build an end-to-end platform for organizers, supporters, and legislators to be able to collaborate effectively, efficiently, and with transparency.
- Managed to build a unique and novel bill drafting feature using markdown files and git version control.
- We did all this while at the same time, learning git, UI/UX design and Django.
✍️ What we learned
- Technical skills in git, UI/UX design, wireframing, and Django.
- Work in an interdisciplinary team with different backgrounds and goals, but come together to execute on our idea.
- A lot more time spent on developing the idea and wireframing the process than actual coding contrary to our initial belief.
📜 What's next for Civit
- Develop a database based on voter registration ID, so every user in our platform is authenticated and confirmed as a registered voter.
- Develop a priority system using NLP ranking models that rank certain ideas/legislations based on details of the idea.
- Develop an even more automated process to contact legislators that does not involve emails or setting up meetings.
- Push for our platform to be legally implemented in legislative offices. This will enable citizens and legislators to have two-way communications.


Log in or sign up for Devpost to join the conversation.