personPROFILE

I am Xiyu "Peter" Cai, a software developer who is interested in all aspects of software development and programming, working on becoming a true full-stack developer. I am thrilled by challenging projects, and always eager to try out new programming languages and stacks. I have experience in software development in a wide range of stacks, from mobile applications (mainly Android) to web backend / frontend, while also possessing an essential amount of lower-level knowledge, such as Linux kernel development, thanks to my experience in custom ROM development for Android mobile devices.

Although I have only just finished my study as an undergraduate student, I possess a comparatively strong technical background, along with communication and teamwork abilities thanks to my involvement in several FOSS (Free-and-Open-Source) software projects. During my time experimenting with custom ROMs for mobile devices, various non-trivial contributions were made by me to different levels of subsystems of LineageOS, the largest aftermarket firmware project based on AOSP (Android Open-Source Project). Some of the changes have also been merged into the upstream project, AOSP. In addition, as a daily user of Arch Linux, I have been an active developer and package maintainer in the Arch Linux CN community. As my hobbies, I have also worked on and maintained several personal open-source projects, ranging from Android applications (BlackLight, Shelter), to web backend software (sfrs) and frontend / serverless projects (paprika, worker-pastebin), some of which have received rather positive feedbacks among users.

It is my belief that programming languages and frameworks are only tools, and even though one needs to have a deep understanding of at least some of them, a developer should not be limited to tools that they already knows. Therefore, I am always willing to learn and adapt to different development stacks, and I have the ability to do so in a swift manner. I am looking forward to working somewhere on both meaningful and exciting projects.

schoolEDUCATION

Sep 2016 - Jul 2020

Xi'an Jiaotong-Liverpool University

Suzhou, China

Bachelor of Science. Major: Information and Computing Science

business_centerWORK EXPERIENCE

Aug 2018 - Aug 2020

Phoenix Genetics (Hangzhou) Co., Ltd.

Hangzhou, China

Internship as (remote) junor full-stack developer + sysadmin.

check_boxPROFESSIONAL SKILLS

Rust
JavaScript
C / C++
Java
Kotlin
Go
Haskell
Python
CoffeeScript
Node.js
React
Android (App)
Android (OS)
Sysadmin (Linux / BSD)
Linux Kernel
Frontend (HTML / CSS)
Cryptography

storePERSONAL PROJECTS

2020 - NOW

SFRS

Server Backend (Rust)

A safe and lightweight alternative sync server implementation for Standard Notes (an open-source note-taking application) written in Rust.

2020 - NOW

Paprika

Backend / Frontend / Serverless (Rust + WebAssembly)

A personal blogging software written in Rust and compiled to WebAssembly, targetting the serverless platform Cloudflare Workers. Integrates with Standard Notes, accepts publication directly from the notebooks.

2020 - NOW

Worker Pastebin

Backend / Frontend / Serverless (React.js + CoffeeScript)

A pastebin and ephemeral file-sharing application targetting Cloudflare Workers, whose frontend was written in React Hooks, the latest iteration of React's technology, which features components based on functional programming principles instead of object-oriented ones. The application also features End-to-End Encryption, without revealing keys to servers operated by Cloudflare.

2018 - NOW

Shelter

Android Application

Isolate untrusted applications using the Work Profile feature of Android and disable them when not needed, all without Root permission.

2013 - 2016

BlackLight

Android Application

A light, simplistic but beautiful Android client for Sina Weibo, a social media platform in China.

2013 - NOW

LineageOS for Various Android Devices

Android After-Market Firmware

I have been working on and developing LineageOS (by then named CyanogenMod) for a number of devices since 2013. In 2019 I have worked for the project as one of the official device maintainers for OnePlus 7 Pro.

Please note that the projects listed above do not represent the majority of my technology stack. Some of my projects were written for the internship employer, whose source code cannot be published for obvious reasons. There are also projects of mine that haven't been published or no longer maintained and not worth putting here, but nevertheless represent a large part of my stack. Contributions to open-source projects that have not persisted over a long enough period of time, or do not involve project-like tasks, are also not listed above.

languageLANGUAGES

linkLINKS

contactsCONTACT