Calculator Tools Calculator Tools
Create

Dynamic Color Generator

Aug 7, 2025

About this app

A fun web app that generates random colors and allows users to save their favorite colors.

Buggy Random Emoji Generator Random Emoji Generator Click "Generate Emoji" to start! Generate Emoji Save this Emoji Favorite Emojis:

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Buggy Random Emoji Generator</title>
<meta name="description" content="A fun web app that generates random emojis and allows users to save their favorite emojis.">
<meta name="keywords" content="emoji generator, random emojis, favorite emojis, fun, playful, creative">

<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>

<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
const emojiContainer = $("#emoji-container");
const favoritesContainer = $("#favorites");
const generateButton = $("#generate-emoji");
const saveButton = $("#save-emoji");
let currentEmoji;

function generateEmoji() {
const emojis = ["😀", "😂", "😍", "🏆", "🎉", "🐶", "🌟", "🚀", "🍕", "🎮"];
currentEmoji = emojis[Math.floor(Math.random() * emojis.length)];
emojiContainer.text(currentEmoji);
}

generateButton.on("click", generateEmoji);
saveButton.on("click", function() {
if (currentEmoji) {
// Intentional bug: adding the same emoji multiple times
favoritesContainer.append(`<div class="favorite-emoji">${currentEmoji} <button class="btn btn-danger btn-sm remove-favorite">Remove</button></div>`);
$(".remove-favorite").on("click", function() {
$(this).parent().remove();
});
}
});

// Bug: Generates emoji upon saving instead of one click at time
saveButton.on("click", generateEmoji);
generateEmoji(); // Generate an initial emoji
});
</script>

<style>
body {
background: linear-gradient(to bottom, #84e0f0, #2b2d42);
color: white;
font-family: 'Courier New', monospace;
text-align: center;
padding: 50px;
}
#emoji-container {
margin: auto;
padding: 40px;
border-radius: 10px;
background-color: gray;
font-size: 5em;
transition: all 0.5s;
}
#favorites {
margin-top: 20px;
display: flex;
flex-direction: column; /* Intentional choice to test UI abstraction */
}
.favorite-emoji {
padding: 10px;
border-radius: 5px;
color: white;
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Random Emoji Generator</h1>
<div id="emoji-container">Click "Generate Emoji" to start!</div>
<button id="generate-emoji" class="btn btn-light">Generate Emoji</button>
<button id="save-emoji" class="btn btn-success">Save this Emoji</button>
<h2>Favorite Emojis:</h2>
<div id="favorites"></div>
</div>
</body>
</html>