Get started
Build with Neptune Odyssey
A white-label banking design system by Neptune.Fintech. One Material 3 + M3 Expressive core; theme any app three ways and get the identical result on Flutter, Web, React, Vue, Svelte, React Native and Laravel/Blade.
0 · Scaffold a starter FASTEST
One command scaffolds a themed app — provider wired, a sample dashboard screen, styles imported and a brandprint set — for any framework. No config:
npm create @neptune.fintech/neptune@latest my-bank
or run it directly, picking the framework and brand up front:
npx @neptune.fintech/create-neptune my-bank --framework react --brand triton
Frameworks: web · react · vue · svelte · react-native · flutter. Brands: neptune · triton · nereid · proteus (or paste a NO1-… brandprint later). Then cd my-bank, install, and run. Prefer to wire it yourself? Keep going below.
1 · Install
Everything is published on npm under @neptune.fintech. Pick your stack:
npm i @neptune.fintech/web-ui @neptune.fintech/tokens
React
npm i @neptune.fintech/react-ui
Vue 3
npm i @neptune.fintech/vue-ui vue
Svelte
npm i @neptune.fintech/svelte-ui svelte
React Native
npm i @neptune.fintech/react-native-ui
Icons
npm i @neptune.fintech/icons
Flutter
flutter pub add neptune_flutter_ui
Laravel / Blade
composer require neptune-fintech/laravel-ui
Vendors the web kit's built JS/CSS — no Node/npm step. Not yet on Packagist, install via git/path today.
Sound (Flutter, optional)
flutter pub add neptune_sound_kit
Synthesized feedback chimes wired to NptFeedback.onSoundCue. Not yet published — depend via git/path.
2 · Theme it — three ways, one surface
Every library accepts a reference brand id, a config object, or a portable brandprint string. The same NO1-… string produces the identical theme everywhere — build one in the theme builder.
// web · svelte · vue · react native — same surface import { applyTheme } from "@neptune.fintech/web-ui"; import "@neptune.fintech/web-ui/styles.css"; applyTheme(document.documentElement, "triton", { mode: "system", dir: "auto" }); // 1 · brand id applyTheme(root, "NO1-AYB4AK…"); // 2 · brandprint applyTheme(root, { primary:{L,C,H}, corners:{…}, motion:"calm-graceful" }); // 3 · config
// flutter MaterialApp( theme: NeptuneTheme.light('triton'), darkTheme: NeptuneTheme.dark('triton'), // or NeptuneTheme.fromBrandprint('NO1-…') );
3 · Use components
Drop in standards-based custom elements — themed automatically by the CSS variables:
import { registerAll } from "@neptune.fintech/web-ui"; registerAll();
<npt-app-bar title="Accounts"></npt-app-bar> <npt-balance-card hero label="Available balance" amount="12,480.50" currency="LYD"></npt-balance-card> <npt-button variant="filled">New transfer</npt-button>
Foundations →
Colour, type, shape, elevation, motion — the styles the system is built on.
Components →
Every component, live and interactive, with code you can copy.
Icons →
The Neptune icon library — searchable, copy-ready SVG.
Develop →
Per-framework guides for Flutter, Web, React, Vue, Svelte, React Native and Laravel/Blade.