Centro
Social Budgeting
Progressive Web App
Overview
Centro is a collaborative PWA social budgeting app that simplifies financial management. It offers a comprehensive view of financial situations for groups and individuals, promoting long-term financial planning with premade categories and smart split presets.
Centro is flexible, supporting manual and automated data input from any source, and it works seamlessly across mobile, web, watches, browser extensions, and smart speakers. With the application, financial management becomes effortless and enjoyable, ensuring data integrity and delivering personalized insights. It empowers users to take control of their finances and plan for a secure future.
Visit Live Site →
Details
Features and Functionality
- The application features income and expenses comparisons, including insights on YTY income and expenses variations
- Predictive analysis on consumption categories to ameliorate users' monthly budgeting forecasting.
- State-of-the-art OCR for recipt information capturing
- Instantaneous bank transaction updates
Design
Centro's design features an array of microservices that are all connected to a central API. The API is responsible for handling all business logic and data management, while the microservices are responsible for handling specific tasks.
The microservices are all containerized and deployed to a Kubernetes cluster.
Accounts
Manages user accounts and authentication
Users
Handles user-related operations, such as user profile managemnet and preferences
Vendors
Retrieves vendor information based on search queries to support financial transactions
Tags
Manages tags or labels associated with transcations for categorization and analysis
Survey
Facilitates surveys or questionnaires to gather user feedback and insights
User Preferences
Stores and retrieves user-sepcific preferences for a personalized experience
Forecasting
Provides forcasting capabilities to predict future budgeting trends
Notification
Handles user notification preferences, enabling push notifications via various channels
Banking Integration
Facilitates communication with third-party APIs (Plaid, Flinks, Teller) for banking integration and credential generation
Currency Converter
Provides currency conversion functionality using downstream data sources and caching
Technologies
Responsibilities
- Developed the frontend of the application using React, TypeScript, and GraphQL
- Architected the banking integration microservice schemas and API endpoints
- Implemented the bank transaction integration functionality using third-party APIs from Plaid, Flinks and Teller
- Implemented the CI/CD pipeline using GitHub Actions and Docker
- Performed unit and E2E testing using Jest, Cypress for the banking integration microservice and with other microservices respectively