Problem
Students often use AI as one general chatbot, which can make answers feel generic and disconnected from the actual study task.
AI prototype
StudyMate AI is an AI study platform prototype built to explore how students can use specialized AI assistants instead of one generic chatbot.
Students often use AI as one general chatbot, which can make answers feel generic and disconnected from the actual study task.
Multimedia Design students who need practical help with coding, design, UX, exams and project planning.
Product concept, UI design, frontend, backend structure, prompt design, documentation and deployment preparation.
HTML, CSS, JavaScript, Node.js, Express, OpenAI API, Cloudflare Pages Functions and GitHub.
Prototype status
The published GitHub Pages version demonstrates the interface, assistant selection and fallback states without pretending that the live AI backend is already deployed.
The GitHub Pages version is a static fallback demo. A Cloudflare Pages Functions version is prepared so the real OpenAI API call can run server-side.
This is not a finished SaaS product. It still needs final Cloudflare deployment, real AI testing, stronger long-term usage protection and more user testing.
Internal review
I reviewed the prototype myself with five user tasks: understand the product, continue as demo, choose an assistant, send an MMD task and start a new chat.
The product concept was clear, but the static GitHub Pages demo could sound like a technical error. Link-based questions were also confusing because the static demo cannot inspect external websites.
I rewrote the fallback answer, added URL-aware guidance, made the user message bubble calmer and reduced the visual weight of copy actions.
Process
I changed the idea from one general chatbot into six focused assistants: Study Coach, Coding Mentor, Design Critic, UX Researcher, Exam Coach and Project Manager.
I built a dashboard and chat flow with assistant selection, prompt suggestions, loading states, error states and calmer copy actions after reviewing the first version.
I kept the project realistic by using vanilla frontend code and a simple backend instead of turning it into an over-engineered SaaS platform.
Implementation evidence
The frontend stores the selected assistant role and presents matching prompt suggestions.
The message and assistant ID are sent to /api/chat without exposing an API key.
The backend combines the assistant role, connected skills and relevant local knowledge.
The interface shows either a server response or an explicit static fallback with its limits.
Evidence boundary: The flow is implemented in the repository. The public GitHub Pages demo remains static until the server-side Cloudflare deployment has been tested with a real key.
AI implementation
The frontend sends the selected assistant and user message to `/api/chat`. The frontend never contains the OpenAI API key.
Each assistant has a role, description, example questions and internal skill stack. This makes the AI feel more focused than a random chatbot.
The local version can load Markdown knowledge files, so the assistant can become more relevant to school projects and personal notes over time.
Security
The OpenAI key is only used on the server side. It is not stored in frontend JavaScript and should never be committed to GitHub.
The backend includes message length limits, token limits and basic rate limiting to make the public demo safer to share.
The Cloudflare version is prepared so the public portfolio demo can use server-side functions instead of exposing secrets in the browser.
Testing
I checked whether a new user can understand the product, enter the demo, choose an assistant, send a message and start a new chat on desktop and mobile.
I checked empty states, loading states, error states, static demo fallback text, copy actions, spacing and mobile layout so the prototype feels calmer and more product-like.
The final Cloudflare deployment should be tested with a real OpenAI key and 3–5 external participants before I present it as a live AI demo to employers.
Usability testing plan
Status: Planned — external testing has not yet been completed.
Test whether 3–5 Multimedia Design students or students familiar with digital study tools can understand the assistant roles, complete the main chat flow and recognise the limits of the static demo.
Record task completion, critical errors, moderator assistance, hesitation or wrong turns, and participant comments. Pay particular attention to assistant selection and whether the fallback is mistaken for a broken feature.
Findings: Pending external sessions. Resulting design changes: Pending analysis of the completed test notes.
Result
The result is an AI study platform prototype with a usable frontend, structured backend routes and explicit deployment limits. The implementation shows how I connect product decisions, interface states and server-side API handling.
Next step: I would deploy the Cloudflare version, test `/api/chat` with a real OpenAI key and keep improving the Knowledge Base with more real project summaries.