Iteration 2 – Prompt Log - snuhcs-course/swpp-2026-project-team-14 GitHub Wiki
Iteration 2 – Prompt Log
Selected prompt log for the AI Collaboration Report – Iteration 2 (2026-10-07 ~ 2026-10-20). Dates and times are KST.
- Entries cover Hyeon U Jeong's login/onboarding and Dongkun Moon's outfit recommendation contributions. Other members can add their own sections using the same structure.
- Korean prompts are edited summaries of actual messages: spelling, informal wording and long attachments are normalized or shortened while preserving the technical intent. They are not verbatim transcripts.
- Outcomes are retrospective summaries. A cited commit can include corrections made in subsequent turns.
- Omitted: one-word confirmations, routine commit/push commands, account/credential values, personal file paths, unlock replies, general concept questions and drafts of team-chat messages.
Hyeon U Jeong — Codex (OpenAI), login and onboarding
The following 16 selected entries focus on requirements, implementation and real-device feedback. Entry IDs retain their original numbering after selection. Times are taken from the original session record; all dates are in 2026. Codex had repository/terminal access and could operate the connected Android app. I supplied product decisions and device feedback, approved the visual direction, and decided when work could be published.
Planning and schema
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| L01 | 10-14 11:48 | 소셜 로그인 없이 회원가입·기존 계정 로그인을 제공하고, 사용자 정보는 최소한으로 수집해주세요. 가능하면 앱을 다시 열어도 로그인 상태를 유지하도록 해주세요. | Set the initial scope. Later design used app-specific ID/password accounts and a fixed 30-day session; this message did not itself implement authentication. |
| L02 | 10-16 02:58 | 마이프로필에서 로그인 버튼을 누르면 아이디·비밀번호·로그인 버튼이 있는 창을 열고 회원가입 링크를 제공해주세요. 비로그인은 안내문을 표시하고 로컬에 저장하게 해주세요. | Defined the guest/account entry flow and local-only guest persistence. Recovery/social login and extra required personal information were excluded in the following clarification. |
| L04 | 10-16 03:08 | 기존 로컬 저장과 신규 DB가 충돌하면 신규 구현을 우선해주세요. 기존 DB 호환성만을 위해 불필요한 파일이나 이중 저장 구조를 추가하지 마세요. | Recorded the priority in feature instructions; the resulting guest/account snapshot store did not introduce a parallel legacy compatibility store. |
| L06 | 10-16 03:17 | 기존 데이터는 보존할 필요가 없습니다. 로컬 데이터를 가져오고, 계정과 겹치면 교체 여부를 확인하도록 해주세요. | Authorized the transition cleanup and conflict-review direction. The implementation removes legacy unowned rows during migration; this is not a policy to delete newly created user data. |
Onboarding scope and style profile
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| L07 | 10-16 03:23 | 참고 화면처럼 8페이지 온보딩을 로컬 저장에 연결하고 로그인은 사용자가 원할 때 하도록 해주세요. 마이프로필에는 스타일 프로필을 표시하고 체형 분석은 버튼을 눌러 별도 화면에서 보게 해주세요. | Added optional onboarding to this feature's scope and separated its completion/style data from the existence of body measurements. It was implemented later in ea4bbb4. |
| L08 | 10-16 03:26 | 자주 입는 컬러는 처음에 비워두고 사용자가 저장한 값만 DB에 저장해주세요. 체형 정보는 체형 밸런스 참고에서 열도록 해주세요. | Confirmed empty initial colors and the body-details entry. No sample colors or wardrobe-derived palette were prefilled. |
Authentication and local persistence
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| L10 | 10-16 04:10 | 입력 검증과 로그인 시도 제한을 추가해주세요. 5회 이상 실패하거나 짧은 시간에 반복할 때 제한하고, 프로필 요청의 입력 가짓수도 제한해주세요. | Implemented five failures in five minutes → five-minute ID lock, shared authentication IP limits, bounded JSON and allowed profile values; 81ca2f5. |
| L12 | 10-16 04:44 | 연결한 폰에서 확인할 수 있도록 서버와 DB를 실행하고 로컬 테스트 데이터를 넣어주세요. | Applied the local setup and populated disposable sample data for phone verification. These test records were not committed as application data. |
| L15 | 10-16 05:25 | 비밀번호 확인 오류를 고친 뒤 가입하면 로그인 응답을 읽지 못한다고 나옵니다. 다시 가입하면 이미 존재하는 아이디라고 하고 로그인도 되지 않습니다. 원인을 확인하고 수정해주세요. | Reproduced successful account creation followed by an app parsing failure. Replaced the expiry parser with offset-aware parsing and added real-response-format regression checks; 7715550. |
Manual imports and profile interaction
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| L17 | 10-16 06:20 | 로그인할 때 가져오기 창을 자동으로 띄우지 말고, 로그인한 뒤 사용자가 필요할 때 직접 눌러 가져오도록 바꿔주세요. | Changed the trigger to a separate manual action. Account data loads on login; guest upload waits for explicit consent. |
| L18 | 10-16 06:26 | 가져오기 아이콘을 로그아웃 아래에 두고, 누르면 개수와 취소·가져오기가 있는 팝업을 표시해주세요. 핏·무드·컬러의 중복 취소 버튼도 정리해주세요. | Added the count/consent interaction and simplified editor controls. The requested icon placement was subsequently moved beside the My Profile title. |
Eight-step onboarding and phone feedback
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| L21 | 10-16 07:24 | 테스트 사진을 갤러리에 넣은 뒤, 현재 연결된 테스트 DB와 앱을 초기화해서 온보딩부터 확인할 수 있게 해주세요. | Prepared a first-run device test with explicit reset authorization. This did not authorize automatic deletion of later production user data. |
| L22 | 10-16 07:29 | Step 1은 시작하기 위·로그인 아래로 배치해주세요. Step 2는 처음부터 레귤러를 강제 선택하지 말고 자유롭게 선택하게 하되, 아무것도 고르지 않고 다음을 누르면 레귤러를 적용해주세요. 이번 작업 부분의 폰트와 디자인도 시안에 맞춰주세요. | Persisted an empty fit draft, applied regular on continue, and aligned selection marks, typography and the bold StyleMate login wordmark; ea4bbb4. |
Step 6 layout feedback
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| L26 | 10-16 09:01 | Step 6 옷장 등록 현황의 진행바를 제거해주세요. 서버 연결과 측정점 서버 오류도 확인해주세요. | Distinguished the extra wardrobe progress bar from the shared step indicator. Investigated local USB/server connectivity; the count-layout correction followed in L27–L28, without redesigning landmark inference. |
| L27 | 10-16 09:10 | 내 옷장 전체 개수 제목을 없애고 상의·하의·신발의 현재 개수와 목표를 한 줄에 보여주세요. | Removed the total-count heading and retained category-level counts; the visual separator/width feedback followed in L28. |
| L28 | 10-16 09:13 | 구분자는 문자로 넣지 말고 시각적인 선으로 표시하며, 세 항목이 가로 화면을 넓게 사용하도록 해주세요. | Used equal-width columns and actual vertical dividers. Updated the existing onboarding assertions and checked the final phone layout; 490fcab. |
Dongkun Moon — Claude Code (Claude Opus 5.5), outfit recommendation (P20, P21)
The 48 entries below cover the recommendation work, the real-phone test for the demo video and the documentation. The groundwork on 10-07 and 10-08 is included because it fed directly into P20 and is not part of the Iteration 1 report. Claude Code worked in the local repository: it could read and edit files, run tests and scripts, build the app, and drive the emulator and my phone over USB. It drafted every issue and PR, and I read each one before it was posted.
Note: Each row matches one prompt I sent at that time; the request and the outcome are unchanged. Also omitted: questions about the schedule sheet and the midterm slides, and the API key I configured.
Groundwork (10-07 – 10-08, before Iteration 2)
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| R01 | 10-07 17:12 | "Propose a database schema for the app. Start from the existing table and add what the coming features (body profile, outfits) need. Treat it as a proposal for the team; do not change any code." | Proposal for user, garment and outfit tables, with the gaps to close first (e.g. garments had no owner). No code changed. |
| R02 | 10-07 18:48 | "Context: the team may not build the chat feature. Task: (1) review the whole develop branch; (2) using our body analysis model, work out how the app should recommend clothes for a given body, and look for related models." |
Review of develop; body-profile fixes on a local branch (profile kept on the device, crash and upload fixes), later shipped in PR #25 as 6d2924a |
| R03 | 10-07 19:28 | "Undo the change that maps the preferred styles and fit to the wardrobe's codes; I have a different approach in mind. Keep the other fixes." | Reverted; the other three fixes stayed |
| R04 | 10-08 00:27 | "Context: the inputs are the user's body measurements, fit preference (regular, slim, …) and the clothes they own; the K-Fashion dataset (AI Hub) will be the garment database. Task: decide what criteria each garment should be scored on, and find out whether a model that produces such scores already exists." | No public model covers body, fit, wardrobe and season together (OutfitTransformer and ViBA-Net reviewed); plan to combine rules with compatibility learned from K-Fashion outfits |
| R05 | 10-08 01:06 | "Here are the downloaded K-Fashion files. Inspect all of them and report what we can use." | 1,088,781 photos and 1.73 M labelled garments; about 580,000 outfits with two or more garments; almost no men's clothing |
| R06 | 10-08 01:37 | "Show one example of the final recommendation screen a user would see." | A home-tab mock-up ("오늘의 코디") with real K-Fashion garments, scores and reasons |
| R07 | 10-08 02:02 | "Now solve these problems yourself and build one local test page to try the solution." | Local engine and test page on K-Fashion data: cut-out cleaning, de-duplication, PMI compatibility (FITB 44 %, chance 25 %), size advice from fit labels, weather rules; kept out of git |
Recommendation design (10-10 – 10-12)
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| R08 | 10-10 23:49 | "Context: [생략: TA notice — gemini-3.5-flash allows 5 requests per minute and 20 per day on the free plan; use a flash-lite model]. Task: tell me what we need to change." |
Nothing to change: chat parsing already used gemini-3.1-flash-lite; image generation (try-on) has no free quota at all |
| R09 | 10-10 23:52 | "When I give feedback in the test page's chat, do the garment scores change in real time?" | Taste weights change at once; scores are recomputed on the next request |
| R10 | 10-11 00:53 | "Context: a teammate shared a Jev demo (choosing clothes from a user's wardrobe and virtual try-on); another proposed a masked-token model over the K-Fashion labels [생략: preprocessing proposal]; I suggest rules for body shape, outfit compatibility, real-time weather and colour. Task: first research Jev and use as much of its approach as possible; then combine these ideas into a local test page and explain the method. Also suggest anything we have not considered." |
/stylist test page with Jev-style per-slot decisions, 45 body-shape rules with sources, live weather, and the teammate's masked transformer trained on 352,673 outfits (FITB: PMI 44.8 %, masked 45.4 %, both 50.1 %) |
| R11 | 10-12 14:14 | "How does Jev's algorithm work?" | Public facts separated from guesses: a decision-only model with calibrated probabilities over fixed options; the architecture is not published |
| R12 | 10-12 15:59 | "Explain how the garment labels were preprocessed into tokens." | Seven-step explanation: cleaning, de-duplication, season token, tokens, vocabulary, masking |
| R13 | 10-12 16:02 | "Export the JSON right after preprocessing." | export_preprocessed.py: a step-by-step sample and the full train/val files (352,673 / 95,070 outfits), kept outside git |
| R14 | 10-12 16:11 | "Explain how the chat feature's prompt to Gemini works." | Gemini only turns a message into structured taste events (JSON schema); our engine does the scoring |
| R15 | 10-12 16:42 | "List the outfit rules we currently apply (colour, design, …)." | Rules for colour harmony, learned co-occurrence, body shape, fit and weather |
Integration into the app (P20, P21)
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| R16 | 10-12 16:49 | "Context: Iteration 2 has started (PM: Kihwan; Hyeon U: login and onboarding; me: the recommendation system and retraining on outfits that have both a top and a bottom; Juhyeon: chat). Database: a user table for the body profile; a clothes table whose fit is computed from the garment's measurements and the user's body and can be corrected before saving; an outfit table, schema up to you. Task: move the model from our test server into the app on a new branch. Constraints: K-Fashion is training data only; recommendations come from the garments the user has registered; label each new garment from its measurements and the body profile and let the user review the labels before saving; reuse Hyeon U's registration screen; follow the attached mock-up's style; leave chat out (Juhyeon builds it on a separate page)." | Branch with 5 commits: garment labels, outfit tables and API, home "오늘의 코디" and 코디북, retraining comparison (48.5 % vs 48.8 %, existing model kept), docs |
| R17 | 10-12 22:04 | "Correction: recommending from the user's own wardrobe was always the goal; I had misread it. Recommending outside garments is a later, optional feature. Update only the issue text. Question: does Hyeon U's garment-measurement flow need changes too? Which attributes (colour, design, style, …) should be checked when the photo is taken?" | Issue text corrected; the measurement points need no change; list of attributes and where each can come from |
| R18 | 10-12 23:05 | "Must the user enter all of these attributes by hand, or can we detect them when the photo is taken?" | Most can come from the same Gemini call, but the back photo hides necklines, prints and details; blend, thickness and stretch cannot be seen |
| R19 | 10-12 23:14 | "How far has Hyeon U implemented the wardrobe?" | Summary of the merged wardrobe flow (AR capture, HRNet points, Gemini name/category/colour, editor) and what is missing |
| R20 | 10-12 23:28 | "Context: [생략: my two proposals to Hyeon U about the duplicated fit field and the AR garment type]. Explain what they mean; I don't follow them." |
Two fit controls could show different values; the AR garment type was discarded after measuring |
| R21 | 10-12 23:33 | "Implement now and tell Hyeon U afterwards: (1) add a front photo; (2) let the same Gemini call suggest the subcategory, styles and details; (3) merge the two fit controls into one; (4) pass on the garment type chosen during AR capture instead of discarding it; (5) finally, verify the whole app for errors." | After three clarifying questions: front photo for tops and outerwear, Gemini suggestions incl. visible materials, one fit control, AR type passed on (eefd936, 3982c35); 135 pytest, 54 Django, 60 Android unit and 23 UI tests passed |
| R22 | 10-13 00:39 | "Create the issue, push the branch and open the PR as drafted." | Issue #24, PR #25 |
| R23 | 10-13 00:52 | "Check the CI results and fix any failure." | All three CI jobs passed |
| R24 | 10-13 00:58 | "Context: [생략: Iteration 2 schedule]; P20 and P21 are my tasks. Task: align the issue and the PR with them." |
Titles and sections split into P20 and P21, following the team's P-number format |
| R25 | 10-13 03:33 | "Context: Hyeon U replied [생략: keep the front photo, skip care-label photos; are terms such as X스트랩 and 니트꽈베기 K-Fashion labels?]. Task: suggest an answer and anything we should change." |
Both terms are K-Fashion labels (278 and 3,721 uses); found the 하운즈 투스 no-break-space mismatch; suggested display names |
| R26 | 10-13 03:38 | "Check whether Hyeon U has already pushed fixes on GitHub." | He had: 28942eb fixed five label/model mismatches, and PR #25 was merged into develop |
| R27 | 10-13 03:40 | "Skip the display names; close issue #24 and update my local branch." | Issue #24 closed; local develop at b3acbc5 |
Men's training data (10-13)
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| R28 | 10-13 03:44 | "Context: our model is trained only on women's clothing. Task: as a separate test, check whether men's clothing can be learned from labelled data in the same way. First check whether crawling, preprocessing and labelling Musinsa data is feasible; if not, find another source of men's clothing data our model can learn from." | Musinsa ruled out (robots.txt blocks crawlers; terms and database rights). AI Hub "연도별 패션 선호도" (40,868 men's photos) chosen, with Gemini labelling checked against K-Fashion labels first. Scripts kept outside git; waiting for the AI Hub application |
Real-phone test for the demo video (10-17)
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| R29 | 10-17 16:40 | "I want to test the current GitHub repository locally to record a demo video. How do I do this?" | Setup steps; the missing database and Gemini key identified |
| R30 | 10-17 16:41 | "Set up the local SQLite settings, start the backend and the emulator, and install the app." | Backend on an empty SQLite database (settings outside the repo); app installed on the emulator |
| R31 | 10-17 16:58 | "Tell me which photos and values to enter at each step of the demo." | Inputs per screen; AR capture needs a real phone |
| R32 | 10-17 17:04 | "I will register clothes on my real phone; connect the phone to the server instead." | Galaxy S22 connected over USB, latest debug build installed |
| R33 | 10-17 17:05 | "Context: Kihwan asks whether guest and login code are mixed, with one extra API each, and plans to delete the guest APIs before deploying. Task: check the code." | Both paths were intended in PR #26; the app called the guest APIs before login |
| R34 | 10-17 17:08 | "What should I enter for weight?" | Leave it empty: the synthetic demo bodies have no true weight (correcting its earlier "55 kg" suggestion) |
| R35 | 10-17 17:14 | "Garment analysis takes too long; find out why." | HRNet model missing locally (it is created at Docker build); Gemini taking 11–30 s or timing out |
| R36 | 10-17 17:48 | "Install the HRNet model and restart the server; increase the Gemini timeout." | Model installed (1.4 s per image); timeout 30 → 40 s in local settings only |
| R37 | 10-17 17:57 | "Analysis keeps failing; what is the problem?" | Gemini "high demand" (503) and timeouts; app, server, key and connection fine |
| R38 | 10-17 18:06 | "Switch only the local dev settings to gemini-3.5-flash-lite and restart the server." |
1.6 s per analysis; team code unchanged |
| R39 | 10-17 18:07 | "Can garments be analysed without the Gemini key, using only our local code?" | Three options (rule-based, CLIP, trained classifier) with their effort; Gemini kept for now |
| R40 | 10-17 18:09 | "Only the shoulder width is filled in automatically and I type the rest. Is that expected?" | No: the phone had not reached the server during those captures; HRNet fills a measurement only when all its points are confident |
| R41 | 10-17 18:14 | "I added a garment with 촬영하기. Check the server log and the points HRNet found." | Automatic measurement worked; one value (cuff 81 cm) flagged as wrong |
| R42 | 10-17 18:15 | "Create test pictures for my wardrobe that look like what I captured, as many garments as possible, and put them in my phone's gallery as well." | 50 test garment photos added to the phone's gallery (local only) |
| R43 | 10-17 20:42 | "I don't see the clothes in my 옷장." | The photos had only been copied to the gallery; 49 garments then registered through the API (51 in total) |
| R44 | 10-17 21:24 | "Is the app still analysing the clothes? I see none." | The server had stopped and the USB link had reset; both restored |
Documentation (10-19 – 10-20)
| ID | Date · KST | Prompt | Outcome |
|---|---|---|---|
| R45 | 10-19 15:59 | "Context: [생략: course guidelines, lecture notes, our iteration folders and the team chat export]. Task: organise this material for the project, then compare it with the repository and list what is still missing for Iteration 2." |
Status review; the Requirements and Design pages were then updated (Requirements 0.5–0.6, Design 0.4–0.5) |
| R46 | 10-20 13:16 | "Why do we need to back-merge main into develop? Did you check what the team agreed in our chat?" |
It had relied on a note an earlier session wrote, not on a team decision; the proposal was dropped |
| R47 | 10-20 13:20 | "Is PR #27 what you are describing? That is my teammate's work, not mine; do not change anything there." | Confirmed PR #27 is Kihwan's; nothing of his was changed |
| R48 | 10-20 13:30 | "[생략: the agent's note that the §6.4 wireframes still show the earlier optional-login flow] What is the problem with this?" |
Four mismatches with the current flow; the §6.4 caption corrected |