December 2020: Schools are bustling with students, cramming for finals, checking homework with each other and having study sessions.
January 2020: The CDC confirms the first US COVID-19 case and the WHO declares COVID-19 as a pandemic.
March 2020: Schools across the US close due to lockdown and propose a new concept - "remote learning."
2020 has been an unprecedented year for students. At the beginning of lockdown, the education system was a hectic mess. Resources, assignments, and communication was extremely disorganized, causing many students to not meet educational requirements and for educators to completely restructure how learning was done.
This produced a new and bootstrapped version of education - an amalgamation of video conferencing and assignment management softwares such as Zoom and Google Classroom, with ad-hoc training for teachers. Over time, this system slowly became more consistent, however students slowly started failing and losing interest in school.
Why was this still happening? Teachers often spent more time working on assignments, exams, and answering questions on email. Students generally scored higher than past years, signifying more time to study. Zoom and Google Classroom revolutionized their user interfaces.
Well, the answer is that education still lacked one integral but unnoticed aspect: peer-to-peer interaction. Often, when students don't understand a subject in school, they often ask support groups for help. With remote learning, this has occurred to an extent with scatterings of inactive Discord, Slack, and iMessage groups, but to no convenient or groundbreaking extent.
We believe that students shouldn't be self-learning, rather they should be learning together. With these ideas and concerns in mind, we arrived at our solution: Aplus. The grade that should be achieved learning together, not alone.
🔎 What it does
Aplus is a web platform that allows students to ask questions and share content as posts in an efficient, engaging and accessible manner.
There are three main components of Aplus: categorization, delivery, and publication.
Categorization: users are able to categorize their posts into designated subsections, allowing for more clarity when accessing content. This allows more content to be engaged with a higher CTR from users. Aplus also automatically tries to suggest categories using natural-node's NLP tokenization and named entity recognition APIs, for more content accuracy.
Delivery: Aplus automatically does preprocessing server side before the page is interactive, determining which posts are most relevant to the user and displaying the posts as a feed with partial post loading. This allows for a more engaging experience and minimizes the extra overhead associated with viewing a large quantity of posts.
Publication: Students are able to easily create posts with a predictable API, meaning they can share ideas, projects, and even ask questions.
Full Feature List
- Abilities for schools to duplicate open-source project easily
- Categories based on subject and intent
- Feed of posts and follow and view by categories
- TTI leveraging with server and client for preprocessing
- NLP tokenization and named entity recognition
- Clean and predictable UI, low learning curve
🚧 How We built it
- Frontend: build process with Rollup and WindiCSS, styles with TailwindCSS, logic with Lucia.js + Typescript, deployed to Netlify.
- Backend: built with Rust using the Rocket framework to make the REST API and Diesel for PostgreSQL database management.
- Infrastructure: Docker, AWS, Authentication system with Netlify Identify
- Machine Learning: Natural-node for tokenization and basic named entity recognition.
- Branding, design and UI: Figma, Adobe Illustrator, Adobe Photoshop, Affinity Designer, Sketch
- Pitch video: Adobe After Effects, Adobe Premiere Pro, and Adobe Photoshop
🛑 Challenges we ran into
- Merge conflicts with Git and lag with peer programming software
- Configuring Rollup and WindiCSS to work with our bundling process
- AWS, Docker configuration and pipeline
- Determining scope of product
- Build process had a little bit of inefficiency with bad watch mode
✅ Accomplishments that we're proud of
- Implementing our MVP: web with feed and NLP suggestions, server with Rust, PostgreSQL, etc.
- Talking to teachers at our school and them liking our idea and considering adopting it
- Surprisingly having a lot of fun working together and on the product throughout the process
📖 What we learned
- This product can be impactful to schools, as we have contacted teachers already and they are interested in deploying our product to their class
- Working on something that you really enjoy and you know is useful is super exhilarating
- Learned how to use AWS, Docker, load balancers, netlify identity, Lucia, tailwind, windicss, and how to cry without noise
💭 What's next for Aplus
- We want to implement this in real school systems
- We already have talked to teachers in Camas High School and they are interested in using our product
- We aim to push a open beta soon
- We want to work with students and teachers from all areas and environments
Made with 😢 + ❤️ by Tejas Agarwal, Aiden Bai, Melinda Chang, William Lane