Idea List

Agora-Web iOS

This task involves creating a fully functional iOS application iOS Application:

This task involves creating a new iOS application that will leverage the existing Agora API to provide another way for Agora web users to use the platform using their iOS devices. This application should provide a great user experience and design. Testing should be considered as one major unit of this task. A candidate is expected to provide mockups of the different components of the application and have a good background in iOS application design.


A fully functional iOS application that follows the best design principles.

Required Skills:

* Swift knowledge
* iOS development knowledge
* UI/UX design

Note: The candidates are required to provide prototypes of the application for this task

Mentors: Thuvarakan (gitter: @Thuva4)


The project has reached a stage where the basic features have been built, tested and deployed. The basic features include user login (to assign credibility while reporting an incident), real-time feed, incident reporting. This year the focus is going to be on bug fixing, adding some new features scalability, availability, making both the application and the server production-ready and eventually pushing the app to the general public.

This task involves creating a production-ready application and webserver. The main focus is going to be fixing bugs, utilising Kubernetes to make application scalable and DevOps easier, migrating database from Firestore to MongoDB running on GKE as a stateful set. Then adding new features ( Example Link ) that enhance user experience and make application more robust.

Deliverables: Mostly task based, Production-ready web application and server.

Required Skills: Knowledge of ReactJS, Firebase (specially Firestore), Django, Knowledge of NoSQL databases, Microservices, Docker, Kubernetes

Note: Candidates are required to raise MR for at least one of the potential features. Extra points on top of it if and only if the candidate can provide correct documentation/steps for migration to Microservices architecture.

Mentors: Hitesh Kumar Rawat


* Build Slagora bot from scratch. Users interact with Slagora by using only slash commands. The bot will come in handy to improve user interaction with the application. Most functionalities of the app could be done using the bot. All slash command features should be made available as user bot interactions. For example, instead of using slash commands to create a poll a user might simply type the following @slagora new poll and the bot will respond by Hello @abanda would you like to start a new poll? , then the user responds by typing yes. Candidates are required to come up with additional features that could be added to the bot.

* Build a frontend for the application. This will need to expose the App through a REST API. Users should be able to manage all their slack polls a d election directly from the website. The application will thus be separated as a REST API and a frontend. The frontend will provide a means to easily manage their slack polls with a beautiful and intuitive interface.

* Production ready slack application
* Production ready web application

Required Skills: Scala, Knowledge of Angular and Angular Universal, UI/UX design, Knowledge of Slack API, Familiar with REST API development using Scala Play framework, Familiar with Swagger tool for API documentation

Note: The candidates are required to provide prototypes of the frontend for this task

Mentors: Abanda (Gitter: @icemc), Bomen Derick(Gitter: @ponsipi_gitlab)


This task will involve creating a fully functional iOS and Android Application

iOS Application & Android Application: Will utilise the new AR & AI kits to develop the ability of the app to identify monuments, after the ability to identify monuments is achieved, we can leverage on existing open source libraries to obtain a summary of the Wikipedia page relating to the monument to display on the application. The application should ensure that the UX/UI synergy is present. The candidate will be expected to provide mockups of the different components of the application and work on the user flow and experience. Candidate should also have a good background in both languages.

- Full design mockups detailing user flow
- iOS and Android applications

Required Skills
* UI/UX design
* Swift
* Kotlin

Note: The candidates will be required to provide design mockups and prototypes of the application for this task.

Mentors: Mukul Kumar(Gitter: @MukulCode)

1) Create feature for agora web to allow guest users to create polls. Guess users are normal website visitors that can create polls on the go without having an account in the system. This feature will allow guest users create polls and share the link.

2) Build Agora web frontend from scratch using our available mockups and UI designs. Candidate with strong background in UI design are welcome to add extensions to our provided mockups and UI design. This will also include an improvement in our email designs.

Required Skills - Scala - Knowledge of Angular and Angular Universal - UI/UX design - Familiar with REST API development using Scala Play framework - Familiar with Swagger tool for API documentation

Note: The candidates are required to provide prototypes of the frontend for this task

Mentors: Abanda(Gitter: @icemc), Chirag Singhal(Gitter: @chirag-singhal)


* The app is close to its development. The 100% bug-free app should be a priority over any new features. UI/UX improvements being an exception.

* Even in the current state, the app does not seem to work as expected, we have lots of open issues for the same.

* We should prefer students having strong debugging skills and a excellent UI development ideas. Also, iOS development has been a weaker part throughout the journey, students should have also a bit of experience in react-native on the iOS side.

Required Skills
* UI/ UX
* React-Native
* Debugging
* Typescript

Mentors: Madhav Gaba (Gitter: @madhavgaba_gitlab)

Carbon Footprint API

Solve only the issues with "Pre GSoC qualifiers" tag. The tasks will contain -
- Fixing the existing tests.
- Fixing documentation and missing links.
- Suggesting a concrete plan for CI/CD, and its implementation in Phase 1.

Task 1

- Enabling CI/CD from Gitlab/GitHub mirror repo. Ensuring well documentation/ tutorial of how we implement CI/CD for our API.

