Axula — AI-powered school management system
A complete web platform for the Centro Educativo en Arte Benito Juárez in Santo Domingo. It covers the full lifecycle of Dominican school administration: student records, attendance, grades, PDF report cards, behavioral agreements, and an AI assistant for parents.
View live demoThe problem: school administration with no digitization
The Centro Educativo en Arte Benito Juárez ran all of its administrative processes in a fragmented way. As a multimedia teacher at the institution, I experienced that friction firsthand, which completely changed how I designed the solution.
- Student records on paper and in physical folders
- Report cards generated manually — hours of work per term
- Attendance tracked in unsynced Excel spreadsheets
- Parents calling the school after hours with no answer
- Behavioral reports scattered across teachers
- Zero visibility into the institution's overall performance
- Competency-based assessment (Ordinance 04-2023) impossible to systematize
- Unified digital record per student with a full history
- PDF report card generated in under 3 seconds per student
- Attendance logged per classroom in under 90 seconds
- AI assistant (LLaMA 3) answers parent questions 24/7
- Behavioral engine: GREEN / YELLOW / RED traffic light per student
- Role-based dashboard — each user sees only what applies to them
- Competencies and achievements per Ordinance 04-2023, fully systematized
Screenshots of the system in production
Teacher dashboard — 15 accessible modules: attendance, grades, competency-based assessment, project-based lesson planning, and more
AI Teaching Assistant — generates lesson plans aligned to the official MINERD curriculum with LLaMA 3
MINERD PBL template — the AI fills out the official Word project-planning document, ready to download
Horizontal Coherence — competency and learning-outcome matrices by subject and grade, exportable to Word
System architecture
Axula uses a modular architecture of 20 Flask Blueprints organized by functional domain. SQLite in WAL (Write-Ahead Logging) mode allows concurrent reads without locking while the system writes — key in a school environment with many simultaneous users.
Main modules
Tech stack
Backend
AI and document generation
Frontend and security
How Axula was built
I built Axula from inside the institution — as a teacher living the problems I was solving. That completely changed the design decisions.
-
1Direct observation (2 weeks) Before writing code, I documented every manual process: how report cards were filled out, how long attendance took, where information got lost between teachers and the secretary's office.
-
2Domain-based Blueprint architecture I designed each module as an independent Blueprint. This lets the system grow without touching what already works — a new module doesn't break existing ones.
-
3Iterative development with real users The attendance interface was redesigned 3 times until any teacher could complete it in under 90 seconds per classroom. Not an estimated speed — time measured with a stopwatch.
-
4AI integrated into existing flows, not as a separate feature The LLaMA 3 assistant appears at the exact moment a parent needs an answer — not as a generic floating chatbot, but built into the parent portal with school context.
-
5Full modularization (20 Blueprints) Refactoring from a monolith to a Blueprint architecture was the most critical change. It lets different team roles work on modules without code conflicts.
What I learned building Axula
Building a system you use yourself changes how you design. You're not interpreting a brief — you're solving your own problem. Every UX decision has real consequences: if the attendance form is slow, you lose the time. That forces honesty.
The most important lesson: AI isn't a feature, it's a layer. The LLaMA 3 modules work better when integrated into flows that already exist than when presented as separate tools. The query assistant works because it appears at the exact moment a parent needs it, with real school context — not as a generic chatbot.
The second lesson: SQLite in WAL mode solves 90% of concurrency cases without the complexity of Postgres. For internal systems with dozens of simultaneous users, it's the right choice. Adding unnecessary complexity is the most common architecture mistake.
Need a custom system for your organization?
I build complete web platforms with Python, Flask, and built-in AI for businesses and institutions in the Dominican Republic. Every system starts with real process analysis — not code.