Our community has identified project ideas that we believe will significantly enhance the Typelevel ecosystem. Nothing is set in stone: we may be able to adjust a project’s length and difficulty to make it the right fit for you. So if you see something here that interests you or have an idea of your own, please get in touch!
We want to make it possible to deploy machine learning inference as part of a larger web service without compromising the latency of other on-going requests. The goal of this project is to create a compiler to transform a pre-trained ML model into a sequence of Cats Effect IO
steps that perform inference on some input.
Scala, ideally some experience with ML
Hard but doable. Will draw on knowledge of ML and compilers.
Long (~ 350 hours)
AI
web
programming languages
The msgpack data format allows for efficient binary serialization of data. It would be great to have the ability to parse, transform, and emit data in a streaming fashion using FS2 in the fs2-data library.
Scala, ideally some experience with FS2 and parsing
Medium.
Medium (~ 175 hours)
streaming
programming languages
Protosearch offers an in-browser search experience for documentation. This project aims to add support for Scaladoc, the documentation system for Scala code. As a result of this work, searching for flatMap
on the cats-effect documentation, for example, would return hits from the tutorial and the relevant method in the Scaladoc.
Scala
Medium.
Long (~ 350 hours)
data
web
FS2 has powerful APIs for streaming I/O but using it in small scripts can involve boilerplate. This project aims to create a fluent library for working with files and processes in Scala. A particular focus will be easy integration with the Typelevel Toolkit.
Scala, interest in Functional Programming
Medium.
Medium (~ 175 hours)
programming languages
Feral is a Typelevel library for building serverless functions that currently supports AWS Lambda. We want to support other cloud providers, such as Google, Cloudflare, and Vercel.
Scala, interest in Functional Programming, ideally experience with serverless
Medium.
Medium (~ 175 hours)
cloud
programming languages
FS2 on the JVM currently implements its networking API using JDK NIO. Unfortunately this indirection incurs a non-trivial performance penalty. We want to replace the use of JDK NIO with direct calls to system I/O APIs such as epoll
and kqueue
.
Scala, ability to read C
Medium.
Long (~ 350 hours)
operating systems
programming languages
A GSoC 2023 project prototyped a new networking I/O layer for FS2 based on the Linux io_uring syscall interface that improved the performance of HTTP servers by more than 3x. Now we need help to make this production-ready by writing code to interoperate with io_uring from the JVM.
Java or Scala, ideally some experience with C and JNI
Medium.
Long (~ 350 hours)
operating systems
programming languages
XQuery allows for transforming XML data in a declarative way. Based on the generic streaming query engine added into the fs2-data library, write a frontend to implement a streamable subset of XQuery.
Scala, ideally some experience with XQuery
Hard.
Long (~ 350 hours)
data
streaming
programming languages
Are you interested in working on a GSoC project with Typelevel mentors?
send us an email