Task 2 -

- Export data from google fit using Oauth tokens.
- Adding documentation, storing data in user collection in the DB.
- Display in the daily heatmap.
- Document the new schema and google fit integration.

Task 3 -

* Dockerize the whole application, expose ports for MongoDB at mlab, and other connected applications like Auth0.
* Push a public image of the docker on every push to the gitlab master repository. (CI/CD)
* Ensure secret env
* Error handling using sentry logging, make sure to add filters(available with sentry) to remove sensitive user data to logger.
Mentors: Saisankar Gochhayat(Gitter: @saisankargochhayat), Raghavendra Vedula

Social Street Smart

Contributors can submit the proposals around the following functionalities. Main expected deliverables are production ready APIs and Chrome extension:
* Improve Frontend: Improve the frontend of chrome extension and offer users more functionalities like hide/unhide, report a post as fake or offensive etc.
* Keep the Fake News API up and running 24/7: Our fake news API requires news to be scraped from the trusted news sources, develop methods to make sure the proper functioning of this API while consuming minimum compute possible (you may use cloud services lambda functions for this task).
* Shift News Origin functionality to frontend: Our News Origin API fact check by making google searches with the query, currently we only have limited google search API keys so we can't scale it to multiple users, think and develop of the ways to get around this problem (ideal would be to make this whole functionality on user end so he can get their separate API key). Using stance detection techniques in this feature can also be a good option.
* Disinformation in images: There are loads of images on internet that are used to propagate disinformation, users post images irrelevant to the news to spread propaganda. Make a google reverse image like functionality that can get the correct context of the image when asked by the user. Integrate this functionality with chrome extension.
* Make use of the fact checking websites: Many fact checking organisations are doing a commendable job in debunking the disinformation online. But the reach of these websites are limited and their content is not delivered to many people. Develop functionality to make use of their content, potential contributors can add functionality that enables extension to know the topic of articles on user's web page and then show the articles by fact checking organisations on the same subject.
* Add CI/CD support, add automated testing and and extend test coverage.
* New Functionality: Propose a new functionality/algorithm that can improve the existing methods of disinformation detection, you may consider multi-modal, graph based methods or add model explainability in existing or your works. Potential contributors are strongly advised to follow the works of researchers in the field of disinformation and make their proposals accordingly.

Required Skills: Python, JavaScript, Machine Learning/DL, Natural Language Processing, DevOps

Mentors: Utsav Shukla(Gitter: @us241098), Amardeep Kumar(Gitter: @ad_6398_gitlab)

Aossie Scholar

* Reactify the django app. The app needs to have a complete new outlook including it's logo so one
needs to build the front-end from the scratch.
* Research about the metrics Google Scholar provides, one needs to have strong understanding of the
purpose of Aossie Scholar app. Come up with a better and fairer metric than them all. Improve our existing
metrics, make them accurate.
* The app should be bug free.

Required Skills:
-UX/UI design
-Django REST Framework
-Testing and Loggings

Mentors: Manikaran Singh(Gitter: @Manikaran20)

Aossie Scholar Extension

Make AOSSIE scholar a Google chrome extension like our other project "Carbon Footprint".

-Understand the existing code and need of the app.
-Understand the data that is being scraped from the Google Scholars website and research about the data policy of Google Scholar.
-Convert the current app a Google Chrome extension so that the conflicts of data policy can be resolved.
-Write unit tests and integration tests for testing the single unit methods required within the app and also a single profile rendering process using the data parent in the database.
-once you are able to convert in into an extension of google, you must improve it's performance.
-A good-looking UI is always impressive.
Apart from these, ideas from the students would be significant for the selection.

Note: Students submitting any ideas, from the ones mentioned or by own, need to have sufficient merge requests to prove the capability.

Mentors: Manikaran (gitter: @Manikaran20)

Agora Android

Last year, we focused on making the agora-android complete and we are successful but considering the number of features and time we had to do it fast without applying much engineering to the app.
This year will focus on making it better so that app can be used by billion users.
These are the key steps for that.

1) Implement new features introduced in the previous release of Agora Web some of which are Two step authentication, Poll voting etc.
2) Decent design for all screens ( right now we got all the views there. you just have to make it look good)
3) Migrate the app to kotlin ( now kotlin is an android-first language so code size will reduce a lot . also, new features of java are paid.)
4) Use of dependency injection frameworks like dagger/koin ( we want app features to be de-coupled and test components individually, also usage of di will increase app performance a lot)
5) MVVM architecture
5) Implement dev-ops for the repository, so that we can deploy app to playstore
6) TDD is preferred but you can write the tests later (roboelectric, room database testing, api testing using mock-webserver, androidx testing libraries )
7) Offline-support (app should be using Room as primary source of data)

Deliverables - Production ready android application with all features supported by Agora Web
Required Skills
- Android development
- Kotlin
- UI/UX design
- Familiar with REST

Note: Candidates are required to provide mockups for the application design. If selected they will have to follow the design they submitted.
Mentors: Abanda (Gitter: @icemc), Mukul Kumar(Gitter: @MukulCode)