Overview
At InternWare, I worked on backend systems powering event registration platforms, authentication systems, payment workflows, coupon management, and administrative tooling.
Unlike most of my personal projects at that time, these systems were used by real users and involved real payment processing, exposing me to production challenges and business requirements.
Impact
1. Session Persistence Improvement
Problem
Users were getting logged out whenever they refreshed the website and had to login again.
Solution
Implemented cookie-based session management to persist user sessions even after page refresh.
Impact
- Improved user experience.
- Reduced repeated authentication.
- Maintained user session across refreshes.
2. Authentication Architecture Improvement
Problem
We were dependent on Firebase for Google Authentication.
Any breaking change or issue in Firebase could potentially affect the login flow.
Solution
Implemented Google Authentication directly using Google's OAuth APIs.
Impact
- Reduced dependency on Firebase-specific implementation.
- Gained more control over authentication flow.
Personal Learning
This was the first time I implemented Google Authentication directly using Google's APIs.
3. Payment Architecture Improvement
Problem #1
Payment amount calculation was happening on the frontend.
Frontend values can be manipulated easily.
Solution
Moved amount calculation logic to the backend and used database values instead of trusting client input.
Impact
- Improved payment security.
- Centralized pricing logic.
- Prevented client-side manipulation.
Problem #2
Registration depended on the frontend calling the registration API after payment success.
A user could successfully complete payment and close the browser before registration happened.
Solution
Moved registration flow to webhook-based confirmation.
Registration now happens after receiving payment confirmation from the payment gateway.
Impact
- Reduced cases where users paid but were not registered.
- Improved consistency between payment and registration states.
4. Coupon System
Problem
Discount logic was hardcoded.
Whenever a new discount was needed, developers had to update the code.
This created dependency on the engineering team.
Solution
Built a coupon management system that allowed administrators to:
- Generate coupons.
- Expire coupons.
- Manage coupon lifecycle.
Impact
- Reduced developer dependency.
- Faster marketing execution.
- Improved operational flexibility.
5. Admin Panel
Built internal tooling for:
- Registration management.
- Student management.
- Marketing operations.
- Analytics visibility.
- RBAC.
Impact
Provided a single source of truth for event operations.