KaiOS Technologies
Sr. Software Engineer • 2021/03 - 2023/07
KaiCloud is a microservice system. It includes various applications, including each service via a message queue to communicate and share data.
- KaiStore backend
- To create an App Store for the world's most popular KaiOS applications, allowing KaiOS mobile
users to download thousands of apps through KaiStore. This is a microservices architecture-
based system, with the project utilizing GoLang for the API gateway layer, and Java SpringBoot
to communication with the Cassandra database. It is capable of easy horizontal scalability and
rapid responsiveness to serve tens of millions of KaiOS mobile users. - To implement the app recommendation feature for KaiStore, collaborating with the Data team is essential to detect the user's location and recommend a suitable ranking app list for that region. This process may involve cross-border collaboration and requires the creation of API documentation. Discussions with the Data team to resolve performance issues for the API payload. Additionally, this app ranking list functionality includes a Progressive Web Apps (PWA) crawler feature, which will be used to reconstruct the existing data structure based on a large number of PWA apps crawled by the Data team to improve database performance due to the large volume of apps.
- KaiStore Portal backend
- A system allows developers/partners to upload apps and manage app versions, manifests, and
configurations.
- KaiAds (Ad Exchange, SSP, DSP)
- The KaiOS AD system, kaiOS's developer, via KaiAds SDK, send ad requests to SSP servers to bid for the ADs from several DSP partners. This product is a pure Golang project. We use AWS Elasticache to store the AD data to increase the latency and use Lambda to sync the cache data to the database.
- Skill Set
- languages: Go, Java
- Database: Cassandra, PostgreSQL
- Cache: Redis
- Queue: Nats
- Logs System: Grafana/Loki/Promtail
- System: Docker, CentOS, k8s
- Cloud Platform: AWS