NovaAxis CRM
A production-grade, full-stack business operations platform combining powerful CRM with WhatsApp Cloud API messaging, AI-powered assistance via Gemini, and comprehensive client management.

About This Project
NovaAxis CRM is a production-grade, full-stack business operations platform designed for service-based businesses in Nepal.
It combines a powerful CRM system with direct WhatsApp Cloud API integration, AI-powered assistance via Google Gemini, and comprehensive client management tools — all in a single dashboard.
The platform serves as a centralized operations hub with two core pillars: Customer Relationship Management (CRM) enabling client management, service tracking (visa forms, registrations, documentation, embassy appointments), payment logging (eSewa, Khalti, Fonepay), asset uploads, and a full timeline of client activity with dashboard analytics; and WhatsApp Business Messaging with full two-way WhatsApp Cloud API integration enabling live chat from the dashboard, media sharing (images, documents, audio, video, stickers), contact/location capture, and persistent message history — all powered by Meta's official Business API.
The platform also features a Gemini AI chat workspace for AI-assisted conversations, a rich text prompt editor via TipTap, database management interfaces, and user administration with role-based access control.
Built with Next.js 16 App Router and React 19, all data is persisted in Neon PostgreSQL with AWS S3 for media storage, and the platform is fully deployed on Vercel with Capacitor Android support for push notifications..
User Roles
| Role | Description |
|---|---|
| Admin | Full platform access with permission-based feature gating for all CRM, WhatsApp, AI, and user management modules |
| Staff | Limited access based on assigned permissions with role-appropriate views of client data and messaging |
Feature Details
WhatsApp Cloud API Integration
| Feature | Details |
|---|---|
| Two-Way Messaging | Send and receive text messages directly from the dashboard to real WhatsApp users via Meta's official Cloud API |
| Media Messaging | Full support for images, documents/PDFs, audio messages, videos, and stickers — all sent and received within the dashboard |
| Webhook Management | Secure webhook receive with signature verification, status updates, and idempotent event persistence |
| Conversation History | Phone-scoped conversation grouping with full message history, persisted in Neon |
| S3 Media Storage | All media binaries mirrored to private S3 with phone-specific prefix isolation and presigned URL access |
| Contact & Location Capture | Contact information and location metadata parsed from inbound webhook payloads |
| Notification Sounds | Custom audio cues for incoming WhatsApp messages |
CRM & Client Management
| Feature | Details |
|---|---|
| Client Dashboard | Full client list with search, filter, and detailed profile views |
| Service Tracking | Manage service types: Visa Form Filling, Online Registration, Documentation Support, Embassy Appointment, General Form Service |
| Payment Tracking | Track payment status (Unpaid / Half Paid / Fully Paid) with amounts and gateway support (eSewa, Khalti, Fonepay) |
| Asset Management | Upload and manage client assets (images, documents) with S3 storage |
| Timeline & Activity | Full client activity timeline with info, success, and warning tone entries |
| Analytics Dashboard | Real-time metrics: total clients, pending/completed jobs, revenue tracking, completion rates, collection rates, monthly earnings, and service distribution charts |
| Metrics & Reporting | Payment breakdown by status, service distribution by revenue, and monthly earning trends |
Gemini AI Integration
| Feature | Details |
|---|---|
| AI Chat Workspace | Full conversational AI interface powered by Google Gemini |
| Persistent Conversations | Chat history stored in Neon with conversation management (list, create, update, delete) |
| Persona System | Configurable AI persona and CRM knowledge base integration |
| Image Understanding | Upload and analyze images within AI conversations |
| Shared Workspace Mode | Currently operates in shared workspace mode with per-user migration path ready |
Prompt Management
| Feature | Details |
|---|---|
| Rich Text Editor | TipTap-based rich text prompt editor with underline support |
| Prompt Templates | Create, edit, assign, and manage prompt templates |
| Assignment System | Assign prompts to specific WhatsApp conversations or clients |
Authentication & User Management
| Feature | Details |
|---|---|
| JWT Authentication | NextAuth.js with credentials provider and session management |
| Role-Based Access | Admin role with permission-based feature gating |
| User Management | Create, edit, and manage users with profile images (S3 upload), positions, and permissions |
| Session Control | Configurable session duration with 'Remember Me' option (8h default / 30d extended) |
| Activity Tracking | Track user login and session expiry |
Mobile & Cross-Platform
| Feature | Details |
|---|---|
| Capacitor Integration | Android support with push notifications and local notifications |
| Responsive Dashboard | Mobile-optimized bottom navigation and sidebar for desktop |
| Customization | Dashboard settings workspace for user preferences |
Technology Stack
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Runtime | Node.js |
| Language | TypeScript |
| UI Library | React 19 |
| Styling | Tailwind CSS + shadcn/ui |
| Database | PostgreSQL via Neon with pg driver |
| ORM / Query | Raw SQL with pg Pool (schema auto-bootstrap) |
| Authentication | NextAuth.js v4 with JWT strategy |
| Messaging API | Meta WhatsApp Cloud API (v23.0) |
| AI / LLM | Google Gemini API (configurable model, temperature, top_p) |
| File Storage | AWS S3 with presigned URL access |
| Image Processing | Sharp |
| Rich Text Editor | TipTap (StarterKit + Underline) |
| Charts & Visualization | Custom analytics with Recharts |
| Forms & Validation | React Hook Form + Zod |
| Animations | Framer Motion |
| Icons | Lucide React + React Icons |
| Push Notifications | Firebase Admin |
| Capacitor | Capacitor Android with local & push notifications |
| Deployment | Vercel |
Performance & Architecture
Getting Started
Prerequisites
- Node.js (v20+)
- npm or pnpm
- A Neon (PostgreSQL) database instance
- A Meta for Developers account with WhatsApp Cloud API access
- An AWS S3 bucket for media storage
- A Google Gemini API key (optional, for AI features)
- A Firebase project (optional, for push notifications)
Setup Steps
- 1Install dependencies: npm install
- 2Configure environment variables in .env.local
- 3Set up your database (auto-bootstraps schema on first run in development)
- 4Configure WhatsApp webhook callback URL to: https://<your-domain>/api/whatsapp/webhook
- 5Set the verify token to match WHATSAPP_VERIFY_TOKEN
- 6Start the development server: npm run dev
Challenges
- 1Integrating Meta's WhatsApp Cloud API with full two-way messaging, webhook signature verification, media handling (images, documents, audio, video, stickers), and idempotent event persistence
- 2Building a real-time WhatsApp chat UI embedded within the dashboard with phone-scoped conversation grouping, S3 media storage with presigned URLs, and persistent message history
- 3Implementing Google Gemini AI integration with configurable models, persona system, CRM knowledge base integration, image understanding, and persistent conversation management
- 4Designing a comprehensive CRM system with service tracking (5 service types), payment tracking with Nepali gateway support (eSewa, Khalti, Fonepay), asset management, and timeline activity logging
- 5Building secure JWT-based authentication with NextAuth.js, configurable session duration (8h / 30d), role-based access control, and user management with S3 profile image uploads
- 6Managing AWS S3 media storage with phone-specific prefix isolation for WhatsApp media and user profile images, all accessed via presigned URLs
Solutions
- 1Built a complete WhatsApp Cloud API integration layer with webhook receiver, signature verification, media download/upload to S3, and full message persistence with idempotency keys
- 2Developed a real-time chat workspace within the dashboard with conversation grouping by phone number, media preview, notification sounds, and seamless send/receive message flow
- 3Integrated Google Gemini API with configurable model parameters (temperature, top_p), persona system for contextual responses, CRM knowledge injection, and image analysis capabilities
- 4Created a full CRM workspace with client CRUD, 5 service types, 3 payment statuses with gateway tracking, S3 asset uploads, timeline activity feed with info/success/warning tones, and analytics dashboards
- 5Implemented NextAuth.js with JWT strategy, configurable session durations, role-based feature gating, user CRUD with S3 profile images, and secure session management
- 6Built a dual S3 pipeline for WhatsApp media and user uploads with phone-specific prefixes, sharp image processing, presigned URL generation with configurable TTL, and secure access controls
Technology & Architecture
Design & UX Highlights
Security & Access Control
Future Roadmap
“NovaAxis CRM transformed our client management workflow. The WhatsApp integration alone has saved us hours daily — being able to chat with clients directly from the dashboard while tracking all their services and payments in one place is incredible.”
Other Projects

Chiya Nepal
A production-grade, full-stack web application built for a real tea house chain with multiple locations across Nepal. Serves two distinct audiences: customers exploring a polished public website, and staff managing comprehensive café operations through a role-based admin dashboard.

Hostiva
A comprehensive multi-tenant SaaS platform providing a complete digital operations toolkit for the hospitality industry. Serves public visitors, business owners/staff, and super admins with strict data isolation between tenants.
Ready to Build Something Exceptional?
Whether you need a full-stack web application, SaaS platform, booking system, or a premium portfolio site — let's architect something production-ready and deployed on Vercel or your preferred cloud.
Usually responds within 24 hours · Based in GMT+5:45 · Available for international projects
