SecureInvest is a full-stack investment portfolio management platform built with ASP.NET Core, React, and a native SwiftUI iOS companion app. It enables users to track bonds, ETFs, shares, and mutual funds with real-time market pricing, cash flow analysis, profit/loss tracking, AI-powered portfolio insights, and automated email notifications. The platform features a comprehensive admin panel for user management, instrument CRUD operations, bulk ISIN price uploads, automated Excel portfolio exports, forgot/reset password flows, and many more options.
Building a production-grade investment platform that spans three distinct surfaces — a web dashboard, a mobile app, and a merchant-facing payment system. The core challenge was architecting a unified backend API that serves both the React SPA and the iOS app while maintaining robust JWT authentication, role-based access control (admin/user), account lifecycle management (pending/active/deactivated), and secure handling of sensitive financial data. Additionally, integrating an AI assistant with real-time tool calling capabilities to let users query portfolio metrics conversationally.
ASP.NET Core REST API with 15+ controllers covering auth, admin operations, bonds, ETFs, shares, funds, cash flows, payments, AI chat, ISIN price uploads, and account management. AutoMapper for DTO transformation, Swagger documentation, and CORS configured for production domains.
React 19 SPA with portfolio overview, per-instrument detail pages (bonds, ETFs, shares, funds), cash flow visualizations, payment tracking, admin control center, and AI assistant widget. Full Excel export with optional cash flow history.
Native SwiftUI application with Keychain-based secure session management, portfolio browsing, admin user management, instrument CRUD with cash flows and payments, ISIN price file upload, and account management. Shares the same ASP.NET backend via REST API.
Full lifecycle management for bonds (with YTM, coupon tracking, clean/dirty pricing), ETFs, shares, and mutual funds. Each instrument tracks nominal, buy/sell prices, market prices, profit/loss, fees, dividends, and settlement dates across multiple currencies with automatic EUR conversion.
Comprehensive cash flow engine tracking interim and principal cash flows, cumulative positions, real cash flows, and variances. Payment management with profit and tax allocation per bond. Full exportable history to Excel.
Integrated AI agent powered by OpenAI with tool-calling capabilities — can summarize portfolio, list bonds and upcoming payments, analyze cash flows, suggest rebalancing, and export reports. Context-aware with user-specific data and language preference.
Full user lifecycle management with three-tier account status (Pending, Active, Deactivated). Admins can create/edit/delete users, manage any user's instruments and cash flows, bulk-upload ISIN market prices via XLSX, reset passwords, and view account status history.
Automated transactional emails — password reset links, welcome messages with temporary passwords, account preparation notifications, and account restoration emails. Fully localized with HTML-formatted templates.
Plus many more features — account status history tracking, forgot/reset password flows, multi-currency EUR conversion, client profile management, bonds with YTM and coupon tracking, instrument expiration flags, settlement date tracking, and an extensible AI tool-calling architecture.
A native SwiftUI mobile application is still in active development by me, but already exists and is fully working for the time being. It shares the same ASP.NET Core backend, providing portfolio browsing, admin management, and instrument CRUD capabilities on the go via a comprehensive REST API client.