I'm always excited to take on complex challenges and solutions to deliver the best user experiences.
Portugal
https://josematoso.com
Piiply is a modern, full-featured debt management web application built with ASP.NET Core 9.0 that enables individuals to track, manage, and collect personal and business debts. The platform features automated email notifications, multi-currency support, internationalization (English/Portuguese), real-time payment tracking, and a responsive UI with dark/light themes.

Piiply is a debt management platform designed for individuals to manage personal financial obligations. Built with modern .NET technologies and following Clean Architecture principles, the application offers comprehensive tools for debt tracking, payment management, automated notifications, and financial reporting.
Create and track debts with detailed information (debtor name, email, amount, due date, description).
Support for both creditor and debtor perspectives (IsOwner).
Distinction between personal and business/service debts (DebtorType).
Real-time balance calculations and payment tracking.
Debt status management: Open, Partially Paid, Paid, Canceled, Overdue.
Priority-based sorting (overdue, due soon, regular).
Public debt pages for transparent sharing.
Due Today Notifications: automatic reminders every 10 minutes for debts due today.
Overdue Notifications: daily alerts at 9 AM UTC for debts overdue by more than two days.
Payment Confirmations: instant email confirmations when payments are recorded.
Debt Updates: notifications for debt creation, updates, and cancellations.
Duplicate prevention with database-backed tracking.
Personalized email content with creditor information.
Dynamic currency formatting for over 20 currencies (EUR, USD, GBP, BRL, JPY, CAD, AUD, etc.).
User-specific currency preferences stored in profile.
Automatic currency symbol and format detection.
Integration with external currency API for live exchange rates.
Consistent currency display across all pages and emails.
Full support for English and Portuguese.
Language toggle with persistent preference storage.
Localized UI elements, messages, and email templates.
Separate cultures for data formatting and UI display.
Resource-based translation system (.resx).
Real-time KPIs: Total Open Balance, Paid This Month, Overdue Count, Total I Owe.
Date range filtering for custom reporting periods.
Recent debts list with priority sorting.
Top debtors analysis.
Month-over-month payment comparison.
Export capabilities for financial records.
Integration with ASP.NET Core Identity and SSO support.
Email-based authentication with 6-digit confirmation codes.
Profile completion enforcement for new users.
Secure password reset functionality.
User profile management with currency preferences.
Framework: ASP.NET Core 9.0 (Razor Pages)
Database: PostgreSQL 16+ with Entity Framework Core 9.0
Caching: Redis 7.0+ with StackExchange.Redis
Background Jobs: Hangfire with PostgreSQL storage
Logging: Serilog with Sentry integration
Email: SMTP with HTML template generation
Frontend: Bootstrap 5, FontAwesome, and vanilla JavaScript
Styling: Custom CSS with iOS-optimized navigation and glassmorphism effects
Layered Architecture: clear separation between Presentation, Service, Data Access, and Infrastructure layers.
Service Layer Pattern: dedicated services for business logic (DebtDetailsService, DebtManagementService, DebtValidationService, etc.).
Repository Pattern: data access abstraction through IDebtRepository.
Outbox Pattern: reliable message processing with event sourcing.
Dependency Injection: comprehensive DI setup across all services.
DebtDetailsService: handles debt operations (get details, add payment, update, cancel).
DebtManagementService: CRUD operations and debt creation logic.
DebtValidationService: business rule validation.
DebtFilterService: search and filtering functionality.
DebtQueryService: advanced queries and pagination.
GenericEmailService: dynamic email notifications.
CurrencyFormattingService: currency formatting and symbol mapping.
LocalizationService: handles internationalization and resource management.
IdentityService: manages authentication and user profiles.
OutboxService: reliable event publishing and background processing.
OutboxProcessorJob: processes outbox events every 2 minutes.
DueTodayNotificationJob: checks for due debts every 10 minutes.
OverdueNotificationJob: sends overdue alerts daily at 9 AM UTC.
Cleanup Jobs: automatic cleanup of old notifications.
Users: integrates ASP.NET Identity with custom fields (FullName, MainCurrency, IsProfileComplete).
Debts: core debt entity linked to users and payments.
Payments: payment records associated with debts.
OutboxEvents: event sourcing for reliable processing.
DueTodayNotifications / OverdueNotifications: tracking and duplicate prevention.
HTTPS enforcement in production.
SQL injection prevention via Entity Framework.
XSS protection through Razor Pages.
CSRF protection enabled.
Secure cookie handling (HttpOnly, SameSite).
Profile completion middleware for access control.
Integrated Sentry monitoring for error tracking.
Redis distributed caching with 30-second expiration.
Cache invalidation on data changes.
Optimized queries with proper indexing.
Background job processing for non-blocking operations.
Hardware-accelerated CSS (translateZ(0)).
Lazy loading and pagination for large datasets.
Mobile-first approach using Bootstrap 5.
iOS-optimized navigation with safe area support.
Glassmorphism effects with backdrop blur.
Light/dark theme support with smooth transitions.
Touch-friendly UI components.
Accessibility compliance (ARIA labels, semantic HTML).
Personal debt management.
Freelance invoicing and payment tracking.
Small business debt and client payment management.
Shared expense tracking between individuals.
Personal loan tracking with payment schedules.
Docker Support: includes Dockerfile and docker-compose configuration.
CI/CD: GitHub Actions workflow for automated deployment.
Health Checks: built-in health check endpoints.
Monitoring: integrated Sentry for error and performance tracking.
Logging: structured logging with Serilog (console and file outputs).
Clean architecture with clear separation of concerns.
Modular and testable service layer.
Consistent error handling and validation.
Extensive logging for debugging and monitoring.
Resource-based localization for easy translation.
Modular configuration via extension methods.
Piiply represents a modern, scalable, and production-ready solution for personal and business debt management — combining advanced web technologies, thoughtful UX design, and a robust backend architecture.
Your email address will not be published. Required fields are marked *