Total.js for real business software

Build faster. Own the stack.

Business software without unnecessary layers.

Total.js combines a fast Node.js framework, production UI components, and proven applications so teams can build dashboards, portals, SaaS products, and internal tools with less glue code and more control.

0dependencies
300+UI components
MITopen source
totaljs.es / software stack
Backend core

Routing, actions, REST, WebSocket, schemas, files, views, mail, and runtime control in one place.

jComponents

Inputs, datagrids, forms, charts, dashboards, modals, and production-ready interfaces.

# Node.js server-side framework
# Total.js v5
$ npm install total5
# One foundation for backend, frontend, and UI
Node.js
NoSQL
WebSocket
API/REST
Actions
Start with a solid foundation

A stack you can understand, extend, and own

Total.js keeps the important pieces close: backend, UI, data, real-time communication, and business logic without spreading your product across unnecessary layers.

Framework

A dependency-free Node.js foundation for APIs, sockets, admin panels, portals, internal apps, and long-term products.

  • Direct routing and clean actions
  • Schemas, validation, and data access
  • REST, WebSocket, mail, files, and views

jComponents

A UI layer designed for business applications: real components, simple binding, and screens that are ready to work without heavy front-end stacks.

  • Forms, datagrids, charts, and dashboards
  • Automatic bindings and lightweight views
  • More than 300 production components
Framework + jComponents

One backend. One UI philosophy.

Routes, actions, schemas, views, bindings, and components fit naturally together. Less glue code, fewer decisions, and a cleaner path from idea to production.

Pure framework

total5 / node.js

A clear structure for business logic, APIs, sockets, jobs, and real processes without framework noise.

framework.js
// Routes, actions, schemas, database, sockets, and mail
require('total5');

exports.install = function() {
	ROUTE('GET /', 'view');
	ROUTE('+API   ?                --> find');
	ROUTE('+POST /api/orders/      --> create');
	ROUTE('SOCKET / @text <1MB', socket); // "text" means only the plain text communication
};

	NEWACTION('find', {
		query: 'page:Number, sort:String',
		route: 'API ?',
		params: 'projectid:String',
		action: function($) {
			// $.query
			// $.params
			$.success();
		}
	});

	NEWACTION('create', {
		name: 'name/description',
		route: '+POST /api/orders/',
		input: '*name:String, age:Number',
		output: 'success:Boolean',
		params: 'projectid:String, id:String',
		action: function($, model) {
			// $.query
			// $.params
			// $.model or model "is prepared according to the input data schema"

			// $.success();
			// $.callback({ success: true });

			// TMS:
			// $.publish(model);
		}
	});

	function socket($) {

		// $ === WebSocketController

		// List of all clients in the controller
		// $.connections {Object} ID1:CLIENT, ID2:CLIENT, ID3:CLIENT
		/*
			for (var id of $.connections) {
				var client = $.connections[id];
				client.send({ name: 'Hello' });
			}
		*/

		// Automatically destroys the controller after all clients are disconnected.
		$.autodestroy();

		$.on('open', function(client) {
			// @client {Controller}
			client.send('Hello world');
		});

		$.on('close', function(client) {
			client.send('Bye Bye!');
		});

		$.on('message', function(client, message) {
			console.log(message);
		});

	}

Total.run();
Intuitive routing
Reusable actions
Integrated WebSocket
NoSQL and schemas
MVC and serverless
Scalable and simple

UI with jComponents

spa.min@20

Build forms, dashboards, tables, and complete workflows with components made for real business screens.

ui.html
<!-- Client-side UI library -->
<script src="https://cdn.componentator.com/spa.min@20.js"></script>
<link rel="stylesheet" href="https://cdn.componentator.com/spa.min@20.css" />

