The solver is available at: https://torstenwerner.github.io/v-ai-be/sudoku.html. For faster input the space key will delete the value of the current cell. Just try an extreme example from https://sudoku.com/extreme/.
It has been created with Google Gemini 2.5 pro and the following prompt.
Please create a solver for Sudoku puzzles. It should be a single HTML file with CSS and Javascript. It should have a nice 9x9 grid of cells to input the puzzle, a button for solving it, a grid for rendering the solution when solved, and a button to reset the input to an empty puzzle. The input grid should initially contain a sample puzzle.
When typing a digit the value in the currently focused cell should be replaced and the focus should move to the next cell in the current row or if the last cell is focused then to the first cell in the next row. The space key should delete the value in the current cell and move the focus in the same way as described above.
An older python example is available in sudoku.py.
It is a design study for a web application that works with messages somewhat similar to email messages. Initially the message overview should be designed.
The prototype is available at: https://torstenwerner.github.io/v-ai-be/messaging.html.
Please create a web application where the user can read, create, and answer messages similar to email messages. The design should resemble the gmail interface where it makes sense. It should be a single HTML file with CSS and Javascript embedded. The actual messages should be mocked. The application should render the message overview. At the top of the screen it should render a logo, a search input field, an action for creating a new message, the name of the mailbox e.g. "Tina Tisch", and a logout button. In the main area it should render the message overview with one row per message and a maximum of 50 rows. In case there are more than 50 messages the user should be able to navigate to the next page of messages. For all pages except for the first page the user should be able to navigate to the previous page of messages. For each message the sender and subject should be displayed. The unread status of each message should be visualized e.g. by using more font weight. Initially all messages should be unread. When clicking a message its unread status should change into read. Each message should have actions for answering, forwarding, exporting, and deleting it. These actions should not do anything at the moment. The search input field should provide a pull down menu with autocompletion items. The menu items are grouped where each menu item group has a group label. As soon as the user focuses the search field it should show these menu items.
- group 'messages' with menu items 'all', 'unread'
- group 'mailbox' with menu items 'Tina Tisch', 'Bernd Bank', 'Violeta Jarmusch'
- group 'folder' with menu items 'inbox', 'outbox', 'sent', 'trash'
- group 'label' with menu items 'urgent', 'done' After the user has entered a search query e.g. 'Ban' the menu items should be filtered to show only the items matching 'Ban'. In this example the group 'mailbox' with menu item 'Bernd Bank' should still be shown because it matches 'Ban'. Other menu items not matching 'Ban' should be removed. One more menu group should be added to the filtered drop down menu:
- group 'filter' with menu items 'sender: Ban', 'subject: Ban' where 'Ban' should be the search term.
The search field should have an icon button to reset the search term if it is not empty.
This seems to be hard.
Please create a list of unique german 5 letter words for a german variant of the Wordle puzzle game. The list should have a size of about 200 words. The words should be all uppercase. The letter ß should be replaced by SS. For example: the word 'heiß' would change into 'HEISS'. The resulting word is valid if it has 5 letters. Umlauts should be supported without change for example: 'WÄRME'. The list should contain only real german words. Longer words shortened to 5 letters are not acceptable. Output the list in a codebox so that it can be copied into a file 'wordlist.txt'.
Please create an application for a german variant of the Wordle puzzle. The german title is "Wortliste" It should be a single HTML file with CSS and Javascript embedded. A list of suitable german words should be loaded from the URL https://torstenwerner.github.io/v-ai-be/wordlist.txt which contains one upper case word per line. The letter ß has been changed into SS but umlauts are supported without change.
A random puzzle should be displayed initially. There should be a button to reset the current puzzle and start with a now random word.
It should support keyboard input. The first cell in the currently active row should be focused by default. The currently focused cell should have a colorful border. Typing a letter should replace the current value of the cell and move the focus to the next cell. At the last cell of the current row the focus should wrap to the first cell of the same row. A hint should be displayed if all 5 cells of the current row are filled and it is not submitted yet: "Mit abschicken." Hitting Enter after filling all 5 cells of the current row should submit it.
It should provide a virtual keyboard with square keys. Show a hint below the virtual keyboard: "Geben Sie bitte SS anstelle von ß ein."
It should work nicely both in the desktop browser and the mobile browser. It should use vertical vs. horizontal layout dependending on the portrait or landscape mode of the mobile screen.
The wordlist is too small.
This error message is shown if the user submits an invalid word: "Kein gültiges Wort!" The current row does not change for invalid words. The user must change at least one cell in the current before submitting is allowed again.