My proposal for Improve existing BuildmLearn Toolkit app and add new templates to it was selected for Google Summer of Code 2016. I worked with the organisation BuildmLearn under the mentorship of Pankaj Nathani (@croozeus) and Neha Dhanwani (@NehaDhanwani).
BuildmLearn Toolkit is an easy-to-use Android based system that allows users to create mobile learning applications without knowledge of Android development. Teachers can provide educational content and automatically generate customized learning applications.
Instead of manually coding apps, the toolkit converts structured educational content into a functional Android application.
The BuildmLearn Toolkit functions as a template-driven application generator platform, not a single mobile application.
Workflow pipeline:
Teacher Content → Template Engine → Android Project Generation → Gradle Build → APK
- Teacher enters learning material (questions, spelling words, videos, dictation audio).
- The template engine processes the structured content.
- An Android project is automatically created.
- Resources and layouts are injected into the project.
- The project is compiled into a distributable APK file.
This allows non-programmers to produce deployable Android educational applications.
The core of the toolkit is the template engine.
Templates define behavioral learning interactions, not just UI layouts.
Each template represents a learning model:
| Template | Interaction Model |
|---|---|
| Quiz | Question-answer state machine with scoring |
| Match | Pair-mapping validation logic |
| Dictation | Audio playback with text accuracy comparison |
| Flashcards | Sequential memory reinforcement |
| Video Collection | Structured multimedia learning module |
| Comprehension | Passage-based assessment logic |
The engine maps:
content fields → interaction logic → UI components
Therefore, the toolkit is effectively a learning-interaction framework rather than a static application.
A major contribution of this project was enabling automatic Android application creation.
The toolkit programmatically generates a complete Android project:
-
Creates Android project directory
-
Assigns unique package name
-
Inserts resources:
- images → /res/drawable
- audio → /res/raw
- text → strings.xml
-
Updates Android Manifest
-
Runs Gradle build
content → resources → project files → compile → signed APK
This turns the toolkit into a no-code mobile app compiler, allowing teachers to create and distribute Android apps without Android Studio or programming knowledge.
- Manual builds
- Late detection of template errors
- Unstable releases
- Travis CI for automated builds
- Codacy for static code analysis and quality monitoring
Every commit is automatically built and validated. Template failures and code issues are detected early, improving long-term maintainability and project stability beyond the GSoC period.
The contribution changed the toolkit from a prototype into a platform.
Before:
- Teachers required an Android developer to create an educational app.
After:
- Teachers can independently generate learning apps.
Key outcomes:
- Reduced technical barrier to educational app creation
- Faster deployment of learning applications
- Reusable templates enabling unlimited apps
- Improved scalability of the project
- Sustainable open-source maintenance through CI
- Addition of new Comprehension Template and its app
- Addition of new VideoCollection Template and its app
- Addition of new Dictation Template and its app
- Addition of new Match Template and its app
- Improving design of InfoTemplate simulator and app
- Improving design of Learn Spelling Template simulator and app
- Improving design of Flash Card Template simulator and app
- Improving design of Quiz Template simulator and app
- Creation of APK generation system for all templates
- Integration of Travis CI automated build system
- Integration of Codacy automated code quality monitoring
- Bug fixing and code improvement
- Documentation improvements
- Extended template-based app generation platform
- Enabled automatic APK generation
- Introduced CI pipeline for build stability
- Improved maintainability of toolkit codebase
- https://github.com/BuildmLearn/BuildmLearn-Toolkit-Android
- https://github.com/BuildmLearn/Toolkit-mobile-templates
Toolkit Repository Contributions https://github.com/BuildmLearn/BuildmLearn-Toolkit-Android/commits?author=opticod
Templates Repository Contributions https://github.com/BuildmLearn/Toolkit-mobile-templates/commits?author=opticod
Toolkit: https://github.com/BuildmLearn/BuildmLearn-Toolkit-Android/releases
Templates: https://github.com/BuildmLearn/Toolkit-mobile-templates/releases
(Existing screenshots retained as visual proof of generated applications)
This project demonstrates how a template-driven architecture can convert structured educational content into fully deployable Android applications. The BuildmLearn Toolkit now functions as a scalable platform for generating customized learning apps and continues to support future contributions from the open-source community.
I thank my mentors and the Google Summer of Code program for the opportunity and guidance.









