xPA is a comprehensive personal assistant designed to help with daily management tasks, focusing initially on finance management and schedule management. The system is cloud-based with a web interface and leverages GenAI capabilities to enhance user experience.
xPA aims to be an intelligent personal assistant that helps users manage their daily lives more efficiently. By leveraging AI capabilities, xPA provides a natural and intuitive interface for managing finances, schedules, and more.
- Frontend: Next.js 15 (React 19)
- UI: Tailwind CSS v4 & shadcn/ui components with Lucide Icons
- Backend: AWS Amplify Gen 2 (serverless architecture)
- Authentication: Amazon Cognito with OIDC, SAML, and custom authentication flows
- API: GraphQL with AWS AppSync
- Database: Amazon DynamoDB with real-time capabilities
- Storage: Amazon S3 with fine-grained access control
- AI/ML:
- Amazon Bedrock (Claude, Nova, Llama)
- Amazon Rekognition
- Amazon Textract
- Deployment: AWS Amplify Hosting with CI/CD
xPA/
βββ amplify/ # AWS Amplify Gen2 configuration
β βββ auth/ # Authentication resources
β β βββ resource.ts
β βββ data/ # Data resources & AI conversations
β β βββ resource.ts # GraphQL schema + AI Kit setup
β βββ storage/ # S3 storage resources
β β βββ resource.ts
β βββ backend.ts # Backend configuration entry
βββ app/ # Next.js App Router
β βββ layout.tsx # Global root layout
β βββ (modules)/ # App modules (Route Group)
β β βββ layout.tsx # App layout with sidebar navigation
β β βββ page.tsx # Home dashboard (/)
β β βββ finance/ # Financial management (/finance)
β β βββ schedule/ # Schedule management (/schedule)
β β βββ assistant/ # AI assistant chat (/assistant)
β β βββ knowledge/ # Knowledge management (/knowledge)
β βββ auth/ # Authentication pages (Independent layout)
β β βββ layout.tsx # Centered auth layout
β β βββ page.tsx # Login page (/auth)
β β βββ verify-email/ # Email verification (/auth/verify-email)
β β βββ reset-password/ # Password reset (/auth/reset-password)
β βββ settings/ # Settings & preferences (Independent layout)
β β βββ layout.tsx # Settings navigation layout
β β βββ page.tsx # Settings overview (/settings)
β β βββ profile/ # User profile (/settings/profile)
β β βββ preferences/ # App preferences (/settings/preferences)
β βββ api/ # API routes
β βββ agent/ # AI agent endpoints
βββ components/ # Reusable React components
β βββ ui/ # Shadcn/UI base components
β βββ auth/ # Authentication components
β βββ finance/ # Finance management components
β βββ schedule/ # Schedule management components
β βββ assistant/ # AI assistant components (ChatBot, etc.)
β βββ shared/ # Shared application components
βββ lib/ # Utility functions & configurations
β βββ auth.ts # Authentication utilities
β βββ api.ts # API utilities
β βββ agents/ # AI agent configurations
βββ types/ # TypeScript type definitions
β βββ amplify.d.ts # Amplify-generated types
βββ styles/ # Global styles
β βββ globals.css # Global CSS styles
β βββ app.css # Application-specific styles
βββ public/ # Static assets
βββ amplify_outputs.json # Amplify configuration (auto-generated)
βββ package.json # Project dependencies
βββ next.config.js # Next.js configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
- Node.js (v22 or later)
- npm or yarn
- AWS Account
- AWS CLI configured with appropriate permissions
- Amplify CLI installed globally
- Clone the repository:
git clone https://github.com/your-username/xPA.git
cd xPA- Install dependencies:
npm install- Configure environment variables:
Create a
.env.localfile in the project root:
# Authentication Configuration
XPA_USER_POOL_ID=your-user-pool-id
XPA_USER_POOL_CLIENT_ID=your-user-pool-client-id
XPA_IDENTITY_POOL_ID=your-identity-pool-id
# API Configuration
NEXT_PUBLIC_GRAPHQL_ENDPOINT=your-graphql-endpoint
AWS_REGION=your-region
# AI Configuration
XPA_BEDROCK_ENDPOINT=your-bedrock-endpoint
XPA_BEDROCK_MODEL_ID=your-model-id
# Storage Configuration
XPA_S3_BUCKET=your-s3-bucket
- Start the Amplify sandbox (Back-end):
npx ampx sandbox --identifier my-sandbox
# Deploy to sandbox environment
npx dotenvx run --env-file=.env.local -- ampx sandbox- Start the development server (Front-end):
npm run dev-
Configure production environment variables in AWS Amplify Console
-
Deploy to production:
npx ampx deploy --env-name prod- Foundation & Core Features (Application Framework, Interface, Authentication)
- Finance Management (FinancialBrain) - Income/Expense Tracking, Budget Management, Financial Dashboard
- GenAI-Powered Assistant (Myners) - Real-Time Interaction, AI Agent Capabilities, Personalization
- Schedule Management (TimeGuardian) - Event Management, Task Management, Calendar View, Reminder System
- Cross-functional Integration - Financial events to calendar, expense forecasting
- Additional Modules - Document Management, Goal Tracking
- Family Sharing - Shared budgets, permission management
- Mobile Application (Android) - Push notifications, offline functionality, camera integration
This project is licensed under the GPLv3 License - see the LICENSE file for details.