<ui-plugin path="scope">
	<ui-component name="input" path="?.filter" config="placeholder:Search orders;autofill:1"></ui-component>
	<ui-component name="validate" path="?.form">
		<button class="exec" data-exec="?/submit">Save order</button>
	</ui-component>

	<ui-component name="datagrid" path="?.orders" config="margin:0;click:?/detail">
		<script type="text/plain">
		[
			{ name: 'email', text: 'Customer', width: 220 },
			{ name: 'total', text: 'Total', align: 2, template: "{{ total | format(2) }}" },
			{ name: 'dtcreated', text: 'Created', template: "{{ dtcreated | format('dd.MM.yyyy') }}" }
		]
		</script>
	</ui-component>

	<ui-component name="linechart" path="?.sales" config="height:180;type:curves"></ui-component>
	<ui-bind path="?.online" config="text:value + ' online'"></ui-bind>
</ui-plugin>

<script>
PLUGIN('scope', function(exports) {
	exports.submit = function() {
		var modal = exports.modal;
		exports.tapi('orders-list', modal, function(response) {
			exports.set('scope.orders', response);
		});
	};
});
</script>
300+ components
Datagrids and forms
Automatic bindings
Dashboards and charts
UI ready for business
Faster pages
Apps built on Total.js

Applications that prove the stack

Flow, OpenPlatform, CMS, and other Total.js applications are not demos. They are working products built with the same foundation you can use for your own platform.

Flow

Automation, integrations, and business processes connected to APIs, services, and AI.

OpenPlatform

A private portal foundation with identity, applications, users, and controlled access.

CMS

Content management that can stand alone or become part of a larger business solution.

More apps

Tools built with the same philosophy: practical, direct, and ready for real work.

Performance and simplicity

Less overhead.
More ownership.

Total.js is designed to stay fast, understandable, and close to the product you are building.

Framework speed comparison
Total.js
100%
Fastify
90%
Koa
77%
Express
70%
NestJS
67%
Sails
60%
Meteor
55%
Hapi
50%
Connected native apps

TotalDesktop Suite

Native tools for Mac and iPad designed around real Total.js workflows: resources, code, monitoring, projects, and daily work.

TotalResources app icon

TotalResources

Manage multilingual content from a native app: translation, spelling assistance, review, and AI support for every product text.

Multilingual
Total.js API
Athena AI
MCP / MVP
TotalCode app icon

TotalCode

A native workspace for Total.js Code with local control and multiple instances from one application.

Native IDE
Multiple instances
MCP / MVP
TotalMonitor app icon

TotalMonitor

Monitor project health, metrics, alerts, and rules in real time so problems are visible before they become urgent.

Real-time
Alerts
MCP / MVP
More applications icon

More applications

More native tools will extend the same ecosystem for development, management, monitoring, and product evolution.

In progress
New apps
Ecosystem
Availability

Exclusively for Mac and iPad, coming soon

The initial release will be focused on the Apple ecosystem. Windows and Linux will arrive later, with no planned date yet.

Mac
iPad
App Store
Mac App Store
Professional development

We build Total.js software that lasts

Custom applications, dashboards, portals, SaaS products, and private platforms built on a coherent foundation instead of accidental complexity.

Internal applications
Private portals
Control panels
SaaS product
Refactor and improvement
Technical support

Custom development

Applications, dashboards, portals, internal tools, and digital products built with Total.js.

Architecture and consulting

Technical decisions, foundation review, and a practical plan before the product grows.

Implementation and evolution

From first version to continuous improvement, with the same technical direction.

Maintenance and improvement

Optimization, refactor, new features, and progressive evolution of existing platforms.

Spanish Total.js Platform

Tell us what your business needs to run better

We design and build Total.js applications with a clear technical foundation and a practical path to production.

Business applications and dashboards
Private platforms and portals
Architecture, implementation, and evolution

Teams around the world already build with Total.js.

View all references
Siemens
Orange
Datalan
Metrostav
Slovalco
Volkswagen
Tell us about your project

Tell us what you want to build and we will reply with a practical next step.