Inspiration
Transitioning from high school to community college, I saw how the approach to tutoring changed. At my high school, besides getting help from a teacher, there were not as many accessible resources for students to seek out help. Meanwhile, so many passionate students in my STEM classes work as tutors for their peers. We wanted to bridge this gap, bringing together high schoolers with local community college students from the Bay Area.
What it does
BridgeSTEM is a free, easy-to-use, and unique approach to tutoring that allows struggling students to have wide access to local tutors from community colleges around the Bay Area. Students create an account and select all the subject tags they need help with. They can schedule appointments with tutors who have the same subject tags, and even select a few tags to see if they can pair with a tutor who teaches the same combination of courses. Students can also ask questions in question boards; each subject tag has its own question board, which opens to students and tutors who fall under those tags. When a student asks a question, all tutors of that subject can reply.
How we built it
The website is built using Python with Streamlit to help integrate the frontend. CSV files are used to store the user accounts (tutors and students). URL query parameters keep the user signed in and in the same session state when they reload. I used Streamlit's APIs to integrate text input, LaTeX text input, and a calendar. I used JSON files to store the discussion board questions and replies in an organized manner.
Challenges we ran into
Streamlit's session state would keep resetting every time we reloaded so we had to learn how to implement parameters into the URL to keep the user in the same session. Also, it was a big hurdle to find a good way to organize all the discussion post questions; I tried using CSV files, but eventually I had to learn and experiment with JSON for the first time.
Accomplishments that we're proud of
We are really proud that we got a full website up and running, made with fully custom tabs, user elements, and a user experience.
What we learned
We learned how to use Streamlit and all its useful APIs. Also, we learned how to keep a user in the same session state on a website when reloaded, which is extremely important. This entire project relied on a strong backend structure, so we did a lot of research and learned a lot about JSON files and databases.
What's next for BridgeSTEM Tutoring
We want to make our website more efficient by transitioning from CSV/JSON files to a real database on a server. Currently, Streamlit has a great publishing tool, but it's still not perfect. We also need to implement a true password authentication system. Once we have our site ready to launch, I want to make this a reality. I will promote this volunteering opportunity at my community college and at nearby colleges too. Hopefully, we can take this project to the next level with a mobile app and a cleaner communication system in-app so the tutors/students don't need to email to communicate.
Log in or sign up for Devpost to join the conversation.