Kixx is a new way to build on the web.

A new web development framework for you and your clankers to build anything from a home-cooked website to the next unicorn.

Kixx is optimized for solo developers and small teams. It emphasizes productivity, craftsmanship, and portability. Build web applications using AI agents without generating a ball of mud you’ll need to rewrite later.

Open Source

Kixx is available as an alpha preview now, with a beta release coming soon. The framework is open-source software, built and supported by a community of people like you.

Here are some ways you can get involved and try it out:

Core values:

A software development framework is born from the community around it. It's more about the people than it is about the code. Adopting strong values is foundational to shaping the community and guiding the work.

  1. Be accessible

    We all started our software journey somewhere, and now have a responsibility help people who are starting that journey after us. Our community must be welcoming and the tools we build should be friendly for beginners.

  2. Software is a craft

    Humans build software for humans. Especially when AI is working in the background, quality and craftsmanship matter more than ever. In software there will always be a healthy tension between automation and craft. We thrive on this tension and deliberately work at the intersection of quality, craftsmanship, and efficiency.

  3. Keep it small

    We optimize for single developers and small teams because they have the most to gain from minimal, high quality tools. Bloated tools and bureaucratic organizations are not for us. Building small, useful tools for developers is more productive and more fulfilling.

  4. Build on the Web

    The World Wide Web is the greatest application platform ever invented. Even with all the rough edges inherent to the Web, it remains open, accessible, and free. We are committed to making the Web the best version of itself.

  5. Have opinions

    To be valuable, software must carry the opinions of its creators. A development framework without opinions has nothing to offer. So, while this community should be open minded, we must also hold strong opinions about how applications should be made and ensure those opinions are cohesive in the tools we make.

  6. Be durable

    Durable software has a long useful lifespan, not because people become locked into it, but because it can adapt to the changing world around it. So, instead of trying to anticipate every need, we create foundational primitives which can be arranged to build things we couldn’t possibly have imagined.

  7. Remain open

    Being open is more than just being open-source software. Being open means creators can choose their own path, hack on their own apps, and contribute back to the community. The freedom to create, without asking permission, is essential to a healthy ecosystem.

Platform independence:

Build on your laptop, a build server, a remote AI platform, or whatever else you can imagine. When you’re ready to publish you can deploy your applications on almost any server or compute platform.

  • Node.js

    Kixx has Node.js adapters out of the box. Build with Node.js and deploy anywhere a Node.js server can run.

  • Plain Servers

    Run your apps using Node.js on any server which supports it. Install and run on a remote box, or locally on a home server.

  • Cloudflare

    With the Kixx Cloudflare adapters you can build locally with Node.js or Deno and seemlessly deploy to Cloudflare.

  • AWS Lambda

    Tools for AWS Lambda are coming soon.

  • Deno

    Kixx adapters for the Deno runtime are coming soon. Build with Deno and deploy on any server that can run it.

  • Deno Deploy

    Tools for Deno Deploy are being evaluated.

First principles:

Kixx takes advantage of the shift to agentic engineering by re-evaluating everyting, burning the boats, and creating a new web framework from the ground up, knowing what we know now.

Lean into hypermedia

Too much of the web has been built as heavy, single page JavaScript apps when most should use simpler multi-page architectures with hypermedia as the engine of application state. The use of single page JavaScript architecture as a hammer for every nail has been a mistake. Kixx leans into server side template driven HTML and a RESTful interaction model.

Build with JavaScript

Programmers love to hate JavaScript, and often for good reason. JavaScript is often used for the wrong reasons, and usually poorly executed. But, love it or hate it, JavaScript has become the language of the Web. It has also evolved into a language which is a delight to work with. It is accessible, has good primitives for the web, unlocked isolated edge compute, and created more opportunities for exciting change. These reasons make it a perfect candidate for a new web framework.

Be portable by design

Applications built with Kixx should be able to move freely between different runtimes and platforms. An application built with Node.js should also run in Deno. An application deployed on Cloudflare should be deployable on a Linux server with minimal changes. While it's not practical to support the entire long tail of runtimes and platforms, we should always maintain a pragmatic menu of options so that application owners are not locked into a platform unless they choose to be.

Provide escape hatches

An application built with Kixx should be easy to hack on. We don’t lock down the screws to prevent developers from getting under the hood. In fact, we do the opposite and make it acessible by default. Developers should always be able to modify and shape their applications for use cases we couldn’t possibly have imagined.

Offer desired paths

Kixx should have opinions about the best way to address common use cases and provide happy paths to get there. Desired paths are well-trodden routes where developers will naturally want to go. But, while we provide desired paths by default, we must also take care to never fence developers in, providing escape hatches and options to do things differently.

Be accessible

By default Kixx does not require any database servers or containers. A Kixx application should just work, out of the box, on any laptop, without extensive environment setup or configuration. In fact, the vast majority of applications should never need a database outside of the local in-process filesystem. Kixx should support adapters for all kinds of databases, static build systems, and caching layers, but it must always be able to operate without them.

Bury the complexity

There are two kinds of complexity in every web application: Inherent complexity and accidental complexity. Inherent complexity is necessary for your app to run, like handling HTTP requests, authentication, and data storage. Kixx hides inherent complexity behind useful abstractions while still allowing users to access it when needed. But, Kixx also helps developers avoid accidental complexity by providing good desired paths and built in protections against bloat.

High quality agentic engineering

Producing high quality output with agentic tools is possible, and we believe it's a worthy objective. A good agent harness provides high quality patterns for the agents to follow, it provides the right context at the right time, and is disciplined about token consumption. Agentic engineering should result in better testing, more frequent code cleanup, and a high quality codebase; not more slop.

Sound like your jam?

Sign up for the beta and help shape the future of Kixx.