Application Design 2 - Final Project
Final Project & E-Portfolio (Week 11–14, 40%):
- Finalize and submit your complete working app (30%).
- Reflect on teamwork and your design journey in your e-portfolio (10%).
- Submit PDF slides + online reflection posts.
For this project, I focused on reviewing and refining the checkout and payment flow to make the user experience feel more realistic and intuitive. After finalising the payment page design, I planned to continue polishing the remaining animations in the app.
A. The Issues in Cart Totals:
- RM0.24 (SST) is already a valid decimal for e-payment.
- There should be no rounding applied when using e-wallets, cards, or online banking.
- The rounding of RM0.04 is not needed and incorrect here.
- E-Wallet options included logos, which visually cluttered the section.
- There was an extra “Submit” button under the card fields, which was confusing — should users tap “Submit” or “Next”?
- Focus borders on the input fields looked inconsistent, affecting overall UI polish.
- Removed the “Submit” button — now the user is guided clearly to tap only the “Next” button.
- Standardized input field styles for a more polished and professional appearance.
- Removed e-wallet logos to reduce visual noise and maintain a minimal, streamlined look.
- Adjusted spacing and alignment to make the layout feel more compact and balanced.
- The screen now provides a clearer, distraction-free experience for users navigating payment options.
I tried cleaning up both the Shipping and Payment sections to improve accuracy and visual clarity. For the shipping screen, I removed the unnecessary rounding fee (RM0.04), as RM0.24 is already a valid SST charge and there’s no rounding required when using digital payment methods like e-wallets or credit cards. On the payment screen, I simplified the design by removing brand logos from the e-wallet options, which were previously causing visual clutter. I also removed the redundant “Submit” button beneath the credit card input fields, as it created confusion between pressing “Submit” or “Next.” These adjustments help streamline the user flow and make the checkout process cleaner, more intuitive, and closer to real-world standards.
CheckoutShippingPage) — the second step in the checkout flow. This ensures a smooth, guided experience as users proceed through the purchase process.After selecting their address, users are directed here to choose a delivery option. Two delivery types are displayed: Express Delivery (within 2 hours during operating hours) and Standard Delivery (within 3–8 working days). Below the options, a summary of the cart totals is provided, including item subtotal, delivery fee, SST (6%), and the final total. Once the user confirms their delivery choice, tapping the “Next” button will navigate them to the Payment Page.
Mr. Razif advised that the payment flow should look and feel like a real app, so I started by watching YouTube tutorials to better understand how actual payment systems work. But I quickly realised — since the Guardian app is only a prototype and not a live app, I can't actually set it up to process real transactions or receive payments.
So instead, I turned to apps that I already use in real life, like Shopee and Maybank2u, and studied how their payment flows work. I explored each step, from selecting a payment method to completing a transaction. Based on those insights, I redesigned the Guardian payment page in FlutterFlow to feel more realistic and familiar to users. I simplified the layout, made small UI adjustments, and aimed to keep it as close as possible to real-world payment experiences — while still making sure it's functional and practical for a test environment.
In Confirm Payment Page (Step 2 of 3), users are prompted to perform Secure Verification. A notice informs them that a notification will be sent to their smartphone to approve or reject the transaction. This step mimics real FPX flow, helping simulate a trusted, real-world banking experience within the app prototype. Users can then tap “Confirm” to proceed to the final transaction screen.
Upon successful approval, users are directed to the Final Confirmation Page (Step 3 of 3). This screen shows the payment status marked as “Successful,” along with a full summary that includes the reference number, transaction date and time, total amount paid, merchant details (Guardian Malaysia), and updated account balance. There are also options to return to the merchant’s page or print the receipt. This complete simulation was designed to mirror the FPX online banking experience, enhancing user trust and adding credibility to the checkout process — even within a prototype environment.
After the successful Maybank2u transaction, users are redirected back to the merchant app where they land on the Order Status page. This screen confirms that the order has been placed, using a cheerful illustration and a brief message to reassure users that everything went smoothly. By tapping “Next,” users are brought to the Payment Status page, which displays a confirmation that the payment has been completed along with a thank-you message. From here, users can choose to either request an E-Invoice or go back to the cart.
If users tap “Request for E-Invoice,” they’re directed to the E-Invoice page, which contains a full summary of their transaction — including the order ID, delivery method, address, time and date, and a breakdown of the charges. The screen also offers options to download the invoice or return to the cart. These final touches not only help simulate a real-world shopping experience but also reinforce user trust by providing clear documentation of the purchase.
After completing the payment process and reviewing the E-Invoice, users can return to the cart, which now redirects to the Empty Cart page. This screen gently informs users that their cart is currently empty, using a friendly message and cheerful illustration to encourage them to start shopping again. The “Start Shopping” button is clearly presented to lead users back to the product selection flow, ensuring a seamless loop between purchase and repurchase. This reinforces an intuitive and continuous shopping experience, encouraging re-engagement in a natural, user-friendly way.
On the Product Detail page, when the user taps the “+1” button to select quantity and then clicks the Add to Cart Icon, the cart icon at the top right smoothly rotates left and right, giving a visual cue that the item has been added. At the same time, the cart item count increases by one, and a confirmation message briefly appears on screen with the text “Added to Cart.” This combination of motion, count update, and feedback message creates a seamless and reassuring user experience, letting users know their action was successful.
On the E-Invoice page, when users tap the “Download” button, a downloaded confirmation message pops up to let them know the invoice has been successfully saved. This feedback adds clarity and reassures users that the action was completed.
Week 14
- In the web version, some Lottie animations may not fully load on the first visit due to rendering limitations. If the animations appear incomplete, simply reload the page to see the full animation flow as intended — matching the walkthrough video experience.
Due to limitations in FlutterFlow, the countdown timer in the payment process does not auto-start. Instead, I’ve set it so that when users tap the countdown container, the timer will begin manually. This simulates the intended behavior within current platform constraints.
Working on this final project has been both a challenging and rewarding experience that pushed me to apply everything I’ve learned in UI/UX design, animation, and app prototyping. The goal was to redesign the Guardian app with a focus on enhancing the checkout and payment flow while making the entire user experience more polished, intuitive, and realistic. From the start, I wanted the app to feel close to a functioning product, even though it’s a prototype. To achieve that, I did research on real platforms like Shopee and Maybank2u, using them as references to design flows that users are already familiar with.
Throughout the process, I constantly refined the user flow, from the Sign-In and Sign-Up system to the multi-step checkout process — including Address, Shipping, Payment Method, and Order Summary pages. I made sure the logic, transitions, and feedback were clear. I also explored how to simulate a real FPX payment process, even within the limitations of FlutterFlow. For instance, I manually designed the countdown timer to start on tap and created the illusion of real banking flow through a series of linked pages that resemble Maybank2u’s UI.
In terms of visual and interactive enhancements, I paid close attention to microanimations and feedback cues. I added animations to the cart icon when items are added, a pop effect for the like button, a confirmation message when items are added to the cart, and even included a Virtual Try-On feature for nail products with a snapshot function — all to make the app feel more responsive and engaging. The Category Bar auto-slide and Lottie-based loading screen also contributed to a more dynamic user interface.
Of course, there were some platform limitations — for example, some Lottie animations don’t auto-play properly on first load in web view, and automatic countdown logic isn’t supported, but I worked around them creatively to preserve the user experience. These small challenges helped me better understand how to balance design intention with technical constraints.
This project has significantly improved my understanding of user-centered design, prototyping in FlutterFlow, and how small details like animations and flow validation can greatly improve usability. It also reminded me that good UX isn’t just about clean visuals — it’s about guiding users naturally and giving them clarity at every step. I'm proud of how far this project came, and it has given me more confidence in both designing and communicating interactive experiences that feel real and thoughtful.

.jpg)
.png)
.jpg)
Comments
Post a Comment