Commit History

  1. chat: bottom input matches hero — floating card, text-xl, Send label⁠

    webmuppet +1: Claude Sonnet 4.6
    ac3c645
  2. chat: cycle loading messages through pipeline phases⁠

    webmuppet +1: Claude Sonnet 4.6
    c812b81
  3. sidebar: show full question text for conversations and saved responses⁠

    webmuppet +1: Claude Sonnet 4.6
    741c3dc
  4. chat: constrain thread to max-w-3xl centred column⁠

    webmuppet +1: Claude Sonnet 4.6
    2befd58
  5. Dockerfile: chown venv to user after uv sync⁠

    webmuppet +1: Claude Sonnet 4.6
    62aed37

  1. docs: update CLAUDE.md for React+FastAPI refactor⁠

    webmuppet +1: Claude Sonnet 4.6
    1eb4528
  2. Fix language selector: wire user choice through to generator⁠

    webmuppet +1: Claude Sonnet 4.6
    016503a
  3. chat-ui: profession-specific starter pills⁠

    webmuppet +1: Claude Sonnet 4.6
    22bd5ae
  4. chat-ui: stop button replaces send while streaming⁠

    webmuppet +1: Claude Sonnet 4.6
    e4e4267
  5. chat-ui: remove 'Other' from profession list⁠

    webmuppet +1: Claude Sonnet 4.6
    9f06f9f
  6. chat-ui: profession select default option → '-- please select --'⁠

    webmuppet +1: Claude Sonnet 4.6
    f4e0810
  7. chat-ui: move new conversation button above saved responses in bottom block⁠

    webmuppet +1: Claude Sonnet 4.6
    a7e286b
  8. chat-ui: group saved responses + past conversations at sidebar bottom⁠

    webmuppet +1: Claude Sonnet 4.6
    0583b1f
  9. chat-ui: move download saved responses below saved responses section⁠

    webmuppet +1: Claude Sonnet 4.6
    50485d1
  10. chat-ui: pin past conversations to bottom of sidebar⁠

    webmuppet +1: Claude Sonnet 4.6
    30ef437
  11. chat-ui: add subtitle prompting profession selection⁠

    webmuppet +1: Claude Sonnet 4.6
    52dd805
  12. chat-ui: reduce starter pills to four⁠

    webmuppet +1: Claude Sonnet 4.6
    4c03494
  13. chat-ui: widen starter pills to max-w-4xl for two-per-row layout⁠

    webmuppet +1: Claude Sonnet 4.6
    d22bdc6
  14. chat-ui: constrain starter pills to max-w-2xl matching input width⁠

    webmuppet +1: Claude Sonnet 4.6
    ec67296
  15. chat-ui: sidebar open/close toggle⁠

    webmuppet +1: Claude Sonnet 4.6
    7efd3df
  16. chat-ui: headline → 'Ask a marketing related question'⁠

    webmuppet +1: Claude Sonnet 4.6
    63270bb
  17. chat-ui: hero input — larger textarea (4 rows, text-xl) matching Claude.ai scale⁠

    webmuppet +1: Claude Sonnet 4.6
    0ab00bc
  18. chat-ui: centred hero layout with input as focal point, input moves to bottom on chat⁠

    webmuppet +1: Claude Sonnet 4.6
    c80e301
  19. server.py: fix SSE streaming — run pipeline in thread to unblock event loop⁠

    webmuppet +1: Claude Sonnet 4.6
    8aca002
  20. Refactor: replace Streamlit with React+Vite SPA + FastAPI server⁠

    webmuppet +1: Claude Sonnet 4.6
    b5c0df4

  1. Saved responses: store just the pair, not the full thread⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    baa1903
  2. Saved Responses: per-Q&A bookmarks with fork-on-click⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    2260b35
  3. Per-message Save: restore .md download on history + live render paths⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    a2fa334

  1. Kebab menu icon: skip the bounding-rect path, target only the dots⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    1846b25
  2. Main menu (top-right kebab): light popover, dark text, violet hover⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    999dda3
  3. Password gate: add explicit Log in button⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    56b42fd
  4. Password input: kill the double-translucent composite⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    98fed98
  5. Restore Save conversation download as 'Save conversation file'⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    06b840c

  1. Past conversation titles: wrap to multi-line so full question is readable⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    0d151d8
  2. Prompt: respond in English by default (mirror user's language otherwise)⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    96f8e03
  3. User question bubble: h3-weight text + 20% white border⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    453a18e
  4. Past conv title ellipsis: target ALL descendants of button⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    8a67528
  5. Fix past-conversation delete (zombie bug) + title ellipsis⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    71d5674
  6. Password eye: kill the transition that was overriding !important⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    0721e1f
  7. Password eye: nuke every descendant background, swap hover to opacity⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    9e23589
  8. Password eye: clear the BaseWeb enhancer-slot background⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    eaf7124
  9. Password eye toggle: white via button selector (was missing the right testid)⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    dd05b48
  10. Docs: bring CLAUDE.md + README.md up to current state⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    74119d4
  11. Revert: response bubble back to solid #FFFFFF

    webmuppet
    b82cdb2
  12. Response bubble background: rgba(255, 255, 255, 0.8) — 80% white⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    31403de
  13. User question bubble: keyline 2px → 1px

    webmuppet
    d72e0d4
  14. User question bubble: 2px white keyline

    webmuppet
    4a987a6
  15. User question bubble: violet bg (#4023A8) + white h2 text⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    77d21d4
  16. Merge refine/chat-bubbles into main⁠

    webmuppet +1: Claude Opus 4.7 (1M context)
    1e294d2
  17. Sidebar profession label: 'Select your profession' → 'What do you do'

    webmuppet
    b4b0514