π Live Demo: https://personax-demo-31q20kq5f-logeshkannan19s-projects.vercel.app
PERSONAX is an AI-powered personalization engine that helps businesses dynamically customize user experiences across websites, apps, and digital products.
- User Behavior Tracking - Track clicks, scrolls, time spent, navigation paths
- User Profile Engine - Build dynamic profiles with interests, behavior patterns, engagement scores
- AI Personalization - Content & product recommendations using collaborative filtering + AI
- Real-Time Decision Engine - Show personalized CTAs, modify UI dynamically
- Admin Dashboard - Analytics, segment management, rule builder
- JavaScript SDK - Easy integration with any website
- Auto Segmentation - AI-powered user clustering (New, Active, High-Value, At-Risk)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββββββ β
β β Landing β βDashboardβ β Analyticsβ β Login/Auth β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend API β
β ββββββββββββ βββββββββββ βββββββββββ ββββββββββββββββ β
β β Auth β β Events β βUsers β βRecommendationsβ β
β ββββββββββββ βββββββββββ βββββββββββ ββββββββββββββββ β
β ββββββββββββ βββββββββββ βββββββββββ ββββββββββββββββ β
β βSegments β β Rules β βAnalyticsβ β Webhooks β β
β ββββββββββββ βββββββββββ βββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββ βββββββββββββ βββββββββββββ
β PostgreSQLβ β Redis β β OpenAI β
β (Data) β β (Cache) β β (AI) β
βββββββββββββ βββββββββββββ βββββββββββββ
- Node.js 20+
- PostgreSQL 15+
- Redis 7+
# Backend
cd backend
npm install
cp .env.example .env
# Edit .env with your settings
# Frontend
cd ../frontend
npm installcd backend
npx prisma generate
npx prisma db push
# Optional: npx prisma db seed# Terminal 1 - Backend
cd backend
npm run dev
# Terminal 2 - Frontend
cd frontend
npm run dev- API: http://localhost:3001
- Frontend: http://localhost:3000
- Health: http://localhost:3001/health
cd docker
docker-compose up --buildPOST /api/auth/register- Create organization + admin userPOST /api/auth/login- LoginGET /api/auth/me- Get current user
POST /sdk/v1/track- Track user eventPOST /sdk/v1/track/batch- Batch track eventsGET /api/events/session/:id- Get session events
GET /api/users- List usersPOST /api/users- Create user
GET /api/profiles- List user profilesGET /api/profiles/:id- Get profile detailsPUT /api/profiles/:id- Update profile
GET /api/websites- List websitesPOST /api/websites- Create websiteGET /api/websites/:id/stats- Get website stats
GET /api/recommendations/:profileId- Get recommendationsPOST /api/recommendations/:id/click- Track clickPOST /api/recommendations/:id/convert- Track conversion
GET /api/analytics/overview- Dashboard overviewGET /api/analytics/realtime- Real-time visitorsGET /api/analytics/segments- Segment distributionGET /api/analytics/content- Top content
GET /api/segments- List segmentsPOST /api/segments/auto-generate- Auto-generate segments
GET /api/rules- List personalization rulesPOST /api/rules- Create rulePATCH /api/rules/:id/toggle- Toggle rule
<!-- Add to your website -->
<script>
window.personaxConfig = {
apiKey: 'pk_your_api_key',
websiteId: 'your_website_id',
track: ['clicks', 'scroll', 'time', 'forms'],
debug: true
};
</script>
<script src="https://cdn.personax.ai/personax.js"></script>
<!-- Or use npm -->
<!-- npm install @personax/sdk -->import Personax from '@personax/sdk';
const personax = new Personax({
apiKey: 'pk_xxx',
websiteId: 'xxx',
track: ['clicks', 'scroll']
});
// Track custom event
personax.track('purchase', { amount: 99, plan: 'pro' });
// Identify logged-in user
personax.identify('user_123', { email: 'user@example.com', plan: 'enterprise' });- Frontend: Next.js 14, Tailwind CSS, ShadCN UI, Recharts
- Backend: Node.js, Express, Prisma, Socket.IO
- Database: PostgreSQL, Redis
- AI: OpenAI GPT-4, Embeddings
- Deployment: Docker, AWS/Vercel/Railway
personax/
βββ backend/
β βββ src/
β β βββ auth/ # Authentication
β β βββ users/ # User management
β β βββ events/ # Event tracking
β β βββ recommendations/# AI recommendations
β β βββ analytics/ # Analytics
β β βββ segments/ # User segmentation
β β βββ rules/ # Personalization rules
β β βββ common/ # Shared utilities
β β βββ index.ts # Entry point
β βββ prisma/
β β βββ schema.prisma # Database schema
β βββ package.json
βββ frontend/
β βββ src/
β β βββ app/ # Next.js pages
β β βββ components/ # UI components
β β βββ lib/ # Utilities
β βββ package.json
βββ sdk/
β βββ javascript/ # Client SDK
βββ docker/
β βββ docker-compose.yml # Docker setup
βββ docs/
βββ README.md # This file
# Backend (.env)
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/personax
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-secret-key
OPENAI_API_KEY=sk-xxx
# Frontend (.env.local)
NEXT_PUBLIC_API_URL=http://localhost:3001anonymousId- Unique visitor IDinterests- Array of interest tagsengagementScore- 0-100 scorevisitCount- Total visitstotalDuration- Total time on sitelastActiveAt- Last activity timestamp
PAGE_VIEW- Page visitsCLICK- Button/link clicksSCROLL- Scroll depthTIME_ON_PAGE- Time trackingFORM_SUBMIT- Form submissionsPURCHASE- ConversionsSIGNUP/LOGIN- Authentication
NEW- β€2 visitsACTIVE- 20-60 engagement scoreHIGH_VALUE- β₯60 engagement scoreAT_RISK- Inactive 7-14 daysDORMANT- Inactive >14 days
# Backend tests
cd backend
npm test
# With coverage
npm test -- --coverageMIT License - see LICENSE file for details.
- Built with Next.js, Express, Prisma
- UI powered by ShadCN/Tailwind
- Charts by Recharts
PERSONAX β Transform anonymous visitors into engaged users with AI-powered personalization.