Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
The payroll system designed for modern Canadian businesses. Effortless. Compliant. Calm.
BusinessTypeScript · CSSGitHub @hellonorthpay-codeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
NorthPay — Canadian payroll SaaS built with Next.js 14, TypeScript, and Framer Motion
Taken from the repository README
Loading the full README.
Read the full README ↗Canadian payroll. Finally beautiful.
A premium payroll SaaS built for modern Canadian businesses outside Quebec. Apple-inspired interface, calm motion, real CRA-grade math.
cd northpay
npm install
npm run dev
Open http://localhost:3000.
Hero with floating gradient + animated payroll cards, six-feature grid, automation flow, province coverage list, paystub preview, employees rail, and footer. Subtle GPU-friendly motion via Framer Motion.
Located in lib/payroll/. Modular and scalable.
| File | Purpose |
|---|---|
constants.ts | 2026 CRA constants (CPP, EI, federal/provincial brackets, BPA) |
federal-tax.ts | Federal income tax with bracketed calculation + BPA credit |
provincial-tax.ts | Per-province tax + Ontario surtax |
cpp.ts | CPP1 + CPP2 (tiered above YMPE) |
ei.ts | EI premium + employer match (1.4×) |
engine.ts | Orchestrator: gross → net per period |
types.ts | All shared interfaces |
Zustand + localStorage persistence (lib/store/):
employees — seeded with four sample employeespayroll — payroll-run historysettings — company, theme, notificationspersist middlewareThe 2026 CRA T4127 (Payroll Deductions Formulas) is typically published in
Q4 2025. Where 2026 numbers are not finalized, this scaffold uses confirmed
2025 brackets with conservative indexation. Update lib/payroll/constants.ts
when the official 2026 tables are released.
This is a working scaffold. Always verify with an accountant before filing real-world remittances.
app/
├── layout.tsx Root layout + theme script
├── globals.css Design tokens, glass utilities, dark mode
├── page.tsx Landing page
└── dashboard/
├── layout.tsx Sidebar + top bar + transition shell
├── page.tsx → redirects to /employees
├── employees/page.tsx
├── payroll/page.tsx
├── paystubs/page.tsx
└── settings/page.tsx
components/
├── landing/ Hero, features, automation, provinces, paystub, employees, footer
├── dashboard/ 4-tab views + sidebar + topbar
└── ui/ Button, Input, Select, Dialog, Switch, Card, Badge, ...
lib/
├── payroll/ Engine + tax modules + constants + types
├── store/ Zustand stores (employees, payroll, settings)
└── utils.ts cn(), formatCAD, formatDate, uid
SUPPORTED_PROVINCES in lib/payroll/types.ts.ProvincialTaxConfig entry to PROVINCIAL_TAX in lib/payroll/constants.ts.OVERTIME_WEEKLY_HOURS.PROVINCE_NAMES.That's it — the engine, UI, and forms pick it up automatically.
UNLICENSED — internal prototype.