Skip to main content

GSoC 2022

Wechaty Summer of Code

This page aggregates project ideas for Google Summer of Code 2022. See more information about this project and applications on the Wechaty Google Summer of Code page.

The Ideas

Project 1: Create a Web Component for a Chat UI for Wechaty

UI is very user-friendly to the user, so UI developer kit is import to the developers. We want to create a Web Component in Angular for a Chat UI for Wechaty.

We will not try to reinvent the wheel. There are already exists some great resource for us to use:

  1. Fiora is an interesting chat application power by socket.io, koa, MongoDB and React. (See: https://github.com/yinxin630/fiora/issues/185)
  2. Aurora IMUI is a general IM UI components library, which does not depend on any specific IM SDK.
  3. Chatvia - Angular Chat App Template
  • Expected outcomes: a Web UI Component that is good enough in production
  • Potential Mentor(s): lijiarui, Huan
  • Category: Core development
  • Skills Required: TypeScript (programming language), Angular
  • Difficulty Level: Medium
  • Hours: 175

Project 2: Wechaty Rust

Rust is a new programming language with increasing popularity for its performance, memory safety and extensibility with existing systems.

Wechaty will benefit from a Rust Core module that interfaces with its original TypeScript code base for performance boost, and a potential to ship to browser and Native apps by building to binary and webAssembly.

  • Expected outcomes: a Wechaty Minimum Viable Product (MVP) rewritten in Rust
  • Potential Mentor(s): Simon LIANG, Zihua WU
  • Category: Core development
  • Skills Required: Rust (programming language)
  • Difficulty Level: Medium
  • Hours: 175

Project 3: Implement Wechaty Rasa Plugin

Rasa is a popular task-oriented dialogue system which can be a pipeline in IM platform. What's more, wechaty is an unifiy conversation AI SDK for chatbot. So Wechaty + Rasa will be the perfect project that developer can easily deploy their chatbot on multi-platforms.

  1. Running Rasa Server. When you run the rasa server, it will expose the message service with http protocol.
  2. Communicating with Rasa Server. This process is a simple work which will send the request to the server and receive the message sending the wechaty end account.
  • Expected outcomes: A production-ready server that can communicated with Wechaty service and Rasa servers
  • Potential Mentor(s): @wj-Mcat, Xiaoquan Kong
  • Category: Core development
  • Skills Required: Python (programming language), Natural Language Processing, Rasa
  • Difficulty Level: Medium
  • Hours: 175

Project 4: Implement "Twitter" Puppet

We want Wechaty to be the universal instant messaging SDK on all IM platforms for chatbot makers to build their great conversational user interface, so while these are our ideas of what we think would make good projects for the summer, we're eager to hear your ideas and proposals as well.

Implement Twitter Puppet. The Puppet abstraction allows Wechaty to provide a consisting API on all IM platforms for build a chatbot. We are supporting WeChat, WeCom, Whatsapp already, and we want to support Twitter so that our developers can run their chatbots on Twitter to serve users from Twitter.

  • Expected outcomes: A production-ready puppet that can support Twitter communicate with Wechaty
  • Potential Mentor(s): Huan
  • Category: Core development
  • Skills Required: TypeScript (programming language), Twitter API
  • Difficulty Level: Medium
  • Hours: 175

Project 5: Conversational robot that provides COVID-19 information services for elderly groups

The elderly population is more susceptible to COVID-19 virus infection and has a very high mortality rate. At the same time, the elderly population has barriers in accessing information: devices such as smartphones are not friendly to the elderly population. Many parts of the world have a high level of population aging and therefore have a large number of elderly populations. Society should pay more attention to the health of these elderly people and act quickly. Let's make a voice-based intelligent assistant to help the elderly population get information to protect themselves from COVID-19 virus infection.

We will use Rasa as the backend engine to provide conversational AI experience. And, we will use Wechaty to provide the frontend. Wechaty has the ablility to connect with lots of IM in different countries, so we can serve as many elders as possible.

  • Expected outcomes: A chatbot backend server and multiple IM clients. It should provide Information on covid-19 travel ban, virus protection, self-diagnosis, and medical consultation. All this need to be done by talk with the user by text or audio.
  • Potential Mentor(s): Xiaoquan Kong
  • Category: Public welfare
  • Skills Required: Python (programming language), Rasa framework
  • Difficulty Level: Medium
  • Hours: 175