Page MenuHomePhabricator

Scribe-Conjugate: Open-Source Multilingual Verb Conjugation Applications for iOS and Android
Closed, DeclinedPublic

Description

Profile Information

Name: Femi Ogundipe
Web Profile:

  1. GitHub
  2. LinkedIn
  3. Resume

TimeZone: UTC+1 (WAT)
Location: Lagos, Nigeria
Mentor(s) : @AndrewTavis, @Henrikt93, @DeleMike

Introduction

Problem Statement

Language learners often rely on verb conjugation applications to improve fluency. However, most existing solutions are:

  • Paid or subscription-based
  • Filled with intrusive ads
  • Collect user data, raising privacy concerns
  • Limited to specific languages or require multiple apps for multiple languages

This creates a barrier for learners seeking a free, privacy-respecting, and multilingual solution.

Background

The Scribe community has already developed:

  • Scribe-iOS and Scribe-Android keyboard applications
  • Supporting infrastructure: Scribe-Data and Scribe-Server
  • Integration with Wikidata for language data

These keyboard applications help second language learners communicate in the language they are learning, leaving a gap for lightweight, high-performance multilingual verb conjugation applications.

Proposed Solution

This project proposes Scribe-Conjugate, a multilingual verb conjugation application for both iOS and Android that:

  • Uses Wikidata lexicographical data
  • Supports multiple languages in a single app
  • Provides fast, offline-capable conjugation lookup
  • Maintains zero ads and zero tracking

The application will integrate into existing Scribe repositories, reusing components such as:

  • Settings UI
  • Data download system
  • Shared infrastructure

The core focus will be building the Conjugate tab, which delivers the primary functionality.

Project Goals

  • Develop fully functional Scribe-Conjugate apps for iOS and Android
  • Enable fast, multilingual verb search and conjugation
  • Ensure offline-first capability using downloaded datasets
  • Maintain consistency with existing Scribe architecture
  • Deliver a privacy-first, open-source user experience

Project Objectives

Expected Outcomes

  • A production-ready Conjugate tab integrated into both apps
  • Seamless Wikidata-powered verb search system
  • Fully implemented verb conjugation interface with filtering
  • Cross-language support within a single unified app

Expected Deliverables

  • Conjugate tab (Android - Kotlin)
  • Conjugate tab (iOS - Swift)
  • Wikidata query + caching integration
  • Autocomplete search functionality
  • Recently conjugated verbs feature
  • Downloadable language datasets
  • Scrollable & filterable conjugation tables
  • Clipboard copy functionality
  • Documentation for contributors

Implementation Plan

  1. Analyze existing Scribe repositories and architecture
  2. Design data flow between Wikidata, local storage, and UI
  3. Implement shared logic for:
  • Search
  • Autocomplete
  • Data handling
  1. Develop platform-specific UI components
  2. Integrate and optimize performance
  3. Conduct testing and debugging
  4. Prepare documentation and final deployment

Project Methodology

  • Agile development approach with weekly milestones
  • Regular communication via:
  • Element (daily/async updates)
  • GitHub (Issues, PRs, code reviews)
  • Weekly sync meetings with mentors
  • Community engagement through discussions and feedback loops

Technical Elements

  • Android: Kotlin, MVVM architecture
  • iOS: Swift, SwiftUI
  • Data Source: Wikidata
  • Backend Integration: Scribe-Server APIs
  • Local Storage: SQLite / Room (Android), CoreData (iOS)
  • Search Optimization: Indexed queries + Caching
  • UI Components:
  • Search bar with autocompletion
  • Conjugation tables
  • Filters by tense
  • Recently viewed list

Project Timeline

Total Duration: 9 Weeks

Research & Design (Weeks 1-2)

  • Study Scribe codebases (iOS & Android)
  • Analyze the structure of the data that will be utilized from Wikidata
  • Finalize architecture and data flow
  • Review Figma designs
  • Define APIs and data models

