Inspiration
Highview needed a better system than a large spreadsheet to manage attendance, engagement, and follow-up for more than 150 students. They must be able to recognize the students who consistently show up and participate, identify the ones who are at risk of losing their spot, and act quickly enough for mentors to intervene with support rather than punishment. PulseBoard is our hackathon solution: a lightweight dashboard that integrates with existing Google tools, gives mentors real-time visibility, and gives every student a clear view of their own progress.
What it does
PulseBoard lets instructors sign in with Google, pull in their Google Classroom roster, and log each session’s status for every student: present, late, excused absence, or absent. The platform also tracks positive engagement moments such as participation, thank-you messages, or attending optional sessions. PulseBoard turns those events into clear diagnostics — attendance scores, bonus points, trend lines, and risk levels (OK, Warning, At Risk). Instructors get a class roster view with quick stats and can open a detailed profile for any student to understand what’s going on. Students get a private dashboard that shows their attendance, engagement, and current risk status so they can course-correct before they lose their standing in the program.
How we built it
Frontend: React + TypeScript (Vite). We designed teacher-first components—roster table, diagnostic cards, outreach CTA—alongside polished auth/logout flows that match the program’s aesthetic.
Backend: Node.js + Express with the googleapis library. Endpoints handle Google OAuth, roster uploads, engagement event logging, and diagnostics computation using shared TypeScript interfaces (Class, EngagementEvent, StudentDiagnostic).
Data storage: Postgres stores classes, students, and engagement events. We’re ready to export/import JSON for analytics or future S3 backups.
Risk & scoring model: Attendance points (5 for present, 2.5 for communicated absence, 0 for no-show) plus bonus categories create a “leaderboard score.” Recent event windows drive risk labels and mentor-friendly warning messages.
Challenges we ran into
One of the hardest parts was figuring out how to collect and store our data. At first, we were unsure if we should keep it local or make it dynamic so it could update automatically. In the end, we decided that storing it dynamically made the most sense. That meant we had to teach ourselves how to use SQL for data collection in a really short amount of time. It was definitely a learning curve, but we made it work and ended up understanding the process much better.
Accomplishments that we're proud of
We’re proud that we were able to build a website that helps teachers track student engagement and attendance in a simple and useful way. We also used the data we were given and displayed it clearly through our site. Even though it was locally hosted, it has real potential to expand and be used by others. We also made sure that our idea could connect with platforms like Google Classroom, which HighView already uses through its API.
What we learned
We learned a lot of new skills during this project, especially in HTML and SQL. We also got better at working as a team under pressure and managing our time in a short deadline. On top of that, we learned the ins and outs of GitHub, which we didn’t have much experience with before. It was a big step for us in both teamwork and technical growth.
What's next for PulseBoard
Moving forward, we want to expand PulseBoard to other platforms and continue developing it with HighView. We see a lot of potential for this project to reach a wide range of schools, especially in low-income areas where improving engagement and attendance can make a big difference. Our goal is to keep building on what we started and support HighView’s mission to strengthen education.
Built With
- google-classroom-api
- google-gmail-oauth
- postgresql
- react
- typescript
Log in or sign up for Devpost to join the conversation.