Product Requirements Document #
1. Overview #
ronilprasad8.tech is an advanced, interactive personal portfolio platform designed for Ronil Prasad, a Software Engineering student at the University of the South Pacific (USP). The platform aims to move beyond a static resume by showcasing technical competency through live, complex system architectures.
The core value proposition is the integration of "The GOAT", an intelligent, persona-driven AI assistant equipped with a multi-layered LLM failover architecture, live context awareness (time, location, and even sports scores), and persistent memory. The product solves the problem of a traditional, one-way portfolio by allowing recruiters, peers, and collaborators to interactively discover information about Ronil's skills, projects, and philosophy.
2. Goals & Objectives #
- Showcase Technical Mastery: Demonstrate proficiency in full-stack development, LLM API orchestration, and system reliability (failover mechanisms).
- Interactive Engagement: Increase visitor time-on-site through an engaging, conversational UI that answers questions in real-time.
- Professional Branding: Cement Ronil's brand as a "Methodical Planner" and a "Flawless Developer" who values structure and logic over chaos.
- Lead Generation & Networking: Provide seamless ways for users to view Ronil's CV, explore GitHub projects, and make contact.
3. Target Users / User Personas #
Behavior: Browses the About and Projects pages, expects quick access to contact info and a clear demonstration of capability. Will use the AI Assistant to ask professional questions.
Behavior: Creates an account to unlock the full AI Assistant. Asks technical questions, tests the failover logic, and reviews the Architecture documentation.
Behavior: Logs in with the admin email. Interacts with the AI Assistant which recognizes him as "Master" and stores global knowledge updates.
4. User Stories #
Public Visitors
- As a recruiter, I want to download the CV, so that I can review Ronil's qualifications offline.
- As a visitor, I want to see a list of projects, so that I can assess Ronil's practical experience.
- As a tech enthusiast, I want to read the Architecture page, so that I can understand the logic behind the multi-layered LLM failover.
Authenticated Users
- As a collaborator, I want to create an account via Google OAuth or Email, so that I can access the GOAT AI Assistant.
- As an authenticated user, I want to chat with the GOAT Assistant, so that I can learn about Ronil's skills and lifestyle in an interactive way.
- As an authenticated user, I want to have the AI remember my name and facts about me, so that I have a personalized conversation experience across sessions.
- As an authenticated user, I want to recover my password, so that I can regain access if I forget my login credentials.
The Owner
- As the Owner, I want the AI to recognize my specific email, so that it addresses me as Master and adapts its persona.
- As the Owner, I want to tell the AI new facts about myself, so that it learns and updates its global knowledge base for future interactions.
5. Features & Scope #
| Feature Area | Description | Status |
|---|---|---|
| Static Portfolio Pages | Home (Hero & Typewriter), About (Bio, Education, Skills Arsenal), Projects, Contact, Architecture documentation. | Implemented |
| Authentication System | Email/Password signup and login, Google OAuth login, Password Reset flow, and user profile creation in Firestore. | Implemented |
| GOAT AI Chatbot (UI) | Global floating widget and a dedicated full-page chat interface. Typewriter text effects and typing indicators. Gated behind authentication. | Implemented |
| LLM Failover Engine | Multi-tiered backend routing (Gemini Key Rotation -> Groq Llama 3.3) for high availability and rate-limit bypassing. | Implemented |
| Live Context Injection | AI is aware of current Fiji time, Ronil's likely activity (semester break, sleeping, at USP), and live sports results (Bayern Munich). | Implemented |
| Memory & Learning | AI extracts facts using `[LEARN_RONIL]` or `[LEARN_USER]` tags, persists them to Firestore, and retrieves them for context in future chats. | Implemented |
| Chat Logging | AI triggers `[SAVE_TRIGGER]` to log specific conversation interactions to the Firestore database. | Implemented |
6. Success Metrics #
Given the product is a personal portfolio and demonstration platform, success is measured by engagement and reliability:
- Engagement: Number of registered users (accounts created to access the chat).
- Interaction Depth: Average number of messages exchanged per chatbot session.
- System Reliability: Number of successful failover events (Groq triggers) vs. absolute API failures.
- Conversion: Number of clicks on the CV download link and outbound links to GitHub repositories.
7. Out of Scope / Future Considerations #
- Out of Scope: Content Management System (CMS) for updating projects or skills. These are currently hardcoded in the HTML templates for simplicity and performance.
- Out of Scope: Native mobile application. The web interface is responsive and sufficient for the target audience.
- Future Consideration: Expanded API integrations for the Live Context engine (e.g., pulling live commit history from GitHub or current playing track from Spotify).
- Future Consideration: Server-side route protection for the `/chat` API to prevent unauthorized direct API queries outside the UI.