Core Development - iOS & Android (Weeks 3-6)

  • Implement the download data UI. This UI will utilize the same UI as Scribe keyboard - Figma
  • Implement the verb search UI with multi-language support. This UI will utilize data coming Wikidata
  • Implement the recently conjugated component. This component will show the most recent conjugated verbs - Figma
  • Build autocomplete system based on data alphabetical next word from the database - Figma
  • Develop a scrollable and filterable conjugation view - Figma
  • The view can be filtered by verb tense
  • Add clipboard copy functionality so that tapping a cell in the table would copy the conjugation to the user’s clipboard

Testing & Finalization (Weeks 7-9)

  • Cross-platform testing and bug fixes
  • Performance optimization
  • UI/UX refinements
  • Complete documentation
  • Final submission

Past Contributions

Pull Requests:

  1. Refactor bottom tab bar navigation for improved modularity and maintainability- Merged
  2. increase app text size
  3. The PR improved the styling of quick tutorial and install keyboard buttons. - Merged
  4. The PR increased the vertical spacing between key rows of the scribe keyboard, aligning their style with Scribe-iOS.. - Merged
  5. The PR adds spacing between the scribe key and translate key. - Merged
  6. The PR adds doc comments to all the functions and classes in the helpers directory. - Merged
  7. The PR integrates Detekt and Ktlint rules related to KDoc (Kotlin docstrings) into the project to enforce consistent documentation standards across the codebase. - Merged
  8. The PR added width to tooltips box - Merged
  9. The PR introduces unit tests for the utility functions in the SettingsUtil class. - Merged
  10. The PR fixes dangling top-level KDoc comments. - Merged
  11. The PR fixes dangling top-level KDoc comments. - Merged

Biographical Information

Relevant Experience

Experienced full-stack Mobile & Web Developer who specializes in Android and web technology. Integrated more than 16 pull requests into several production apps with changes that include new features and entire splash screen implementations. Experienced in Kotlin, Java, JavaScript, React. Well-versed with MVVM, component based solutions, web development. Passionate about maintaining high quality code with unit and UI tests, clean code documentation, and static analysis tools. Adept at developing beautiful and functional cross-platform applications with robust back-end logic.

Availability

I am available to work on weekdays. I have volunteering commitments on Thursdays from 2:00 pm to 6:00 pm, Saturdays and Sundays. I am willing to adjust my schedule to accommodate any urgent or important project needs, and I will communicate any changes to my availability in a timely manner.

I have drafted a detailed GSoC proposal for this task, including implementation plan, timelines, and technical approach.
I’d really appreciate any feedback from mentors.
Proposal

Event Timeline

Really a nice proposal, @Femimatt! Thanks so much for the effort that you've put into this as well as the great contributions you've made to Scribe during the application period (and before)!

Hi, thanks for submitting your GSoC 2026 project proposal with Wikimedia!

Please make sure you’ve also submitted your proposal on the official Summer of Code website: https://summerofcode.withgoogle.com. The deadline for both submission and any edits is the same, so ensure everything is finalized before March 31, 18:00 UTC, as changes won’t be possible after that.

We strongly recommend completing any updates at least 30 minutes before the deadline to avoid last-minute glitches or unexpected technical issues.

Wishing you all the best for your application. Hope to see you as part of the program soon! 🚀

Hi, thank you for your submission and the effort you put into your proposal. This year we received over 380 strong applications, and unfortunately we were not able to offer you a slot. This was a very competitive process, and many high quality proposals could not be selected. We truly encourage you to stay engaged and continue contributing to Wikimedia projects. Over the years, many contributors who were not selected for Google Summer of Code have gone on to make impactful contributions and become long term members of the community. Please do not see this as a failure, but as a step forward in your journey. We would love to stay in touch and support your continued involvement.

If you would like guidance on how to contribute to our projects outside GSoC, feel free to reach out to any of the mentors or org admins, they will be happy to help you get started.

You can get started or continue contributing here:

We hope to see your contributions in our community soon.