In KaiCode’25, we received 112 applications. After a three-phase review of them, the jury made a decision to reward three projects and the steering committee agreed:

perfect The ag2ai/faststream project (4.3K★), a Python library that simplifies the process of writing producers and consumers for message queues, demonstrated perfect software development practices: code style control, continuous integration, automated testing, versioning and releases, issue triaging, and contribution management discipline. Source files are small, well formatted, and properly documented. However, licensing is not under control according to SPDX requirements. $2048 was the reward.

excellent The kozistr/pytorch_optimizer project (319★), an optimizer for PyTorch written in Python, showed us an excellent codebase: well formatted and documented code, CI, automated testing, coverage control. However, style checking is not part of CI, build pipeline is rather weak, there is a lack of clarity in package management, and no license control of source files. $1024 was the reward.

awesome The PierreBeucher/novops project (418★), a universal secret and configuration manager written in Rust, showed us awesome coding practices: issue triaging and community support, continuous deployment, automated testing. However, they don’t have a style checker in the CI pipeline, module placement is a bit chaotic, PRs don’t go through the full build pipeline, branching is a bit messy, and no badges in the README. $512 was the reward.

Steering Committee

iakunin @iakunin

sobolevn @sobolevn

vprusso @vprusso

Jury

h1alexbel @h1alexbel

Ivan Ivanchuk @l3r8yJ

asomsiko @asomsiko

Mikhail Polivakha @mipo256

Max Petrov @mximp

Slava Dodonov @SlDo

Stepan Rabotkin @EpicStep

Gleb Alfutin @MowlCoder

Konstantin Gvencadze @gvencadze

maxonfjvipon @maxonfjvipon

Participants

We received 112 applications (excluding duplicates and broken submissions).

Then, we semi-automatically split the list into three groups. The first group contained XXX that didn’t match the criteria of the competition or were obviously not qualified for the winning (we created a software that calculated repository age, size, the presence of CI, the number of issues, pull requests, commits, etc):

The software we created for filtering repositories works as follows.

  1. First it uses GitHub Rest API:
  2. Then it manually clones every repository using git clone and checks if:
    • amount of directories >= 10
    • amount of files >= 50
    • amount of files with more than 1k lines < 10

    Ignored file formats are:

    • .png
    • .jpg
    • .jpeg
    • .svg
    • .eot
    • .ttf
    • .woff
    • .pdf
    • .ico
    • .rst
    • .gif
    • .webp
  3. Then it excludes all the repositories that are not matching the criteria

The second group consisted of XXX that were manually reviewed by one of the jury members and were classified as “not enough quality” to compete for the trophy:

The third group contained XXX, which we considered as candidates for the prize:

Then, we asked our jury to review all projects manually. Every project was reviewed by two jury members. The details are here: kaicode-2025.xlsx

Sponsors

yegor256 @yegor256

Max Petrov @mximp

Organizers

These people organized KaiCode (in alphabetic order):

maxonfjvipon @maxonfjvipon

volodya-lombrozo @volodya-lombrozo