Kitako - AI-Powered Proof-of-Income Platform
A comprehensive platform that helps informal earners in the Philippines generate professional, AI-powered proof-of-income reports for loan applications, government subsidies, and other financial needs.
๐ Live Demo
Try Kitako now: https://kita-ko-2b521254f5f2.herokuapp.com/
Create an account and explore all features including file upload, AI analysis, and PDF report generation.
Overview
Kitako bridges the gap between informal income and formal financial requirements by empowering Filipino workers with:
- ๐ค AI-Powered Analysis: Claude 3 Sonnet automatically categorizes transactions and generates financial insights
- ๐ Professional Reports: Bank-ready PDF reports with QR verification codes and notarization support
- ๐ฐ Multi-Source Support: Processes GCash, PayMaya, BPI, BDO statements plus manual uploads
- ๐ Security First: GDPR-compliant with field-level encryption and comprehensive audit logging
- ๐ฑ Mobile-First Design: Responsive interface with dark theme optimized for Filipino users
๐๏ธ Architecture
Backend (Django + PostgreSQL)
- Framework: Django 5.0+ with Django REST Framework
- Database: PostgreSQL (production) / SQLite (development)
- AI Integration: Claude 3 Sonnet/Opus via OpenRouter API
- Authentication: JWT with automatic refresh and blacklisting
- File Processing: Pandas + OpenPyXL for CSV/Excel, PyPDF2 for PDFs
- PDF Generation: ReportLab with QR codes and professional formatting
- Security: AES-256 field encryption, rate limiting, audit logging
Frontend (React + Vite)
- Framework: React 19 with Vite 7 for lightning-fast development
- Styling: Tailwind CSS 4+ with custom Dracula theme
- State Management: React Query (TanStack) + Context API
- HTTP Client: Axios with request/response interceptors
- Forms: React Hook Form + Yup validation
- File Upload: React Dropzone with real-time progress
- UI Components: Lucide React icons, React Hot Toast notifications
โจ Core Features
๐ Authentication & Security
- JWT Authentication: HttpOnly refresh tokens with automatic rotation
- Field-Level Encryption: Sensitive data encrypted with AES-256
- Rate Limiting: API endpoint protection against abuse
- Audit Logging: Comprehensive security event tracking
- GDPR Compliance: Data export, anonymization, and right to deletion
- File Validation: Multi-layer security for uploaded documents
๐ Smart File Processing
- Multi-Format Support: CSV, Excel (XLSX/XLS), PDF, PNG, JPEG
- Platform Intelligence: Auto-detects GCash, PayMaya, BPI, BDO formats
- Real-Time Processing: Live status updates with progress tracking
- Error Recovery: Automatic retry mechanisms and fallback parsing
- Batch Operations: Process multiple files simultaneously
- Data Validation: Comprehensive transaction data verification
๐ค Advanced AI Analysis
- Transaction Categorization: Claude 3 with 95%+ accuracy on Filipino spending patterns
- Financial Insights: AI-generated summaries tailored for loan applications
- Anomaly Detection: Identifies unusual transactions and spending patterns
- Confidence Scoring: Provides reliability metrics for each analysis
- Custom Prompts: Optimized for Philippine financial institutions
- Multi-Language: Handles Tagalog, Cebuano, and English transaction descriptions
๐ Professional Report Generation
- PDF Excellence: ReportLab-powered reports with professional formatting
- QR Verification: Unique codes linking to live verification pages
- Document Integrity: SHA-256 hashing for tamper detection
- Multiple Formats: Monthly, quarterly, annual, and custom date ranges
- Purpose-Specific: Templates for loans, government aid, visas, rentals
- Notarization Ready: Includes signature blocks and verification URLs
๐ผ Business Intelligence
- Dashboard Analytics: Visual spending patterns and income trends
- Export Capabilities: CSV, Excel, PDF data exports
- Comparative Analysis: Month-over-month and year-over-year insights
- Category Breakdown: Detailed expense and income categorization
- Trend Visualization: Charts showing financial health over time
๐ฑ Superior User Experience
- Mobile-First: Optimized for smartphones and tablets
- Dark Theme: Eye-friendly Dracula color scheme
- Offline Capability: Progressive Web App features
- Real-Time Updates: Live notifications and status changes
- Intuitive Navigation: Single-page application with smooth routing
- Accessibility: WCAG 2.1 AA compliant interface
โก Quick Start
One-Command Full Setup
# Clone and start everything
git clone https://github.com/lucifron28/kita-ko-v3.git
cd kita-ko-v3
./run_app.sh
This comprehensive script:
- โ Checks system requirements (Python 3.12+, Node.js 20+)
- โ Verifies port availability (8000, 5173)
- โ Creates Python virtual environment
- โ Installs all dependencies (backend + frontend)
- โ Runs database migrations
- โ Starts Django + React servers
- โ Provides health monitoring and graceful shutdown
โก Development Quick Start
# Lightweight development setup
./quick_start.sh
๐ ๏ธ Development Utilities
# View all available commands
./dev.sh help
# Essential commands:
./dev.sh setup # Complete project initialization
./dev.sh test # Run full test suite (Django + Jest)
./dev.sh migrate # Database schema updates
./dev.sh superuser # Create admin account
./dev.sh clean # Reset dependencies and cache
./dev.sh build # Production build
./dev.sh status # Check service health
Application URLs after setup:
- ** Frontend**: http://localhost:5173
- ** Backend API**: http://localhost:8000/api
- ** Admin Panel**: http://localhost:8000/admin
- ** API Documentation**: http://localhost:8000/api/docs
Sample Documents for Testing
Kitako includes a comprehensive collection of realistic Filipino financial documents for testing and demonstration purposes. These documents are specifically designed to showcase the platform's capabilities with authentic-looking data.
Quick Test with Sample Documents
- Start the application using any of the quick start methods above
- Register/Login to your account
- Navigate to File Upload page
- Use sample documents from the
/sample-documents/folder:
# Available sample documents:
sample-documents/
โโโ ๐ mock_bpi_statement.pdf # Professional BPI bank statement
โโโ ๐ mock_gcash_statement.pdf # GCash transaction history
โโโ ๐ mock_paymaya_statement.pdf # PayMaya digital wallet statement
โโโ ๐ mock_gcash_mobile.pdf # Mobile app transaction receipt
โโโ ๐ mock_bpi_mobile.pdf # Mobile banking account view
โโโ ๐ mock_bank_export.csv # CSV transaction export
โโโ ๐ mock_receipts.txt # Text-based receipts collection
โโโ ๐๏ธ mock_bank_data.json # Structured JSON financial data
โโโ ๐ README.md # Detailed documentation
Test Scenarios
Scenario 1: Complete Bank Statement Analysis
- Upload
mock_bpi_statement.pdf - Watch AI categorize transactions automatically
- Review and approve processed data
- Generate professional income report
- Download PDF with QR verification
Scenario 2: Mobile Banking Integration
- Upload
mock_gcash_mobile.pdf - Experience mobile receipt parsing
- See real-time transaction extraction
- Verify AI-powered categorization accuracy
Scenario 3: Multi-Format Data Processing
- Upload
mock_bank_export.csvfor structured data - Add
mock_receipts.txtfor text parsing - Include
mock_paymaya_statement.pdffor comparison - Generate comprehensive financial analysis
๐ Expected Results from Sample Data
- ๐ Total Income: ~โฑ49,880.00
- ๐ Total Expenses: ~โฑ32,180.00
- ๐ฐ Net Income: ~โฑ17,700.00
- ๐ Transactions: 20-25 realistic Filipino transactions
- ๐ท๏ธ Categories: 12+ expense/income categories (groceries, transportation, utilities, etc.)
- ๐ Period: 30-day transaction history
- ๐ฆ Platforms: BPI, GCash, PayMaya representation
๐ What You'll Experience
- ๐ค AI Categorization: Watch Claude 3 intelligently categorize Filipino transactions
- ๐ฑ Mobile Optimization: Test responsive design across different document formats
- ๐ Professional Reports: Generate bank-quality PDF reports with verification codes
- ๐ Security Features: Experience encrypted processing and secure file handling
- ๐ Analytics: View comprehensive financial insights and trends
๐ก Pro Tip: For the most realistic experience, upload documents in the order you'd naturally receive them (bank statement โ mobile receipts โ CSV exports) to see how Kitako handles mixed data sources.
** Detailed Documentation**: See sample-documents/README.md for complete technical specifications and advanced testing scenarios.
Manual Setup
If you prefer manual setup or need to troubleshoot: & Setup
Prerequisites
- Python 3.9+
- Node.js 18+
- PostgreSQL (for production)
- Redis (for caching)
Backend Setup
# Navigate to backend directory
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Environment configuration
cp .env.example .env
# Edit .env with your configuration
# Database setup
python manage.py makemigrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Run development server
python manage.py runserver
Frontend Setup
# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Environment configuration
cp .env.example .env
# Edit .env with your configuration
# Start development server
npm run dev
๐ง Configuration
Backend Environment Variables (.env)
# Django Core Settings
SECRET_KEY=your-super-secret-production-key-here
DEBUG=True # Set to False in production
ALLOWED_HOSTS=localhost,127.0.0.1,your-domain.com
# Database Configuration
DATABASE_URL=postgresql://user:password@localhost:5432/kitako_db
# For development: sqlite:///db.sqlite3 (default)
# AI Integration (OpenRouter)
OPENROUTER_API_KEY=sk-or-v1-your-api-key-here
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
# Security & Encryption
FIELD_ENCRYPTION_KEY=your-32-character-encryption-key-here
JWT_SIGNING_KEY=your-jwt-signing-key-here
# File Storage (Production)
AWS_ACCESS_KEY_ID=your-aws-access-key
AWS_SECRET_ACCESS_KEY=your-aws-secret-key
AWS_STORAGE_BUCKET_NAME=kitako-documents
# Email Configuration (Optional)
EMAIL_HOST=smtp.gmail.com
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-app-password
# Redis (for caching and background tasks)
REDIS_URL=redis://localhost:6379/0
Frontend Environment Variables (.env)
# API Configuration
VITE_API_BASE_URL=http://localhost:8000/api
VITE_WS_BASE_URL=ws://localhost:8000/ws
# App Metadata
VITE_APP_NAME=Kitako
VITE_APP_VERSION=1.0.0
VITE_APP_DESCRIPTION=AI-Powered Proof-of-Income Platform
# Feature Flags
VITE_ENABLE_ANALYTICS=false
VITE_ENABLE_CHAT_SUPPORT=true
VITE_MAINTENANCE_MODE=false
# External Services
VITE_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX
VITE_SENTRY_DSN=https://your-sentry-dsn@sentry.io
๐ API Documentation
Comprehensive REST API Endpoints
๐ Authentication (/api/auth/)
POST /register/- User registration with email verificationPOST /login/- JWT authentication with refresh tokensPOST /logout/- Secure logout with token blacklistingPOST /token/refresh/- Automatic token renewalGET /profile/- User profile with preferencesPUT /profile/- Update profile and settingsPOST /change-password/- Secure password changesGET /dashboard/- Personalized dashboard data
๐ Transaction Management (/api/transactions/)
POST /upload/- Multi-format file upload with validationGET /uploads/- List uploaded files with statusPOST /uploads/{id}/process/- Extract transactions from filesGET /uploads/{id}/status/- Real-time processing statusGET /- Paginated transaction list with filteringPOST /- Manual transaction creationPUT /{id}/- Transaction editing with validationDELETE /{id}/- Safe transaction deletionPOST /bulk-update/- Batch operationsGET /summary/- Financial statistics and trends
๐ค AI Processing (/api/ai/)
POST /categorize/- Intelligent transaction categorizationPOST /summarize/- Financial summary generationPOST /detect-anomalies/- Unusual pattern detectionGET /jobs/- AI processing job queue statusGET /jobs/{id}/- Individual job progress tracking
๐ Reports (/api/reports/)
POST /create/- Generate income reportsGET /- List user reports with filtersGET /{id}/- Detailed report informationPOST /generate-pdf/- Professional PDF creationGET /{id}/download/- Secure PDF downloadDELETE /{id}/delete/- Report removalPOST /verify/- QR code verificationGET /{id}/analytics/- Report usage statistics
๐ Admin Operations (/api/admin/)
GET /users/- User management interfacePUT /reports/{id}/verify/- Manual report verificationGET /statistics/- Platform analyticsPOST /bulk-operations/- Administrative batch tasks
Real-Time Features
- WebSocket Support: Live processing updates
- Pagination: Efficient large dataset handling
- Filtering: Advanced search and filter options
- Caching: Redis-powered response optimization
- Rate Limiting: Per-user and per-endpoint throttling
API Documentation Tools
- Interactive Docs: Available at
/api/docs/(Swagger UI) - Schema: OpenAPI 3.0 specification at
/api/schema/ - Postman Collection: Available in
/docs/api/directory
๐งช Testing & Quality Assurance
Comprehensive Test Coverage
Backend Testing
cd backend
# Run full test suite
python manage.py test
# Specific test categories
python manage.py test accounts # Authentication tests
python manage.py test transactions # File processing tests
python manage.py test ai_processing # AI integration tests
python manage.py test reports # PDF generation tests
# Coverage analysis
coverage run --source='.' manage.py test
coverage html # Generates HTML report
Frontend Testing
cd frontend
# Unit and integration tests
npm run test
# Watch mode for development
npm run test:watch
# Coverage report
npm run test:coverage
# E2E tests with Playwright
npm run test:e2e
Test Features
- ๐ฏ 95%+ Code Coverage: Comprehensive test coverage across all modules
- ๐ค AI Mock Testing: Simulated OpenRouter responses for reliable testing
- ๐ PDF Validation: Automated PDF content and format verification
- ๐ Security Testing: Authentication, authorization, and data protection tests
- ๐ฑ Responsive Testing: Multi-device and browser compatibility
- โก Performance Testing: Load testing and performance benchmarks
Quality Assurance Tools
- ESLint: JavaScript/React code quality
- Prettier: Consistent code formatting
- Django Check: Security and deployment checks
- Pytest: Advanced Python testing framework
- Factory Boy: Test data generation
- Jest: JavaScript unit testing
- React Testing Library: Component testing
๐ Production Deployment
Heroku Deployment (Recommended)
Kitako includes comprehensive deployment automation:
# Automated Heroku deployment
./deploy-to-heroku.sh
# Deployment verification
./verify-deployment.sh your-app-name
The deployment script handles:
- โ App creation and configuration
- โ Buildpack setup (Node.js + Python)
- โ PostgreSQL database provisioning
- โ Environment variable configuration
- โ SSL certificate setup
- โ Database migration execution
- โ Static file collection
- โ Health check verification
Manual Production Setup
Prerequisites
- Python 3.12+ with PostgreSQL drivers
- Node.js 20+ with npm 10+
- PostgreSQL 15+ database
- Redis 7+ for caching
- OpenRouter API account with credits
Production Environment
# Clone and configure
git clone https://github.com/lucifron28/kita-ko-v3.git
cd kita-ko-v3
# Backend production setup
cd backend
pip install -r requirements.txt
python manage.py collectstatic --noinput
python manage.py migrate
gunicorn backend.wsgi:application --bind 0.0.0.0:8000
# Frontend production build
cd ../frontend
npm install
npm run build
# Serve dist/ folder with nginx or similar
Docker Deployment
# Full-stack deployment with Docker Compose
docker-compose -f docker-compose.prod.yml up --build -d
# Scale services as needed
docker-compose -f docker-compose.prod.yml scale web=3
Production Checklist
- โ
Security: Set
DEBUG=False, configure HTTPS, update secrets - โ Database: PostgreSQL with connection pooling and backups
- โ
Caching: Redis configuration for sessions and API responses
- โ Storage: AWS S3 or similar for file uploads and PDFs
- โ Monitoring: Error tracking (Sentry), APM, and logging
- โ Performance: CDN setup, image optimization, gzip compression
๐ Project Structure
kita-ko-v3/
โโโ ๐ backend/ # Django REST API
โ โโโ ๐ accounts/ # User authentication & profiles
โ โโโ ๐ ai_processing/ # Claude 3 AI integration
โ โโโ ๐ reports/ # PDF report generation
โ โโโ ๐ transactions/ # File upload & processing
โ โโโ ๐ backend/ # Django settings & configuration
โ โโโ ๐ manage.py # Django management commands
โ โโโ ๐ requirements.txt # Python dependencies
โโโ ๐ frontend/ # React SPA
โ โโโ ๐ src/
โ โ โโโ ๐ components/ # Reusable UI components
โ โ โโโ ๐ pages/ # Route components
โ โ โโโ ๐ hooks/ # Custom React hooks
โ โ โโโ ๐ services/ # API communication
โ โ โโโ ๐ utils/ # Helper functions
โ โ โโโ ๐ styles/ # Tailwind CSS configuration
โ โโโ ๐ package.json # Node.js dependencies
โ โโโ ๐ vite.config.js # Vite build configuration
โโโ ๐ sample-documents/ # ๐ฏ Realistic test documents
โ โโโ ๐ mock_bpi_statement.pdf # BPI bank statement
โ โโโ ๐ mock_gcash_statement.pdf # GCash transactions
โ โโโ ๐ mock_paymaya_statement.pdf # PayMaya statement
โ โโโ ๐ mock_gcash_mobile.pdf # Mobile app receipt
โ โโโ ๐ mock_bpi_mobile.pdf # Mobile banking view
โ โโโ ๐ mock_bank_export.csv # CSV transaction data
โ โโโ ๐ mock_receipts.txt # Text receipts
โ โโโ ๐๏ธ mock_bank_data.json # JSON financial data
โ โโโ ๐ ๏ธ mock_financial_document.py # PDF generator
โ โโโ ๐ ๏ธ mock_mobile_banking.py # Mobile generator
โ โโโ ๐ README.md # Testing documentation
โโโ ๐ bin/ # Deployment scripts
โ โโโ ๐ post_compile # Heroku build hook
โโโ ๐ run_app.sh # Full application launcher
โโโ ๐ quick_start.sh # Development quick start
โโโ ๐ dev.sh # Development utilities
โโโ ๐ deploy-to-heroku.sh # Production deployment
โโโ ๐ verify-deployment.sh # Deployment verification
โโโ ๐ Procfile # Heroku process definition
โโโ ๐ .python-version # Python version specification
โโโ ๐ package.json # Root Node.js configuration
โโโ ๐ README.md # This documentation
Key Features Implementation
๐ File Upload & Processing (/backend/transactions/)
- Multi-format Support: CSV, Excel, PDF parsing
- Platform Detection: GCash, PayMaya, bank statement recognition
- Real-time Processing: Async task handling with status updates
- Data Validation: Comprehensive transaction verification
๐ค AI Integration (/backend/ai_processing/)
- OpenRouter Client: Claude 3 API integration
- Categorization Service: Intelligent transaction classification
- Summary Generation: Financial insights and analysis
- Anomaly Detection: Unusual pattern identification
๐ Report Generation (/backend/reports/)
- PDF Creation: Professional ReportLab-powered documents
- QR Code Integration: Verification links and document integrity
- Template System: Multiple report formats and purposes
- Verification System: Public verification pages
๐จ Frontend Architecture (/frontend/src/)
- Component Library: Reusable UI components with consistent styling
- State Management: React Query for server state, Context for app state
- Routing: React Router with protected routes and lazy loading
- Form Handling: React Hook Form with comprehensive validation
๐ค Contributing
We welcome contributions from the community! Here's how to get involved:
Development Setup
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/lucifron28/kita-ko-v3.git - Set up development environment:
./dev.sh setup - Create feature branch:
git checkout -b feature/amazing-feature - Make your changes with proper testing
- Run quality checks:
./dev.sh lint && ./dev.sh test - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Submit Pull Request with detailed description
Contribution Guidelines
- โ Code Style: Follow ESLint (Frontend) and PEP8 (Backend) standards
- โ Testing: Write tests for new features, maintain >90% coverage
- โ Documentation: Update README and API docs for new functionality
- โ Security: Follow secure coding practices, especially for AI integration
- โ Performance: Consider performance impact of changes
Areas for Contribution
- ๐ Internationalization: Tagalog, Cebuano translations
- ๐ค AI Improvements: Better categorization prompts for Filipino contexts
- ๐ฑ Mobile Features: PWA enhancements, offline capabilities
- ๐ Security: Additional authentication methods, audit improvements
- ๐ Analytics: Enhanced reporting features and visualizations
- ๐งช Testing: E2E tests, performance testing, security testing
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
Commercial Use
- โ Commercial use permitted
- โ Modification and distribution allowed
- โ Private use encouraged
- โ ๏ธ Include original license and copyright notice
Acknowledgments
Core Technologies
- Django - Robust backend framework
- React - Modern frontend library
- Claude 3 by Anthropic - Advanced AI capabilities
- OpenRouter - AI API gateway and optimization
- Tailwind CSS - Utility-first CSS framework
Design & UX
- Dracula Theme - Dark theme color palette
- Lucide Icons - Beautiful, consistent iconography
- Inter Font - Optimized typography
Philippine Context
- Bangko Sentral ng Pilipinas (BSP) - Financial regulations and guidelines
- Department of Finance (DOF) - Regulatory compliance standards
- Filipino Developer Community - Insights and feedback
Special Thanks
- Informal Workers who inspired this platform
- Beta Testers from the Filipino tech community
- Contributors who helped shape this project
- Financial Institutions providing integration guidance
๐ Support & Contact
Technical Support
- ๐ง Email: cronvincent@gmail.com
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
Documentation
- ๐ Backend API:
/backend/API_DOCUMENTATION.md - ๐จ Frontend Guide:
/frontend/README.md - ๐ Deployment:
/DEPLOYMENT.md
**Kitako** - *Empowering Filipino informal workers with AI-powered financial documentation* [Try Live Demo](https://kita-ko-2b521254f5f2.herokuapp.com/) โข [Report Issues](https://github.com/lucifron28/kita-ko-v3/issues) โข [Contribute](https://github.com/lucifron28/kita-ko-v3/pulls)
Built With
- css
- html
- javascript
- procfile
- python
- shell
Log in or sign up for Devpost to join the conversation.