Kitawi - Declarative UI for the web

Kitawi is a declarative UI library for the web. It is inspired by Flutter and Vue. With Kitawi, you can say goodbye to the tedious process of writing complex CSS and HTML code from scratch. Instead, you can focus on what really matters - creating engaging and interactive user experiences. Plus, our framework is designed with responsiveness in mind, so your web app will look great on any device.

Kitawi is still in early evelopment and is not ready for production use.

Getting Started


Kitawi is written in Dart and compiled to JavaScript. To use Kitawi, you need to install the Dart SDK. You can find the installation instructions here.

Once you have Dart installed, you can install Kitawi by running the following command:

dart pub global activate kitawi


To create a new Kitawi project, run the following command:

kitawi create -n <project_name>

This will create a new directory called <project_name> in your current directory. Inside this directory, you will find a pubspec.yaml file and a web directory. The pubspec.yaml file contains the dependencies and the PWA configurations for your project. The web directory contains the source code for your project.

To run your project, run the following command:

kitawi run

This will start a local server on port 8080. If the port is in use, you can specify a different port by running the following command:

kitawi run -p <port_number>

You can now access your project by navigating to http://localhost:<port_number> in your browser.

To build your project, run the following command:

 kitawi build

This will create a build directory in your project directory. This directory contains the compiled JavaScript and CSS files for your project. You can now deploy your project to any web server. See this Vercel guide for more information

Kitawi is a PWA first framework. This means that your Kitawi project will be a PWA by default. To learn more about PWA, check out this article.

To build the app without the PWA configurations, run the following command:

kitawi build --no-pwa


Here is a simple example of a Kitawi project:

import 'package:kitawi/kitawi.dart';

void main() {
        builder: (args) => App(),
        path: "/app",
        name: "App"
    id: <app_id>, // This is the id of element that will contain your app

class App extends Layout {

  Widget build() {
    return Container(
      child: Text("Hello, world!"),


You can find the documentation for Kitawi here.


We welcome contributions to Kitawi! If you would like to contribute, please read our contribution guidelines.


Kitawi is licensed under the MIT License.


Utils library - contains all the utilities to build beautiful PWAs. The library contains the following:
Kitawi is a UI library that provides a set of widgets and utilities to build beautiful PWAs.