A Whole New Perspective
on Software Development

Valaa is an open source technology stack allowing scalable and secure web and IoT applications to be built in a fraction of time with only basic skills in web development.

Instant Start

Getting a project up and running takes less than 20 seconds.

Easy to Learn

Basic skills in HTML, CSS and JavaScript are again superpowers.

Fullest Stack

Valaa covers everything from servers to frontend and beyond.

Built-in Scalability

Projects can scale to millions of users with zero additional effort.

Ready for IoT

Valaa offers multiple integration pathways to IoT devices.

Unmatched Reusablity

You can share components easily across projects and environments.

Secure and Private

Traffic, data and entire applications can be end-to-end encrypted.

Free Cloud IDE

Valaa Zero is a 100% customizable cloud IDE built with Valaa itself.

Open Source

Valaa is licenced under MIT. We welcome ideas and contributions!

// Entire chat application with 17 lines of code.

<div className={VSS(focus.styles, "chat")}>
    <ForEach focus={focus.messages[Valaa.getRelations]("MESSAGE")}>
      <li className={focus.sayer === activeUser.name ? "me" : "other"}>{focus.message}</li>

  <input type="text" placeholder="Type a message..." onKeyUp={(e) => {
      if (e.which === 13) {
        new Relation({
          name: "MESSAGE",
          owner: focus.messages,
          properties: { sayer: activeUser.name, message: e.target.value }
        e.target.value = null;
    }} />

Leveling The Playing Field

A lot of ingenuity has gone into making Web what it is today. Reactive and dynamic single-page application with a scalable cloud backend is the new standard. It is also a rabbit hole for a beginner.

Valaa takes you back to the roots of HTML, CSS and JavaScript. It allows you to achieve all above while focusing only on what you want to see and happen.

() => {
  // Entity represents modules, classes, objects...
  const Greeting = new Entity({
      name: "Greeting", properties: { salute: "Hello, world!" }

  // All Resources can be instantiated. They will recursively inheriting sub-Resources.
  const Reply = new Greeting({
      name: "Reply", properties: { salute: "Pleasure to meet you!" }

  // Relation represents a relationship between two resources.
  const discussion = new Relation({
    name: "Discussion", owner: Greeting, target: Reply

  // Medias represent binary data objects and files.
  const media = new Media({ name: "helloWorld.vsx", owner: Greeting });

Valaa Resource Model

Valaa has a powerful resource model that unifies traditional file folders, classes, objects, media files and database relations into single Valaa Resource.

Valaa Resources can have properties, they can be modified and they can contain other Resources. They can also be instantiated, recursively inheriting all their sub-Resources as modifiable Ghosts.

// Applications are streamed to clients as series of events describing application structure, UI, data etc.

  "type": "CREATED",                                   // Type of the Command
  "commandId": "7f95b393-7cda-4742-bf81-7996a92c02b9"  // Command ID
  "typeName": "Entity",                                // Type name of the CREATED Resource

  // Resource URI of the new Entity has authority URI, partition ID and resource ID parts
  "id": "valaa-aws://j44lo3dwa.../?id=b09a7bbc-...#7f95b393-7cda-4742-bf81-7996a92c02b9"

    "name": "New Entity",                              // Initial name of the created Resource
    "owner": "#bd4f62a9-4579-4a22-ba0b-3da4f76b29cc",  // Initial owner ID (in same partition)

Software as a Stream

Valaa abstracts away the entire traditional client application. Instead of files or packages, Valaa stores and distributes applications as streams of events.

Single, universal client application - the Stream Gateway - is capable of subscribing to these streams and reducing them into in-memory resources that can be viewed and interacted with on any device.


Ville Ilkkala
Iridian Kiiskinen
Ilari Kajaste
of DX

Valaa is in Beta. Sign up to our newsletter to join and be among the first to know when we launch!