Profile Information
Name: Mounil Kankhara
Web Profile:
- Github: https://github.com/Mounil2005
- Linkedin: https://www.linkedin.com/in/mounil-kankhara-ab90122a4/
Resume: https://drive.google.com/drive/folders/1RG648MhjRgLoNl2ex-a5Pke6wwf-TKaD?usp=drive_link
Location: Jaipur, India
Typical working hours: 10 am to 8 pm (UTC+05:30)
Synopsis
Verb conjugation tools are everywhere, but they consistently come with ads, paywalls, internet dependency, and fragmented single-language apps. Scribe already has the infrastructure, the data pipeline via Wikidata, and the user base to solve this differently. This project builds Scribe-Conjugate for Android, a native, offline-first verb conjugation feature integrated directly into the existing Scribe-Android application. Using Wikidata lexicographical data stored locally via a Room FTS database, users can search verbs across all their downloaded languages in one place, with no tracking, no ads, and no internet required after the initial download. This will serve as another real-world example of how Wikidata lexicographical data can power polished, privacy-respecting consumer applications expanding both Scribe's user base and visibility of Wikidata's potential to a broader audience.
Mentor(s) : @AndrewTavis, @Henrikt93, @DeleMike
Timeline
| Period | Task |
|---|---|
| May 1 - May 24 (Community Bonding) | Sync with mentors to align on communication cadence and expectations. Study Figma designs in depth, conjugation table scroll/filter behaviour, autocomplete interactions, and edge case states. Trace the existing language pack download flow end-to-end. Investigate Room FTS usage in Scribe-Android and prototype a minimal FTS table locally. Review open issues tagged good first issue and help wanted to stay active as a contributor. |
| May 25 - May 31 (Week 1) | Discuss detailed requirements and UI flows with mentors based on Figma designs. Explore existing Scribe-Android architecture and ongoing issues such as shared tab navigation. |
| June 1 - June 7 (Week 2) | Design Room database schema (Entities, DAOs, FTS tables) for conjugation data. Finalize data flow from Scribe-Server API to parsing to local storage. |
| June 8 - June 14 (Week 3) | Integrate Room database with FTS support for fast search and autocomplete. Implement data parsing layer (DTOs) to transform Lexeme/Form JSON into structured objects. |
| June 15 - June 21 (Week 4) | Develop repository layer to manage local-first data access. Write unit tests for parsing and database schema validation. |
| June 22 - June 28 (Week 5) | Build Jetpack Compose UI for verb search. Implement debounced search using Kotlin Flow. |
| June 29 - July 5 (Week 6) | Connect ViewModel with Room database for real-time autocomplete. Implement Recently Conjugated history feature. |
| July 6 - July 12 (Week 7) | Implement conjugation table UI using LazyColumn and LazyRow. Add tense-based filtering and structured layout for readability. Midterm Deliverable (July 10): Functional offline verb search, FTS-based autocomplete over German dataset (~3,200 verbs), sub-200ms response time. |
| July 13 - July 19 (Week 8) | Implement tap-to-copy functionality using ClipboardManager. Handle missing and linguistically defective verb forms with appropriate fallback UI states. |
| July 20 - July 26 (Week 9) | Integrate Conjugate feature with shared tab navigation system to ensure consistency with existing Scribe components. |
| July 27 - August 2 (Week 10) | Connect download language data flow with existing Scribe infrastructure. Ensure smooth interaction between modules (data, domain, UI). |
| August 3 - August 9 (Week 11) | Perform integration testing across the full user flow. Optimize database queries and UI performance. |
| August 10 - August 16 (Week 12) | Add accessibility improvements (TalkBack support). Fix bugs and refine edge cases. Release testable version within Scribe community for feedback. |
| August 16 - August 24 (Final Week) | Address mentor and community feedback. Complete final code reviews. Prepare technical documentation for contributors. Finalize project deliverables and submission. |
| August 24 - August 31 | Final Evaluation |
Deliverables
- Sync with mentors, study Figma designs, and prototype minimal Room FTS table locally.
- Design Room database schema (Entities, DAOs, FTS tables) for conjugation data.
- Implement data parsing layer to transform Wikidata Lexeme/Form JSON into structured objects.
- Build repository layer with local-first data access strategy.
- Build Jetpack Compose UI for verb search with debounced search using Kotlin Flow.
- Implement FTS-based autocomplete connected to ViewModel.
- Implement Recently Conjugated history feature.
Midterm Evaluation (July 10)
- Implement conjugation table UI with tense-based filtering using LazyColumn and LazyRow.
- Implement tap-to-copy functionality using ClipboardManager.
- Handle missing and linguistically defective verb forms with appropriate fallback UI states.
- Integrate Conjugate feature with shared tab navigation system.
- Connect download language data flow with existing Scribe infrastructure.
Phase II Evaluation
- Perform integration testing across the full user flow.
- Optimize database queries and UI rendering performance.
- Add accessibility improvements including TalkBack support.
- Release testable version within Scribe community for feedback.
- Prepare technical documentation for contributors.
Final Evaluation
Participation
- Weekly progress updates shared in the Scribe Matrix chatrooms (Mentorship Programs and Android rooms).
- Regular sync-ups with mentors (@AndrewTavis, @Henrikt93, @DeleMike) during the community bonding period.
- All code will be published in the existing Scribe-Android repository under the Scribe-org GitHub organization, following the project's PR review and contribution workflow.
- Questions and blockers will be raised directly in the Matrix chatroom or via PR comments to keep communication transparent and async-friendly.
About Me
I am currently pursuing a Bachelor of Technology in Information Technology from Manipal University Jaipur, and am in my 3rd year of the program. I was also selected in the Road to Wiki Cohort 2 under the Open Knowledge Initiative by WikiClub Tech, which deepened my engagement with the Wikimedia ecosystem and led me to discover GSoC through the Scribe community while exploring open-source Android projects.
I am someone who learns by going deep, finding something interesting and following it until I understand how it works. That's what brought me to Scribe, and that's how I approach problems in general. GSoC will be my first priority this summer as I have no other commitments during this period. I am not applying to Outreachy.
What makes this project meaningful to me goes beyond the code. I use conjugation tools as a language learner, and the frustration of dealing with ads, paywalls, and one app per language is real. Contributing to Scribe means building something that directly solves that problem for myself and for users globally while working within a community that genuinely values open data and user privacy. Most importantly, this is an opportunity to learn from experienced contributors on a system that actually ships to real users, and that kind of learning is exactly what I'm here for.
Past Experience
- Contributions to Wikimedia/Scribe during the application phase:
- https://github.com/scribe-org/Scribe-Android/pull/557 - Updated Wikidata references to Wiktionary across the codebase, modifying language XML files and relevant UI components. Successfully merged into main.
- https://github.com/scribe-org/Scribe-Android/pull/577 - Fixed a keyboard state persistence bug that surfaced during work on #557, involving UI state correction in KeyboardUIManager.kt and regression tests.
- https://github.com/scribe-org/Scribe-Android/pull/585 - Implemented the initial Conjugate tab UI including the no-data state and language download entry point, built using Jetpack Compose and MVVM.
- Open Source Contributions — Hiero (hiero-ledger)
I am a Junior Committer in the Hiero Python SDK and part of the core data analytics team. I have been sponsored by OpenElements for my open source contributions. My work spans feature development, automation, CI workflows, and website contributions across two repositories:
-> hiero-sdk-python (https://github.com/hiero-ledger/hiero-sdk-python):
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1914 — Wrapped staking fields in StakingInfo wrapper class
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1744 — Added staking_info fields to ContractInfo
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1440 — Built automated bot to recommend next issues to contributors
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1431 — Added dry-run support and refactored bot-workflows.yml
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1332 — Automated CodeRabbit plan for intermediate/advanced issues
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1225 — Added intermediate issue assignment guard workflow
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1201 — Added mentor assignment workflow
- https://github.com/hiero-ledger/hiero-sdk-python/pull/1095 — Automated PR draft when reviewers request changes
- https://github.com/hiero-ledger/hiero-sdk-python/pull/2013 — Fix: child receipt account (under review)
-> hiero-website (https://github.com/hiero-ledger/hiero-website):
- https://github.com/hiero-ledger/hiero-website/pull/301 — Added issue jump section with difficulty levels
- https://github.com/hiero-ledger/hiero-website/pull/159 — Added repositories section with carousel
- Relevant Projects and Research:
- Simulating Emotional Intelligence in LLMs through Behavioral Conditioning and Analogical Retrieval - ACL 2025 (A* Conference) : Built an emotionally grounded text generation system using LLaMA 3.1-8B-Instruct, RAG, and a multimodal corpus enriched with behavioral metadata. Published at ACL 2025, one of the highest-ranked venues in NLP globally. Access here.
- A Secure Federated Learning Framework for Decentralized ECG Classification on Heterogeneous Data - ICDSA 2025 : Designed a privacy-preserving federated learning framework for ECG classification, proposing FedDefender as a confidence-based adversarial defense. This work deepened my understanding of privacy-first system design directly aligned with Scribe's philosophy. Access here.
- Federated Learning for Remote Sensing - Book Chapter (Accepted) : Accepted for publication in the Handbook of Artificial Intelligence-driven Digital Image Analysis for Intelligent Remote Sensing. Designed and evaluated federated learning frameworks across precision agriculture, disaster response, and urban monitoring.
- MAGLFormer: Unified Transformer for Image Restoration - SSIC 2025 (Accepted) : Proposed a unified global-local Transformer architecture achieving linear-complexity attention for high-resolution image restoration tasks.
- Software Developer Intern - Autellia Technology : Worked previously on developing the company's official site. Currently working on mobile application development including React Native frontend, authentication systems, AI model deployment on cloud with API integration, and AI-powered PDF summarization features giving me hands-on production-level mobile development experience directly relevant to this project.
- Road to Wiki Cohort 2 - Open Knowledge Initiative, WikiClub Tech : Selected as part of Cohort 2, gaining practical knowledge of MediaWiki schemas, MySQL, complex joins, schema design, and open-source contribution workflows within the Wikimedia ecosystem. Additionally, developed hands-on experience with Linux by setting up and configuring a Linux environment, working with terminal commands, package management, and understanding system-level operations.
I’ve drafted a detailed GSoC proposal for this task, including implementation plan, timelines, and technical approach.
I’d really appreciate any feedback from mentors.
Proposal: https://docs.google.com/document/d/16CebMlAOJ9jMscmK_mOiPkImow_tjohMq_mp68e13Ns/edit?usp=sharing