Date Slop: building a deliberately bad UX with AI A developer built 'Date Slop', a deliberately frustrating AI-powered date-picker that parodies overzealous AI assistants. The project, which uses OpenAI's gpt-4o-mini, intercepts date input and forces users to answer tedious questions instead of accepting direct dates. The developer shared lessons learned from building their first AI application, including prompt engineering challenges and handling serverless cold starts. A while ago now, I entered a Bad UX competition, where a prize went to the worst date-picker. Since then I have finally found some time to polish it and make it safe to release to the public; here it is https://date-slop.hdv.dev/ . I didn't win the contest, so I guess my demo wasn't bad enough. Is that a compliment? The idea was to parody a future where AI assistants are so widespread and overused that they become a hindrance rather than a help to the user. In this case, the date-picker form element is intercepted by a bot who insists on entering the date for you, and must establish your date of birth through tedious questioning; it refuses to simply accept the date when told directly. Besides showing it off, I thought I'd share some of the challenges I faced and lessons learned. This was my first time building an AI-powered application and my first time using the OpenAI API. Initially, the conversation worked like this: sequenceDiagram participant C as Client participant S as Server participant O as OpenAI C- S: Start conversation Note over S: Create session in memory S- O: System prompt O-- S: "What season were you born in?" Note over S: Store conversation history S-- C: Reply + session ID C- S: "Around Thanksgiving" + session ID Note over S: Retrieve conversation history S- O: System prompt + history + answer O-- S: "Was it early or late November?" Note over S: Update conversation history S-- C: Reply When the user focuses the date field, the client makes a request to initialise the conversation. This creates a chat session in application-server memory and sends an initial request to OpenAI specifically gpt-4o-mini , along with the prompt https://github.com/HDv2b/date-slop/blob/main/src/app/api/guess/prompt.ts defining the rules of the challenge. The assistant's first response, containing its greeting and opening question, is returned to the client along with the session ID. The client includes that ID with each subsequent answer, allowing the server to retrieve the corresponding conversation history. Each new OpenAI request includes the accumulated message history. Once the assistant has correctly guessed a date, it responds with a specially formatted message that the client can parse and inject back into the form. sequenceDiagram participant C as Client participant O as OpenAI Note over C,O: Requests are relayed through the