Framework

What is Joystick?

Get an understanding of what Joystick is, what it does, and why it might be a good choice for you and your team.

Joystick is an opinionated full-stack JavaScript framework for building SaaS apps.

It combinines a simple, easy-to-learn components API with a batteries-included Node.js back-end. It's designed—first and foremost—for developers who value productivity and performance; essential ingredients for any successful SaaS.

Joystick is for you if:

  • You want an all-in-one system for building your app with everyday features built-in; not a stripped down "framework" that forces you to use third-party packages and services to implement basic functionality.
  • You want to work with simple, easy-to-understand APIs and structure that don't force you to comb through poorly written docs, wrestle with half-working tutorials, or roll the dice on AI-generated code.
  • You want a set of tools that just work, as described, indefinitely. No "sorry, bro, that's deprecated" rug pulls or chasing of patterns that are "it" today and dead tomorrow.
  • You want to move fast without compromising quality and scalability.
  • You want to build with tools that are actually used by the people making them to build their own apps (not toys or stripped-down demos for a tech talk).

Packages

Though Joystick works as a single framework, it's made up of four packages:

  • @joystick.js/ui - The components library for Joystick. Introduces a simple, single-function pattern for implementing your components using plain HTML, CSS, and JavaScript. No attribtue hacks. No compilers. Just straight JavaScript.
  • @joystick.js/node - The batteries-included, Node.js back-end for Joystick. Incldues everything from routing, to email, uploads, WebSockets, queues, and a whole bunch of other tools common to building a SaaS app.
  • @joystick.js/cli - The command-line interface for Joystick and its development server. Helps you to create, run, and deploy new Joystick apps.
  • @joystick.js/test - The testing framework for Joystick. Runs your app as a mirror of itself so that you can write tests against your actual app—not mocks and stubs that create false-positives.

Under-the-hood, @joystick.js/cli brings all of these together into a cohesive, full-stack framework. When creating a new project, all of these packages are installed and your app is scaffolded with examples of how they're used, when, and where.