AI Collaboration Report – Iteration 1 - snuhcs-course/swpp-2026-project-team-01 GitHub Wiki
AI Collaboration Report – Iteration 1
2026-09-25 ~ 2026-10-09
Written by: Choi Haeseong | Contributors: Park Dohyeon, Lee Eunwoo, Cho Yujin
Tools used: OpenAI Codex (gpt-5.6-terra, gpt-5.6-sol, gpt-5.6-luna, gpt-6-luna, gpt-6-sol, gpt-6.1-sol, gpt-6-astra) and Claude Code (claude-sonnet-5-5, claude-opus-5-5). Some generation-session models could not be confirmed.
Four MVPs were built on separate branches; links are commit-pinned.
1. Where AI Was Used
- Planning: AI expanded the manual one-pager into requirements and plans (PRD, onboarding plan).
- Interfaces and calendar connection: AI generated the Expo mobile UI and Next.js OAuth, request-link, and onboarding flows (mobile marker, web marker, onboarding marker).
- Scheduling and infrastructure: AI wrote candidate selection, booking and retry logic, Supabase SQL, the Photon bridge, and tests (candidates, booking marker, SQL marker).
- Not AI-generated: the original product-intent paragraph, Supabase organization setup, and Google Console configuration.
2. Prompt History
Full team-member prompt records: Iteration-1-Prompt-Log.
3. What AI Did Well
- Lee Eunwoo continued implementation with Claude Code from a plan after Codex stopped; the PostgreSQL migration passed 434 tests in 49 files (record). The same record reports synthetic event classification improving from 30/110 to 110/110, with analysis time falling from 26.8s to 4.4s; we did not remeasure it.
- Choi Haeseong's more specific request-link requirements produced duration and candidate-selection controls and an approval API (commit).
- Park Dohyeon's AI-written tests covered booking failures and retries; Cho Yujin combined UI, Supabase functions, and SQL in one MVP commit.
4. Hallucinations / Errors
- Choi Haeseong: AI described dashboard candidates, but the API lacked a GET handler. A browser JSON-parsing error exposed this; a later commit added it. Cost unmeasured.
- Lee Eunwoo: AI wrongly said Supabase login was impossible without checking a saved token, and said it could not click through Google login before succeeding on retry. The user challenged these claims; the first cost about two minutes and one extra turn. Separately, an AI check finalized a real account's time profile at 14:00–18:00; the user noticed and had to create a new version (log).
- Park Dohyeon: AI omitted Cloudflare DNS CLI from a comparison until the user pointed it out (guide). An OAuth helper's uppercase
DCRwas rejected by the CLI, while its refresh verifier misread a counter and timezone; comparison with CLI output and refresh evidence led to corrections. Time cost unmeasured.
5. Prompt Revisions
- Before (Choi): “링크의 이름을 설정할 수 있어야 한다.” After: “몇 시간 미팅인지, 링크 호스트가 결정할 수 있어야 한다.”, followed by candidate-count and selection requirements. Why it worked: The added constraints gave AI testable fields for the form. Quoted phrases are verbatim excerpts; complete prompts are in Choi's log.
- Before (Lee): “그럼 시간 프로필 설정하기를 저장하기 버튼 등으로 바꾸는게 낫지않아? 저장하고 AI로 자동 설정하기 버튼과 함께 보여주거나.” After: “그러니까 저장하기 버튼과 AI로 설정 시작하기 버튼 이렇게 두개만 내버려두고 가져온 일정보정 버튼이나 시간 프로필 설정하기를 대체하라고/” Why it worked: Naming the buttons to keep and replace resolved the UI misunderstanding (commit).
- Before (Park): “Improve user experience and ui design. Use https://ui.shadcn.com/blocks as much as possible.” After (excerpt): “Let's make main UX as just chatting with artifacts and in-chat buttons. Hide manual controls in the other tab or setting modal” Why it worked: The revision specified the chat-first layout and where manual controls belonged (commit).
6. Manual Fixes and Why
No direct manual edits to AI-generated code were confirmed. Manually written initial content and service configuration are not counted as fixes.
7. Takeaway for Iteration 2
- A successful UI build does not prove that database integration works; test the two separately.
- When AI says something is impossible, ask for its reasoning. Often, a follow-up question alone resolves the issue.
- Building four MVPs independently showed us how much the level of detail in a spec can change the resulting product. Next iteration, we should agree on the core requirements and their level of detail before building in parallel.