Why I Built SuperBot
When I launched Superb Education, I didn’t expect admin work to be the real beast.
Taking attendance, tracking progress, replying to repetitive questions—it all added up and drained my energy fast.
I wanted to free up my time to focus on teaching.
So I asked myself: What if a bot could handle all of this?
I wasn’t just looking for automation—I was imagining a real assistant.
A chatbot that could understand context, respond to students, and update records automatically. That’s how the idea for SuperBot began.
What Even Is an API?
Before SuperBot, I had never built anything with APIs. I vaguely knew APIs existed. But I didn’t know how they worked.
So I jumped in and decided:
- Use LINE Bot as the front-end
- Use Google Sheets as a backend database
- Use Python to glue them together
Sounds simple, right?
Wrong.
The LINE Bot Chaos
LINE Bot was pure chaos at first.
I spent days trying to get a simple webhook to work. I followed five different tutorials. I triple-checked my access tokens. Still nothing.
The webhook didn’t respond. No error, no reply. Just silence.
I thought it was Heroku. I thought it was the endpoint. I thought it was me.
Turns out—I was using the wrong version of the LINE API documentation the entire time.
Lesson learned:
Always check the version of the doc, and always read everything.
After that wake-up call, I finally understood what webhooks are, how events trigger, and how to handle and parse JSON properly.
Google Sheets as a “Database”
Once LINE was working, I turned to Google Sheets.
Using the pygsheets
Python package, I could fetch, update, and write rows dynamically. It felt magical—like I’d unlocked spreadsheet superpowers.
That said, setting up Google credentials, service accounts, and permissions took a lot of trial and error. But once I got through that wall, the rest started to click.
Students could text the bot, and it would instantly write their data into the right row—tracking attendance, calculating missed days, and even sending reminders.
No fancy UI. No backend database. Just one spreadsheet + one bot.
Technical Highlights
Here’s what I implemented while building SuperBot:
- Webhook routing: Different messages trigger different workflows (attendance, reminders, info lookup).
- Google Sheets integration: Using
pygsheets
to dynamically update the sheet based on student ID. - Input handling: Flexible keyword detection with fallback responses for typos or unexpected inputs.
- Cloud deployment: Simple
git push heroku main
workflows for rapid deployment. - Live debugging:
heroku logs --tail
helped me diagnose issues in real time.
This project taught me more in one month than any class I’ve taken.
The Final Result: My First Real-World Solution
By the end, SuperBot could:
- Automatically recorded class attendance
- Matched student group IDs and updated the corresponding rows in Google Sheets
- Responded to frequently asked questions (e.g., progress and assignment queries)
- Automatically pushed course-related notifications
- Calculated total class hours and fees for each month
But more than that, it became my first real software solution.
It solved a real problem, saved me hours of time, and made the learning process smoother for students.
Grateful for My Co-Pilot: ChatGPT
Through all the errors, API docs, and unexpected bugs—there was one consistent teammate helping me out: ChatGPT.
It helped me debug JSON, refactor code, understand obscure API docs, and even walk through flow design logic.
So yes—SuperBot is Superb Education’s first digital staff member,
and ChatGPT is its secret co-founder 🤝
I bow to AI. I debugged, it answered. I questioned, it delivered. SuperBot? It’s our first joint startup. 🚀🤖