Community Resources and Partnerships/India Rapid Project/Improving User Experience, quality and robustness for Lingualibre V3
Applicant
[edit]- Main Wikimedia username. (required)
Pushkar7077
- Organization
N/A
- If you are a group or organization leader, board member, president, executive director, or staff member at any Wikimedia group, affiliate, or Wikimedia Foundation, you are required to self-identify and present all roles. (required)
I'm a staff member or contractor in a Wikimedia Affiliate, group, or allied organization., I'm a staff member or contractor in Wikimedia Foundation.
- Describe all relevant roles with the name of the group or organization and description of the role. (required)
1) I am part of volunteer committee member of Indic User Group. I have recently joined the group and have also mentored at one of their hackathons.
2) I have previously done two small contracts works with Wikimedia France for the project I am applying the grant for i.e., Lingualibre.
Main proposal
[edit]- 1. State the title of your proposal. This will also be the Meta-Wiki page title.
Improving User Experience, quality and robustness for Lingualibre V3
- 2. and 3. Proposed start and end dates for the proposal.
2025-12-13 - 2026-03-15
- 4. What is your tech project about, and how do you plan to build the product?
Include the following points in your answer:
- Project goal and problem you solve
- Product strategy or project roadmap
- Technical approach (infrastructure, tech stack, key tools and services)
- Integrations or dependencies (if any)
The project aims to improve user experience for users of Lingualibre, implement high quality code standards to prevent frequent bugs and easy and smooth development in future. Lingualibre is a tool that allows editors to maintain an audiovisual corpus of words in various languages and help expand knowledge for all languages, especially minority languages
Goals
- Implement resilient background uploads to tackle 380 words/hour rate timitting of commons upload API
- Improve user experience by adding popups for error and succes messages, resolving bugs and better UI in some places
- Implement standards in code and improve code quality.
- Improve performance of application at places possible.
Product Strategy and Roadmap
Following are the tasks I plan to complete to complete along with their required hours. Completing these tasks will help me achieve above goals to a significant extent
- Resilient uploads using toolforge jobs (70 hours)
- Recreate create locutor step to: (30 hours)<br> use proper inbuilt browser validation | Correctly manage create and update locutor | Error handling | properly take location data
- Add error handling and show popups to keep users informed well about activities they are doing, especially to display errors if something goes wrong. Currently the application just hangs when anything goes wrong. This will require complete frontend refactoring to some extent. (60 hours)
- Fix publish step which publishes recording to commons (35 hours)<br> Add bulk upload recordings API instead of looping API calls | Disable publish button when upload starts | Fix progress bar (turning into multiple mini bars)
- Fix share list and recordings text encoding error. There are errors shown when special characters are used in words (4hours)
- Save recording settings locally. In main record step, there is an option that allows users to configure recorder as per their preferences. Currently they have to configure it everytime they record, which is bad user experience(3 hours)
- Refactor backend: (35 hours)<br> Modify serializers to only manage formats of incoming and outgoing data and manage rest in API and services | Add error handling wherever needed to prevent 500 status code errors
- Implement DRY principles for word generators (5 hours)
The above tasks total to 242 hours of work. This work can be easily completed by putting in 20hours of work weekly from start date of proposal to end date. I will myself be putting all these hours to complete the project.
The tech stack for Lingualibre is: Django + vue.js and it is deployed over toolforge (Lingua Libre)
- 5. What is the expected impact of your project, and how will you measure success?
Include the following points in your answer:
- Milestones and progress tracking
- Project impact and success metrics
The impact of project is following:
- A more friendly UI will attract more people for recording words and will allow existing editors to record more words. This directly helps in achieving Wikimedia mission of making knowledge free and accessible.
- Following code standards helps us build a good base to smoothen future development for betterment of tools, avoid bugs, and easily find and resolve the bugs if any found
- Improved performance directly saves server costs, and improves user experience and productivity.
Success Metrics:
Phabricator tasks will be created for every single task mentioned in product strategy and roadmap, and everything will be done as per the standard process. The work could be directly tracked through phabricator tasks, GitLab commits, merge requests and most importantly by using the actual tool.
- 6. Who is your target audience, and how have you confirmed there is demand for this project? How did you engage with the Wikimedia community?
Include the following points in your answer:
- Project demand and target audience description
- Links to interaction(s) with Wikimedia community
- Evidence from community consultation such as the [Community Wishlist]
Lingualibre is already a pretty big project which has more that 1.25 million recording and 2000+ members, so yes the project is in high demand, and users have always craved for a bug-free and smooth user experience.
I have been engaged by Lingualibre for more than 18 months now, and mainly interact with the community through the discord group [1]
- 7. How will your team predict and manage potential user security and privacy risks, and what risks do you currently see?
Include the following points in your answer:
- The level of in-house or consulted security and privacy expertise you will have available to you during delivery of this project
- How your development, testing, and deployment processes mitigate the introduction of unnecessary security or privacy risks
Security and Privacy Risk Management
[edit]LinguaLibre operates within the Wikimedia ecosystem, where user privacy and data integrity are fundamental. The platform only handles public recordings and minimal user metadata, ensuring no sensitive personal data is collected.
Security Expertise:
The project will leverage Wikimedia France’s technical guidance and the Wikimedia Cloud Services (Toolforge) team’s infrastructure support. I currently serve as a volunteer lead developer for LinguaLibre and have worked closely with Wikimedia France since my Google Summer of Code project, gaining familiarity with Wikimedia’s privacy, deployment, and security standards. Security-sensitive features will be reviewed in consultation with experienced Wikimedia developers and mentors.
Risk Management & Mitigation:
- Data handling: All uploads comply with Wikimedia’s privacy and licensing policies.
- Development process: Code changes are reviewed through GitLab merge requests and user safety and security is always prioritized during development.
- Dependencies: Only trusted, actively maintained open-source libraries are used, regularly updated to patch known security issues.
- Infrastructure: Toolforge provides secure, access-controlled hosting managed by Wikimedia Cloud Services.
Current Risks:Potential misuse of upload APIs or input-validation gaps will be mitigated through backend validation, rate limiting, and better error handling.
- 8. Who is on your team, and what is your experience?
Include the following points in your answer:
- Your experience as a developer, relevant past projects
- Wikimedia SUL (developer), Gerrit, Github, Gitlab or other relevant public account handles
- Other team members, their roles and expertise
I am sole developer responsible for completion of this project. There's a volunteer senior member with me User:Yug - Meta-Wiki who has been associated with the project from its beginning, and he helps bring me voice of community and review final result, although doesn't have any responsibility for completion of the project.
I myself is lead volunteer developer for Lingualibre, and has been associated with the project for more than 19 months and have done different volunteer work and paid missions supported by Wikimedia France and Google Summer of Code Program..
This is my Gitlab: Pushkar707 · GitLab
By profession I am full-time software developer at a big tech company
- 9. How will the project be maintained long-term?
Include the long-term maintenance plan with maintainer(s) in your answer. If you expect the long-term maintenance to incur expenses, please list those and the plan for long-term expense coverage.
Long-term Maintenance Plan
[edit]The project will be maintained under the LinguaLibre technical infrastructure, with continued support from Wikimedia France and volunteer developers, including myself.
All project code will be hosted publicly on GitLab and mirrored on Wikimedia Gerrit/Phabricator to ensure transparency and collaborative maintenance. Documentation and onboarding guides have been/will be prepared to help future contributors easily continue development.
Since the project builds on existing Wikimedia infrastructure, no major new expenses are anticipated beyond standard maintenance efforts by community volunteers
- 10. Under what license will your code be released, and how will you ensure the product is well documented?
Include the following points in your answer:
- Code license and compatibility with Wikimedia projects
- Documentation plan
License : MIT, see LICENSE.md
Documentation: Project already has multiple detailed documentation, which will be updated as work is done
- 11. Will your project depend on or contribute to third-party tools or services?
The project mainly depends on existing Wikimedia infrastructure and doesn't require require any third party tools or services other than reputed open source libraries
- 12. Is there anything else you’d like to share about your project? (optional)
The project is in great need of funds and rapid tech grants can help us take the projects to great heights. I am not willing to rely completely on tech grants. I am willing to do some volunteer work to complete above tasks. Normal market value of my work is $30/hour, but for sake of completion of project and limited funds of rapid grants. I will only be allocated $20/hour since I am well aligned with the mission of the project.
Budget
[edit]- 13. Upload your budget for this proposal or indicate the link to it. (required)
- 14. and 15. What is the amount you are requesting for this proposal? Please provide the amount in your local currency. (required)
440600 INR
- 16. Convert the amount requested into USD using the Oanda converter. This is done only to help you assess the USD equivalent of the requested amount. Your request should be between 500 - 5,000 USD.
4991.83 USD
- We/I have read the Application Privacy Statement, WMF Friendly Space Policy and Universal Code of Conduct.
Yes
This is an automatically generated Meta-Wiki page. The page was copied from Fluxx, the web service of Wikimedia Foundation Funds, where the user has submitted their application. Please do not make any changes to this page because all changes will be removed after the next update. Use the discussion page for your feedback. The page was created by CR-FluxxBot.
