An online academy went from a scattered pile of Excel files to a single screen
The business
AKUMAYA Educación is a Colombian academy that teaches programming, robotics, 3D design, AI and content creation to kids aged 7 to 15. It offers more than 12 tools/topics organized as a learning ladder (Scratch → Python → Unity, Robotics → Arduino, Minecraft Education → Roblox, among others), almost all of it online and some of it in person in Bucaramanga. Small groups (6–8 kids), 8 classes per course, courses taught live over Zoom. A small team: the founder, operations staff and 8 teachers.
AKUMAYA is not an external client: it is one of my own projects, and I built the platform for its day-to-day operation.
When we started, every area of the business lived in a different file: one sheet for new enrollments (filled in by parents through Google Forms), another attendance sheet kept by each teacher, another sheet for payments, a mental notebook of who had asked over WhatsApp, and loose trial-class bookings in Calendly. Questions like "how many active students do I have right now?" or "who finished Real Coders 1 in April?" meant opening 3 or 4 files and cross-checking them by hand.
The problem
- No single source of truth. The data for one student lived duplicated in 3–5 places (enrollment Excel, the teacher's attendance sheet, payments sheet, the staff's WhatsApp). A change in one place did not carry over to the others.
- No way to see the state of the business at a glance. How many active students, how much revenue so far this month, which groups have open seats, who has a pending payment… all of it had to be rebuilt by hand.
- Leads that came in through Calendly were disconnected from the ones that came in through WhatsApp. They existed as separate records even when they were the same family.
- Zero traceability for reschedules. Parents ask to move trial classes all the time. Editing the date in a sheet erased the previous one — you lost how many times that family had been moved and why.
- Lost "next level" sales. When a kid finished, say, Real Coders 1, nobody had an automatic list of who the natural candidates for the next course were. They got forgotten in the daily flow.
- Teachers depended on the admin for everything: knowing which groups were theirs, their trial classes for the week, their availability. All of it over WhatsApp or direct message.
- Siblings who booked the same trial class overwrote each other in the system (a critical bug hidden for months in the Calendly webhook): only one showed up, the other was lost.
What I built
A single web platform — AKU Tracker — deployed in production since March 2026 and evolving continuously based on the real needs of the business: something new goes in almost every week. The modules in operational use today:
Business panel (for admin and staff)
- Dashboard with KPIs and pending-payment alerts.
- Students with a full record: enrollment, attendance history per session, payments, notes, courses taken. It replaces the enrollment Excel and the attendance Excel.
- Unified leads: every contact enters the same pipeline regardless of channel (WhatsApp, Calendly, Instagram, public form, referral). It detects duplicates by phone number and lets you save multiple numbers per parent.
- Trial classes with tracked reschedules (reason + visible history), assigned teacher and course, and conversion to student in one click.
- Online groups with automatic generation of the 8 weekly sessions (respecting the configured holidays), teacher assignment, and attendance tracking per session.
- Payments with full history, real-time "Pending Revenue" (how much is left to collect), and automatic recording when an enrollment is marked as paid. Cleanup of historical typos.
- One-on-one classes with class packs, renewal and their own calendar, in addition to the groups.
- Group formation: what each group still needs before it can open.
- Follow-up: a queue with the conversations waiting for a reply and a notice of the students who are attending class with a pending payment.
- Monthly calendar that overlays regular classes + trial classes + holidays.
Automations and self-service capture
- Public preferences form (
/interes): in 30 seconds the parent confirms which time slots work, which course they are interested in and the child's details. The data goes into the matching lead with no rework. - Tokenized link per lead to ask for specific preferences over WhatsApp without the parent having to download anything or create an account.
- In-house trial-class booking, which runs alongside Calendly: the parent books on a public page, gets the confirmation by email and can change or cancel the appointment from their link. The day, the time and the teacher are confirmed by the team.
- Automatic reminders for the trial class and for the first class of each course: the day before and two hours before, never before seven in the morning.
- Referral program, with one link per family and a record of who brought whom.
WhatsApp assistant
The platform has Pablo connected to it, the assistant that handles parents over WhatsApp: it answers questions, recommends a course, walks them through payment and hands the conversation to a person when needed. It has its own page: the academy's WhatsApp assistant.
Proactive sales detection
- "Next-level candidates" view: pick a target course (e.g. RC2) and the system automatically shows you the students who finished the prerequisite (RC1), including the ones who are about to finish. A button to message them on WhatsApp or enroll them in a group in one click. This list used to be rebuilt by hand.
Dedicated teacher portal
- Each teacher sees only their groups, their assigned trial classes and their personal calendar, and edits their own availability (subjects they teach, time slots, formats).
- A today's classes screen and the trial-class report dictated by voice, with no typing.
- No access to leads, payments or other teachers' students. It replaces the WhatsApp thread with the staff.
Operational hygiene
- Students who leave are archived with a reason and a date, without losing their history. They can be restored.
- Invitation system with their own password for new teachers.
- Public privacy policy (Colombia's Law 1581).
The result
- Zero loose files: everything that used to live in Excel, Google Sheets and forms now lives in a single panel.
- Immediate answers to questions that used to take minutes or hours: how many active students there are, revenue so far this month, open courses, payments to collect, who finished what.
- 20 historical trial-class records migrated with no losses in the major refactor (May 2026), merging two parallel tables that were causing duplication.
- 2 sibling leads recovered and a critical bug fixed, preventing future losses.
- Reschedules with full traceability: every move with its reason, date and who made it. Before, no trace at all.
- Rebuilding the next-level candidates went from "an afternoon of work per course" to one click.
- Self-sufficient teachers with their own portal since April 2026.
- The WhatsApp assistant has been handling real parents since August 26, 2026, backed by the platform's data.
- A system in continuous production since March 2026, with more than 150 improvement releases since then.
What I needed from the team
- Initial discovery: 3–4 short conversations to understand the business, the acquisition channels and the team's real workflows.
- Weekly iteration over WhatsApp or direct messaging, deciding priorities on the go in 15–30 minutes a week.
- Access handed over just once: Supabase, Twilio, Calendly, Railway. After that there was no need to touch the configuration again.
- Collaborative content: Pablo's personality script, course catalog, prices, time slots.
- Zero in-house technical team. Development, deployment and monitoring run from outside; the academy's team approves, tests and operates.
- Zero operational downtime. The platform grew module by module, each one switched on when it was ready, with no chaotic migrations and no "D-days" that brought the business to a halt.
- Zero risk of losing data. The major refactor (merging the tables) was carried out in 5 steps, each one validated before the next.



