Loading project…
Loading project…
Oracle + ML expense platform
An intelligent expense governance platform tracking multi-currency subscriptions with AI-powered anomaly detection and a FastAPI / Oracle 21c backend.
Users subscribing to a growing number of digital services — streaming, SaaS tools, cloud storage, AI tools — lose track of what they collectively spend and when each renews. Existing personal finance tools are either too generic or too narrow, lacking subscription-specific intelligence like usage tracking, price-history, renewal forecasting, and behavioral anomaly detection. AURIXA closes that gap by combining rigorous relational database design with Oracle's enterprise features and a real machine learning engine.
AURIXA tracks scattered SaaS subscriptions, forecasts renewals, and uses scikit-learn anomaly detection to alert users to unusual spending, backed by normalized Oracle database schemas.
Full CRUD for subscriptions across 10 expense categories, with automated billing-cycle and price-history tracking via database triggers.
Every transaction is evaluated by a per-user Isolation Forest model to flag unusual spending, tuned to a 2% contamination rate to avoid false positives.
Personalized suggestions to cancel unused subscriptions, consolidate redundant services, or downgrade billing plans — with accept/dismiss actions and feedback loop.
Tracks spending across PKR, USD, EUR, and GBP with automatic conversion to the user's base currency throughout all analytics and reporting.
Spending patterns, category breakdowns, trend analysis, budget forecasts, and a financial health score — served from pre-computed materialized views for performance.
Every INSERT, UPDATE, and DELETE on critical tables is captured at the trigger level — independent of the application layer — for compliance and debugging.
29 fully normalized tables, 3 materialized views, 26 sequences, 5 triggers, and 55 indexes running on Oracle 21c XE. PL/SQL packages and Oracle Scheduler jobs handle business logic and periodic tasks entirely inside the database engine — keeping the application layer thin.
A modular REST API with 8 dedicated routers: auth, users, subscriptions, analytics, alerts, recommendations, wallet, and audit. Connects to Oracle via python-oracledb in thin mode — no Oracle Client installation required on the host machine.
JWT bearer token authentication with 15-minute access tokens and 7-day refresh tokens, stored hashed at rest with bcrypt. All protected endpoints require a valid access token — only registration and login are public routes.
The RiskRadar system trains a per-user Isolation Forest model on transaction history and evaluates every new transaction for anomalies at the time of insertion. Models are persisted and retrained on a rolling window to stay accurate as spending patterns evolve.
The full source — schema DDL, PL/SQL packages, FastAPI routes, ML engine, and test suite — is available on GitHub.