Proful Eficient: Bridging Natural Language and Mathematics
The Inspiration
The spark for Proful Eficient (The Efficient Teacher) came directly from a personal conversation with my math teacher, who shared how much she struggled with digitally writing math tests and assignments. In Romania, this is a widespread problem: because digital math formatting is so notoriously tedious, the vast majority of teachers still resort to writing out their tests using pen and paper.
Watching an educator spend hours manually drafting evaluation sheets because technology felt like a barrier, rather than a tool, was eye-opening. We realized that if we could map unstructured natural language and existing PDFs directly into native mathematical formats, we could save teachers from the manual pen-and-paper grind and give them back hours of preparation time every single week.
How We Built the Project
The architecture relies on a specialized hybrid backend powered by the Gemini API. When a user inputs natural language in Romanian—such as typing "integrala la x patrat"—the application leverages Gemini's advanced semantic understanding to dynamically extract structural patterns and map them into an intermediate abstract syntax tree (AST).
From there, the application executes two pipelines simultaneously:
1. The Analytical Engine
Computes the symbolic step-by-step resolution, transforming the plain text input into its accurate formal equivalent and solving it:
$$\int x^2 \, dx = \frac{x^3}{3} + C$$
2. The OMML Translation Compiler
Instead of passing flat text or $\LaTeX$ vectors, we built a compiler that outputs raw Office Math Markup Language (OMML)—the native XML format utilized by Microsoft Office. When equations are generated, they are formatted so that pasting into Microsoft Word yields a natively editable, fluid equation block instead of a static image.
The Creează după Model module combines Gemini's multi-modal capabilities to parse complex layout PDFs, letting users upload a document, inject prompt filters (e.g., "give me only 4 exercises instead of 50"), and compile a newly balanced evaluation within a conversational refinement loop.
The Challenges We Faced
Our biggest technical hurdle centered around reading complex math documents and engineering the copy button.
Conversational language and scanned math documents are inherently precise yet difficult to parse digitally. When reading math PDFs, the system must carefully evaluate structural scope so it doesn't misinterpret fractions, exponents, or limits:
$$\int_{1}^{\infty} \left(x^2 + \frac{1}{x}\right) dx \quad \text{vs.} \quad \int_{1}^{\infty} \frac{x^2 + 1}{x} \, dx$$
Resolving this required strict deterministic parsing to flag structural anomalies before returning the solution to the user.
Additionally, perfecting the "Copy" button proved to be an unexpected nightmare. Clipboard handling across various web browsers and native application suites like Microsoft Word behaves wildly differently. It took an immense amount of low-level data framing to format our output string array so that clicking "Copy" would seamlessly register as a true, native Microsoft Office mathematical entity instead of breaking into unreadable plain text.
What We Learned
Beyond the technical code, this project was an intense crash course in rapid project management. Operating under tight constraints, I learned how to effectively manage and coordinate a team in a very short interval of time to push a functional product from concept to reality.
On the development side, mastering the Gemini API taught us how to leverage cutting-edge LLMs for highly structured, predictable outputs like mathematical notation. Ultimately, Proful Eficient reinforced the idea that AI tools are most powerful when they fit seamlessly into workflows users already know. We didn't need to force teachers to learn a complex new program; we just needed to bridge the gap between their voice and the tools they already use, replacing the pen-and-paper bottleneck with true digital efficiency.
Key Takeaway: True educational efficiency isn't just about fast generation; it's about making sure that generated data is instantly functional, highly modular, and accessible exactly where the teacher needs it most.
Log in or sign up for Devpost to join the conversation.