Featured project

Kanvas

A modern, GPU-accelerated UI renderer for Kotlin.

Kanvas is a cross-platform rendering stack that brings native GPU rendering to Kotlin applications while staying compatible with the Compose Desktop workflow.

Cross-Platform

Windows, Linux, macOS and more.

High Performance

Vulkan, OpenGL, Metal and native backend work.

Compose Support

Use a familiar Kotlin UI workflow with GPU acceleration.

Flexible Backends

Multiple rendering paths behind one shared model.

What is Kanvas?

A graphics foundation for modern Kotlin applications.

Kanvas is a complete rendering stack for Kotlin Multiplatform. It gives applications a consistent way to display UI through native graphics backends while keeping the development experience familiar.

Whether you are building a desktop app, a custom interface or experimenting with rendering itself, Kanvas provides the building blocks to work with modern graphics APIs without tying the application to one platform.

Why I built it

More control below the UI layer.

I wanted a better view of the path between application code and the GPU. Kanvas gives me room to experiment with renderer ownership, backend behavior and platform-specific graphics APIs without throwing away Kotlin or Compose.

Under the hood

One model, multiple native paths.

Kanvas uses a shared display-list layer between Compose capture and the native renderer. That keeps drawing behavior consistent while allowing the backend to change between Vulkan, Metal, OpenGL and other platform paths.

Rendering path

Kotlin / Compose→Display list→Native runtime→GPU backend
VulkanOpenGLMetalDirect3DWin32X11Cocoa

Current status

Active development.

The core renderer architecture, native runtime, Compose integration, project adapter and multiple backend paths are already in the repository. Current work is focused on coverage, compatibility and making Kanvas easier for other developers to try.

View on GitHub ↗