A1 Credits
Assets
No external icons/fonts were copied. UI inspiration reference viewed from Base44 mockup (visual inspiration only, no code copied).
Code References
These are the following code-snippets I took from codex. All these snippets were taken only after I was fully convinced what they were doing and how exactly.
- const notScrollable = document.documentElement.scrollHeight <= window.innerHeight;, this is from autoStartScrolling().
- const totalPages = Math.max(1, Math.ceil(comments.length / COMMENTS_PER_PAGE)); this line of code is from HookRenderImage()
- const scrollPosition = window.innerHeight + window.scrollY; const threshold = document.documentElement.scrollHeight - 120; from handleInfiniteScroll()
- transition: max-height 0.9s ease, opacity 0.9s ease, transform 0.9s ease, margin 0.9s ease; from main.css, the .form-container block
- Used mobile-specific CSS override to disable desktop card tilt/hover transforms for better touch experience: .polaroid:nth-child(odd), .polaroid:nth-child(even), and .polaroid:hover set to transform: none inside the mobile media query.
- form_container.classList.toggle("collapsed", !isFormOpen); from renderFormVisibility()
AI Usage
I used gpt-5.3-codex and exported the chats as instructed in the README. The chat sessions are: codex-session-309-a1-chat1.jsonl and codex-session-309-a1-chat2.jsonl
A2 Credits
AI Usage
Used Codex to help generate a fill-in-the-blanks openapi.yml scaffold/template. I then manually completed, verified, and edited it so it matched my implemented Express routes and actual API responses.
I used gpt-5.3-codex for Assignment 2 and exported the full chat history as instructed in the README. The A2 chat export file is: C09-A2-Chat1-Codex.jsonl and C09-A2-Chat2-Codex.jsonl