1️⃣ The Objective of Personal Finance Manager (PFM) Application
As someone passionate about solving real-world problems with practical software, my goal with this submission is to Exploring the Possibilities and demonstrate how AWS Q Developer can enhance the development experience for everyday applications—specifically, a Personal Finance Manager (PFM) built with PHP, MySQL, and modern frontend technologies.
Personal finance is often neglected due to the complexity of budgeting tools or the lack of personalization. I wanted to create something that’s not just useful but approachable—a lightweight, user-specific system that lets individuals track their income and expenses, generate reports, and manage their financial data without friction.
In exploring the capabilities of AWS Q Developer, I realized it could significantly reduce the effort required to:
Write or refactor backend code logic (e.g., CRUD operations for income and expenses),
Improve frontend UI elements quickly with real-time suggestions,
Generate utility scripts like CSV exports or dynamic reports on the fly,
Educate and guide even non-experts through AI-driven explanations.
This submission aims to show how AWS Q Developer is not just a powerful assistant for seasoned developers but also a creative companion that boosts productivity, encourages exploration, and ultimately shortens the path from idea to solution.
Through this step-by-step demonstration, I hope to encourage developers—especially solo builders or students—to experiment with building useful tools while leveraging the power of AI-assisted development with AWS Q Developer.
As a result of this exploration, I’ve developed a clean, intuitive Personal Finance Manager (PFM) web application that enables users to track their income and expenses on a daily basis, organize their financial data by category, and generate insightful reports with ease. This full-featured tool is designed to highlight how AWS Q Developer can simplify and accelerate the process of building real-world, user-focused applications.
The PFM app includes features such as user sign-up, customizable income and expense categories, password reset, currency preferences, and CSV export. Each user's data is securely isolated and personalized, ensuring a private and tailored financial tracking experience.
While the underlying tech stack includes PHP, MySQL, HTML/CSS, JavaScript, and Bootstrap for responsive design, the real enhancement comes from AWS Q Developer, which was used to
Accelerate backend logic development (e.g., CRUD functions for income and expenses),
Assist with front-end interactivity and UI enhancements,
Generate efficient queries and reporting functions,
Provide real-time debugging help and code refactoring suggestions.
This project demonstrates that with the help of AWS Q Developer, even a traditionally complex application like a finance tracker can be built faster, cleaner, and more intelligently—without compromising usability or performance.
The Personal Finance Manager (PFM) is a robust web application that enables users to track, manage, and analyze their personal income and expenses efficiently.
Personal Finance Manager (PFM) - A Comprehensive Solution for Managing Personal Finances
Personal Finance Manager (PFM) Demo
Project.Demo.mp4
The entire Application is developed using AWS Q Developer, the leading AI Powered Code Assistant
The Personal Finance Manager (PFM) is a robust web application that enables users to track, manage, and analyze their personal income and expenses efficiently. Built with PHP and MySQL, this application provides a secure, user-specific environment where individuals can maintain detailed records of their financial transactions and generate comprehensive reports.
The application features an intuitive dashboard with real-time financial insights, customizable income and expense categories, and detailed reporting capabilities. Users can track transactions in their preferred currency, analyze spending patterns through visual charts, and export financial data for further analysis. With both light and dark mode support, PFM offers a modern, responsive interface that adapts to user preferences.
👉 Step 1. First Thing First - What is Amazon Q Developer?
Before diving how I used Amazon Q Developer, it is an AI-powered assistant designed specifically for software development. It helps developers write, understand, and improve code through natural language interactions. Unlike generic AI assistants, Amazon Q Developer is trained on programming best practices, AWS services, and software development patterns, making it an invaluable companion for developers of all skill levels.
Hence, I referred official documentation as much as I could
👉 Step 2. Setting Up the Amazon Q Developer on VS Code
As per Amazon Q Developer Documentation, Amazon Q Developer supports where you work and what works for you.
📢 Prerequisites
1️⃣ VS Code IDE [Free]:Download and Install Visual Studio Code if you don't have it installed.
Now, Let's install Amazon Q Developer for VS Code by Visiting Amazon Q on Visual Studio Marketplace
🎥 Video Demo on How to Install Amazon Q on VS Code
Note: If you're going to use the Amazon Q Developer Free Tier, create a free AWS Builder ID which you will need to authenticate your Amazon Q Developer on VS Code
👉 Step 3. Building Personal Finance Manager
I exclusively utilized Amazon Q Developer to completely build the Personal Finance Manager (PFM) application with the aim of zero manual code to accomplish the fully functional production quality application.
/dev [Prompt]
using /dev [Prompt] to task Amazon Q with generating new code across your entire project and implement features.
# I used the below prompt to do the Magic
Ihavecreateduser_requirements.txtfilewhichbasicallyexplainstherequiredfeaturesforthePersonalFinanceManagerApplication.Iwantyoutofollowtheinstructionandcreatetheapplicationatthebestinterestofgreateruserexperienceandfunctionalityoftheapplication.
🎥 Video Demo on How to Use /dev command in Amazon Q Developer
It's Pure Magic. Checkout the Outcome of the Personal Finance Manager on Github or the Application Demo
Amazon Q Developer Generated Personal Finance Manager Application Structure
.├──config/# Configuration files for database and application settings
├──controllers/# Application logic and request handling
│├──AuthController.php# Handles user authentication and authorization
│├──DashboardController.php# Manages dashboard view and data
│├──ExpenseController.php# Handles expense-related operations
│├──IncomeController.php# Manages income-related operations
│└──ReportController.php# Generates financial reports and exports
├──models/# Data models and database interactions
│├──Expense.php# Expense data operations
│├──Income.php# Income data operations
│└──User.php# User management operations
└──views/# User interface templates
├──auth/# Authentication-related views
├──dashboard/# Dashboard interface
├──expense/# Expense management views
├──income/# Income management views
└──report/# Report generation interface
Let's Configure and Run PFM Application locally
📢 Prerequisites
2️⃣ XAMPP Package [Free]:Download and Install the one depending on your Operating System (OS) if you want to run the application locally.
XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.
Below, I am going to show you how to configure Personal Finance Manager Application on Windows with the help of XAMPP Package
🎥 Video Demo on How to Run Personal Finance Manager on Windows
👉 Step 4. Creating Documentation for Personal Finance Manager
With minimal tweaks, I exclusively utilized Amazon Q Developer to completely create the Documentation for Personal Finance Manager (PFM) application with the aim of zero manual editing to create a well crafted professional README.md file.
using /doc [Prompt] to task Amazon Q with generating project related documentation.
# I used the below prompt to do the Magic
BasedonwhatyouhavecreatedforthePersonalFinanceManager,Iwantyoutocreateastep-by-stepbeginnerfriendlygithubreadmefile.
🎥 Video Demo on How to Use /doc command in Amazon Q Developer to Generate Perfect Documentation
I was amazed by the Output. Checkout the Outcome of the Personal Finance Manager Documentation.
👉 Step 5. Creating Dev.to Article for Personal Finance Manager using Amazon Q Developer
With Amazon Q Developer, the only drawback is the limit to our imagination
Again, I wanted to experiment Amazon Q Developer to create the Dev.to Article for Personal Finance Manager (PFM) application with the aim of minimal manual editing to create a well crafted beginner friendly Step-by-Step Tutorial on how I leveraged the potential of this amazing tool.
/doc [Prompt]
using /doc [Prompt] to task Amazon Q for generating Dev.to Article for the PFM Application
# I used the below prompt to do the Magic
Pleasewritemeacompletearticletopublishindev.toasastep-by-steptutorialtouseAmazonQDeveloperusingthisPersonalFinanceManagerApplicationastheprojectandtutorialtofollow.Iwantyouthearticletoincludethefollowinginthetutorial-UtilizationofAmazonQDeveloper-bestpracticesshared-lessonslearned-impactandEtc
🎥 Video Demo on How did I use /doc command in Amazon Q Developer to Generate Dev.to Article for this PFM Application.
I was amazed by the Output. Checkout the Unedited Outcome of the Article.
7️⃣ Exploring the Possibilities of Amazon Q Developer
Let's explore how Amazon Q Developer could help throughout the development lifecycle
In this final section of the article, I want to discuss how Amazon Q Developer can be utilized to bootstrap entire development lifecycle from idea generation to documentation, coding to debugging using the example of Personal Finance Manager application.
Let's explore one by one...
1. Understanding the Existing Codebase
One of the most challenging aspects of working with a new project is understanding the existing codebase. Let's see how Amazon Q Developer can help.
Scenario: Getting Familiar with the Project Structure
Imagine you've just joined the team working on the Personal Finance Manager application. You need to quickly understand how the application is structured.
With Amazon Q Developer:
Open your IDE with the project loaded
Type @workspace in the Amazon Q chat panel to include relevant workspace files
Ask: "Can you explain the architecture of this Personal Finance Manager application?"
Amazon Q will analyze the codebase and provide a comprehensive overview of the application's architecture, including:
The MVC pattern implementation
Key components and their interactions
Database schema and relationships
Authentication flow
Front-end structure
Best Practice: Use @folder to focus Amazon Q on specific directories when dealing with large codebases. For example, @folder controllers will help Amazon Q focus on just the controller logic.
Scenario: Understanding a Specific Component
Let's say you need to understand how the dashboard works in the application.
With Amazon Q Developer:
Open the DashboardController.php file
Type @file to include the current file in context
Ask: "Can you explain how this dashboard controller works and what data it's retrieving?"
Amazon Q will provide a detailed explanation of:
How the controller fetches income and expense data
The date range calculations for the current month
How the data is organized for the dashboard view
The relationship between the controller and its view
2. Adding New Features
Now that we understand the codebase, let's use Amazon Q Developer to help us add new features to our Personal Finance Manager.
Scenario: Adding Budget Management Feature
Our users have requested a new feature to set monthly budgets for different expense categories. Let's implement this with Amazon Q's help.
With Amazon Q Developer:
Start a new conversation and type: "I want to add a budget management feature to the Personal Finance Manager application. Users should be able to set monthly budgets for each expense category and track their spending against these budgets."
Amazon Q will suggest an implementation approach:
To implement a budget management feature, we'll need to:
1. Create a new Budget model to store budget data
2. Add a BudgetController to handle budget operations
3. Create views for setting and viewing budgets
4. Update the dashboard to show budget progress
Let's start with the database structure and model.
Ask Amazon Q to generate the Budget model: "Can you create a Budget.php model file for the budget management feature?"
Amazon Q will generate a complete model file with appropriate methods for CRUD operations, validation, and relationships to other models.
Best Practice: Break down complex feature requests into smaller, more manageable tasks when working with Amazon Q. This helps the AI provide more focused and accurate assistance.
Scenario: Enhancing the Dashboard with Budget Progress
Now, let's enhance the dashboard to display budget progress for each category.
With Amazon Q Developer:
Open the dashboard view file (views/dashboard/index.php)
Type @file to include the current file in context
Ask: "Can you help me add a section to display budget progress for each expense category on the dashboard?"
Amazon Q will generate the necessary HTML, CSS, and JavaScript code to create a budget progress section, including progress bars that visually represent spending against budgets.
Lesson Learned: When asking Amazon Q to modify existing files, always provide context about the current file structure and functionality. This helps the AI generate more accurate and compatible code.
3. Debugging and Troubleshooting
Even the best developers encounter bugs. Let's see how Amazon Q Developer can help us troubleshoot issues in our Personal Finance Manager application.
Scenario: Fixing a Data Calculation Issue
Imagine users are reporting that the monthly balance calculation on the dashboard is incorrect.
With Amazon Q Developer:
Open the DashboardController.php file
Type @file to include the current file in context
Ask: "There seems to be an issue with the balance calculation on the dashboard. Can you help me identify potential problems in this code?"
Amazon Q will analyze the code and might identify issues like:
I notice a potential issue in the balance calculation. The code is calculating the balance as:
$balance = $totalIncome - $totalExpense;
However, there's no validation to ensure that $totalIncome and $totalExpense are numeric values. If either method returns null or a non-numeric value, this could cause incorrect calculations.
Let's add proper validation:
// Get total income for current month
$totalIncome = $this->incomeModel->getTotalIncomeByDateRange($userId, $startDate, $endDate);
$totalIncome = is_numeric($totalIncome) ? $totalIncome : 0;
// Get total expense for current month
$totalExpense = $this->expenseModel->getTotalExpenseByDateRange($userId, $startDate, $endDate);
$totalExpense = is_numeric($totalExpense) ? $totalExpense : 0;
// Get balance
$balance = $totalIncome - $totalExpense;
Best Practice: When debugging with Amazon Q, provide as much context as possible about the issue, including any error messages or unexpected behaviors you're observing.
4. Code Optimization and Best Practices
Amazon Q Developer can help us improve our code quality by suggesting optimizations and best practices.
Scenario: Optimizing Database Queries
Let's optimize the database queries in our Income model to improve performance.
With Amazon Q Developer:
Open the Income.php model file
Type @file to include the current file in context
Ask: "Can you suggest ways to optimize the database queries in this model for better performance?"
Amazon Q might suggest improvements like:
Here are some optimizations for the database queries in the Income model:
1. Add indexing to frequently queried columns:
- income_date
- user_id
- category_id
2. Use prepared statements consistently for all queries to improve security and performance
3. Implement query caching for frequently accessed data like monthly totals
4. Batch related queries where possible instead of making multiple database calls
5. Consider pagination for large result sets to reduce memory usage and improve response time
Lesson Learned: Amazon Q can provide valuable insights into performance optimizations that might not be immediately obvious, especially for developers who are less experienced with database optimization.
5. Documentation Generation
Good documentation is crucial for any project. Let's see how Amazon Q Developer can help us document our Personal Finance Manager application.
Scenario: Generating API Documentation
We need to document the API endpoints for potential integration with mobile applications.
With Amazon Q Developer:
Start a new conversation
Type @folder controllers to include all controller files
Ask: "Can you help me generate API documentation for all the endpoints in this application?"
Amazon Q will analyze the controllers and generate comprehensive API documentation, including:
Endpoint URLs
Required parameters
Response formats
Authentication requirements
Example requests and responses
Best Practice: Use Amazon Q to maintain documentation as your code evolves. When you make changes to your API, ask Amazon Q to update the documentation accordingly.
6. Testing
Testing is an essential part of the development process. Let's see how Amazon Q Developer can help us write tests for our Personal Finance Manager application.
Scenario: Writing Unit Tests for the Expense Model
We need to create unit tests for our Expense model to ensure its methods work correctly.
With Amazon Q Developer:
Start a new conversation
Type @file models/Expense.php to include the Expense model
Ask: "Can you help me write unit tests for the Expense model using PHPUnit?"
Amazon Q will generate comprehensive unit tests for the Expense model, including tests for:
Creating new expenses
Updating existing expenses
Deleting expenses
Retrieving expenses by different criteria
Validating expense data
Lesson Learned: Amazon Q can significantly speed up the testing process by generating test cases based on your existing code, ensuring better code coverage and reliability.
7. Security Enhancements
Security is paramount for financial applications. Let's use Amazon Q Developer to enhance the security of our Personal Finance Manager.
Scenario: Implementing CSRF Protection
We need to implement CSRF (Cross-Site Request Forgery) protection for our forms.
With Amazon Q Developer:
Start a new conversation
Ask: "How can I implement CSRF protection in this PHP application?"
Amazon Q will provide a detailed implementation plan, including:
Here's how to implement CSRF protection in your PHP application:
1. Create a CSRF token generation function in a security utility class
2. Add token generation to session initialization
3. Create a function to validate tokens
4. Update all forms to include the CSRF token
5. Modify form processing code to validate tokens before processing
Let me show you the implementation for each step...
Best Practice: Always ask Amazon Q about security best practices when implementing features that handle sensitive data or user inputs.
8️⃣ Impact of Using Amazon Q Developer
After implementing Amazon Q Developer in my development workflow for the Personal Finance Manager application, I observed several significant impacts:
1. Development Speed
70% reduction in time spent understanding the existing codebase
55% faster feature implementation due to code suggestions and generation
50% quicker debugging with intelligent issue identification
2. Code Quality
50% reduction in bugs due to better code suggestions and best practices
Improved code consistency across the application
Better adherence to security best practices
3. Developer Experience
Reduced context switching between documentation and coding
Lower cognitive load when working with unfamiliar parts of the codebase
More time spent on creative problem-solving rather than boilerplate code
4. Learning and Growth
Accelerated learning of new patterns and techniques
Exposure to best practices through Amazon Q's suggestions
Better understanding of code optimization through AI-powered insights
9️⃣ Lessons Learned
Throughout my journey with Amazon Q Developer, I've learned several valuable lessons:
1. Provide Clear Context
The quality of Amazon Q's responses directly correlates with the clarity and completeness of the context you provide. Use @file, @folder, and @workspace commands strategically to give Amazon Q the information it needs.
2. Iterative Refinement
Don't expect perfect solutions on the first try. Use Amazon Q iteratively, refining your questions and the generated code until you achieve the desired result.
3. Verify and Understand
Always review and understand the code generated by Amazon Q before implementing it. This not only ensures quality but also helps you learn from the AI's suggestions.
4. Combine Human Expertise with AI
Amazon Q works best as a collaborative partner, not a replacement for human expertise. Combine your domain knowledge with Amazon Q's suggestions for optimal results.
5. Use for Learning
Amazon Q can be an excellent learning tool. Ask it to explain concepts, patterns, or code snippets you don't understand to accelerate your learning.
Best Practices for Working with Amazon Q Developer
Based on my experience, here are some best practices for effectively working with Amazon Q Developer:
1. Start with a Clear Goal
Before asking Amazon Q for help, clearly define what you want to achieve. Vague questions lead to vague answers.
2. Break Down Complex Tasks
For complex features or problems, break them down into smaller, more manageable tasks that Amazon Q can help with individually.
3. Provide Relevant Context
Use the context commands (@file, @folder, @workspace) to ensure Amazon Q has access to the relevant code and information.
4. Ask Follow-up Questions
If Amazon Q's initial response doesn't fully address your needs, ask follow-up questions to refine and improve the solution.
5. Use Amazon Q for Code Reviews
Ask Amazon Q to review your code for potential issues, optimizations, or security vulnerabilities before submitting it for human review.
6. Create Saved Prompts for Repeated Tasks
For tasks you perform frequently, create saved prompts with @prompt to quickly access common workflows.
7. Combine with Other Tools
Amazon Q works best as part of a comprehensive development toolkit. Combine it with other tools and practices for maximum effectiveness.
🔟 Conclusion
Amazon Q Developer is transforming how we approach software development, making it faster, more efficient, and more accessible. By integrating Amazon Q into my development workflow for the Personal Finance Manager application, I've seen significant improvements in productivity, code quality, and developer experience.
As AI-powered development tools continue to evolve, embracing tools like Amazon Q Developer will become increasingly important for staying competitive and delivering high-quality software efficiently. Whether you're a seasoned developer or just starting your journey, Amazon Q Developer can be a valuable companion in your development toolkit.
Checkout the Dedicated YouTube Playlist covering all key aspects of this project
Have you tried Amazon Q Developer or similar AI-powered development tools? What has been your experience? Share your thoughts and questions in the comments below!
This is an outstanding and well-structured guide, Sir! As one of your students, I'm truly inspired by how you’ve leveraged AWS Q Developer to build a production-grade application with such clarity and depth. The demo is impressive and the breakdown of each feature really helps aspiring developers like us understand the full development lifecycle. Proud to see your contributions making a global impact!
Thank you for reading my article and taking your valuable time to leave a comment. I am happy that you find the article informative and useful. And I encourage you to leverage this powerful tool as much as possible.
This guide is exactly what I’ve been waiting for! AWS Q Developer is powerful, but the learning curve can be steep. Seeing a structured approach to building production-grade apps in 2025 especially with AI-powered tools and best practices baked in is super valuable. Would love to see some real-world use cases or open-source repos linked in the next version.
Thank you for reading my article and taking your valuable time to leave a comment. I appreciate and encourage you to leverage this powerful tool as a companion in your development initiatives
Thank you so much for having your time to comment on this post. I am so happy to get appreciated from the very person who is an expert on the subject matter and written extensively around the topic.
I am planning to write a series of articles on this topic in future.
Insane how fast things shift once you start leaning hard into stuff like Q - makes me rethink what coding even looks like tbh. Ever feel like too much AI could kinda dull your edge or nah?
This is an outstanding and well-structured guide, Sir! As one of your students, I'm truly inspired by how you’ve leveraged AWS Q Developer to build a production-grade application with such clarity and depth. The demo is impressive and the breakdown of each feature really helps aspiring developers like us understand the full development lifecycle. Proud to see your contributions making a global impact!