Write less code, ship faster with Now.js
Tired of setting up a build system or installing hundreds of packages before you can start? Now.js lets you drop in a single file link and start building right away. Forms, data tables and page navigation work by adding simple attributes to the HTML you already know.
<!-- Just add data-* attributes to the HTML: the form is submitted
via AJAX, validated, and shows its loading state automatically! -->
<form data-form
data-action="/api/products"
data-method="POST"
data-redirect="/products">
<input type="text" name="name"
required minlength="3"
placeholder="Product name...">
<button type="submit">Save</button>
</form>
// Traditional way: listen for events, check empty values,
// handle the loading button and call the Fetch API yourself
const form = document.querySelector('#myForm');
form.addEventListener('submit', async (e) => {
e.preventDefault();
const name = form.querySelector('[name="name"]').value;
if (name.length < 3) return alert('Enter at least 3 characters');
const res = await fetch('/api/products', {
method: 'POST',
body: new FormData(form)
});
if (res.ok) window.location.href = '/products';
});
Make the hard parts of the modern web easy
Every feature you need for back-office systems and web applications comes bundled and ready to use.
No build: ready the moment you open it
No Node.js to install, no bundler to configure. Add a single <script> tag to the page and start working, then upload to any ordinary hosting.
Drive it from HTML (Data Attributes)
Cut the repetitive JavaScript of daily tasks such as submitting forms, validating input or binding data to the page. Just set readable attributes.
Ready-made UI, no extra libraries
A smart data table (DataTable), calendar, modal, autocomplete and a polished file upload are all built in.
Page changes as smooth as a mobile app
A built-in Router switches pages without a full reload, supports page-level access control, and loads only what is needed (Lazy Loading).
Secure, with a good memory
User permission handling (JWT & Session), automatic CSRF/XSS protection, and easy offline data through LocalStorage or IndexedDB.
Multi-language, built by a Thai developer
A built-in language switcher (i18n) and detailed documentation, with an active community to find answers and talk to when you get stuck.
Now.js on the front end
Kotchasan on the back end
If you want a web system that is both easy to write and lightning fast, pairing Now.js with Kotchasan is the best fit: the API and database structure were designed to work together from the start.
- Fastest among PHP frameworks: up to 18,621 requests per second (84% of plain PHP)
- Light on server RAM: loads only the 27 files a request actually needs
- Broad database support: MySQL, PostgreSQL, MSSQL and SQLite
Get started in 1 minute: just paste the CDN links
Copy the code below into your .html file and open it in a browser.
<!-- 1. Load the Now.js stylesheet and core -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/goragodwiriya/nowjs@main/Now/dist/now.core.min.css">
<script src="https://cdn.jsdelivr.net/gh/goragodwiriya/nowjs@main/Now/dist/now.core.min.js"></script>
<!-- 2. Load the additional modules you need (e.g., tables or charts) -->
<script src="https://cdn.jsdelivr.net/gh/goragodwiriya/nowjs@main/Now/dist/now.table.min.js"></script>
Frequently Asked Questions (FAQ)
Common questions from people deciding whether to start with Now.js and Kotchasan
What kind of project is Now.js best for?
It suits admin dashboards, in-house ERP/CRM systems, sites that need fast loading, and teams that do not want to spend time configuring a build system.
Must I use it with the Kotchasan PHP Framework?
No. Now.js is a front-end framework that exchanges JSON with any back end: Node.js, Python, Go or other PHP frameworks. Paired with Kotchasan you get an API and database structure designed to fit together from the start.
Is it free for commercial use?
Yes. It is open source: you can build systems for customers or use it inside your company with no license fee.