Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기NorthPay — Canadian payroll SaaS built with Next.js 14, TypeScript, and Framer Motion
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
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.