{"id":3520,"date":"2026-07-10T04:23:12","date_gmt":"2026-07-10T04:23:12","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/07\/10\/the-history-of-kodee-kotlins-mascot\/"},"modified":"2026-07-10T04:23:12","modified_gmt":"2026-07-10T04:23:12","slug":"the-history-of-kodee-kotlins-mascot","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/07\/10\/the-history-of-kodee-kotlins-mascot\/","title":{"rendered":"The History of Kodee, Kotlin\u2019s Mascot"},"content":{"rendered":"<div>\n<div>\n<section data-clarity-region=\"article\">\n<div>\n<p><a href=\"\/research\/category\/kotlin\/\">Kotlin<\/a> <a href=\"\/research\/category\/research\/\">Research<\/a><\/p>\n<div>\n<\/p><\/div>\n<p>A few years back, the Kotlin team figured it was time their programming language had a mascot \u2013 something fun and friendly to make developers feel more at home. After all, so many other programming languages have their own characters \u2013 <a href=\"https:\/\/go.dev\/blog\/gopher\" target=\"_blank\" rel=\"noopener\">Gofer<\/a>, <a href=\"https:\/\/www.php.net\/elephpant.php\" target=\"_blank\" rel=\"noopener\">elePHPant<\/a>, <a href=\"https:\/\/docs.flutter.dev\/dash\" target=\"_blank\" rel=\"noopener\">Dart\u2019s Dash<\/a>, or <a href=\"https:\/\/rustacean.net\/\" target=\"_blank\" rel=\"noopener\">Rust\u2019s Ferris,<\/a> for example.<\/p>\n<p>Bringing Kodee to life wasn\u2019t just a design challenge; it was a deeply collaborative effort by the Kotlin Marketing team, together with the Design and Strategic Research teams at JetBrains. The project\u2019s goal was to create a mascot that truly resonated with the developer community. To do that, Strategic Research team leaned into a structured approach: gathering feedback through surveys, analyzing user sentiment, and facilitating a focus group to uncover the values and traits developers wanted to see.&nbsp;<\/p>\n<p>What follows is a behind-the-scenes look at how thoughtful research and creative iteration turned a simple idea into a beloved mascot.<\/p>\n<h2>First iteration of the Kotlin mascot<\/h2>\n<p>The mascot project was initiated and driven by the Kotlin Marketing team. The first design concept was the result of a thoughtful and detailed creative process in which Kotlin designers explored everything from the character\u2019s shape and traits to its personality. The initial idea was to introduce a robot companion that subtly echoed the Kotlin logo \u2013 one that was helpful and approachable by nature, with a screen for a face. A reliable sidekick, always ready to lend a hand!<\/p>\n<figure><\/figure>\n<p><em>Preliminary sketches of the Kotlin mascot<\/em><\/p>\n<p>Following <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/10\/introducing-the-kotlin-mascot\/\">its release<\/a>, the character received mostly positive feedback. However, a few social media channels and online forums made it clear that the character hadn\u2019t quite clicked with some members of the Kotlin community. This is where the Kotlin Marketing and Strategic Research teams partnered to validate the direction, and the researchers launched a mixed-method project to better understand community sentiment and shape the next iteration. Here, user feedback was indispensable. We started by scouring the internet to get a general idea of how the community felt about the mascot. This allowed us to make a few initial adjustments. At the same time, we realized we needed to dig deeper, so we moved on to the survey phase.<\/p>\n<h3>Survey feedback gathering<\/h3>\n<p>The Strategic Research team organized a feedback round to learn more about developers\u2019 feelings about the character. We wanted to understand not just what people liked or disliked about the mascot, but also the reasons behind their sentiments. And the clock was ticking. With barely more than six months remaining before KotlinConf 2023, starting everything over from scratch (naming, production, etc.) wasn\u2019t an option. Moreover, a lot of Kotlin users had already been vocal about liking the first variant, and it didn\u2019t seem fair to totally replace a mascot that had already won the hearts of so many in the community.<\/p>\n<p>We kicked things off with a survey. As researchers, we\u2019re used to getting responses that only express broader emotions (\u201cIt\u2019s bad\u201d, \u201cI don\u2019t like it\u201d, etc.), so this time we designed the questions to help guide responses toward more specific insights. The survey included a mix of:<\/p>\n<ul>\n<li>Projective questions like \u201cWhat specific mascots of other brands do you consider \u2018good\u2019 or \u2018bad\u2019?\u201d&nbsp;<\/li>\n<li>Associative questions like \u201cWhat comes to mind when you see this character?\u201d<\/li>\n<li>Direct prompts like \u201cWhat specifically don\u2019t you like about this mascot, beyond just \u2018I don\u2019t like it\u2019 or \u2018It\u2019s just bad\u2019?\u201d&nbsp;<\/li>\n<\/ul>\n<h3>Feedback round 1: Results<\/h3>\n<p>We went into this knowing that opinions would differ. After all, you can\u2019t please everyone. But our goal was merely to find overarching patterns in the feedback \u2013 and in this regard, we succeeded.<\/p>\n<p>The most frequent concerns participants expressed were that the character:<\/p>\n<ul>\n<li>Didn\u2019t feel charming or cute (which is typically expected from a mascot).&nbsp;<\/li>\n<li>Came across as too plastic and robotic.&nbsp;<\/li>\n<li>Lacked expression and personality.&nbsp;<\/li>\n<li>Had some visual quirks that bothered people (for example, the proportions, the oversized eyes, a missing mouth, and the color palette).<\/li>\n<\/ul>\n<h2>Second iteration of the Kotlin mascot<\/h2>\n<p>Next, we asked the design team to create three quick concept drafts \u2013 no deep detailing, just enough to capture the overall impression while reflecting the feedback we\u2019d gathered.&nbsp;<\/p>\n<p>Each of the three sketches went in a different direction. One leaned into a more human-like but still robotic style; another took a more animal-like approach; and the third refined the original concept, adjusting its features based on the feedback we\u2019d received.&nbsp;<\/p>\n<figure><\/figure>\n<p><em>The three mascot variants<\/em><\/p>\n<p>Each draft gave us a fresh angle to consider, helping us explore what felt most relatable and visually appealing to the community.<\/p>\n<p>After their changes, three things were clear:&nbsp;<\/p>\n<ul>\n<li>The proportions felt more natural.<\/li>\n<li>The character\u2019s personality had begun to shine through. It was no longer just a silent silhouette.<\/li>\n<li>Its emotions had become more expressive.<\/li>\n<\/ul>\n<p>The designers also made sure the color palette would work well with a wide range of different backgrounds, making the mascot more versatile. The Kotlin team intended to use the character in a wide variety of ways, so it had to fit naturally into any digital and real-life context and had to align with the general Kotlin brand design guidelines.<\/p>\n<h3>Focus group feedback<\/h3>\n<p>We planned to present the drafts during a guided focus group session, which would give participants the chance to share deeper feedback and help us choose the most promising direction to take things in. The idea for this focus group came from one of the researchers\u2019 backgrounds in urban anthropology and spatial development. A widely adopted approach in this field is participatory design, in which users of a space share their perspectives on how public areas should be shaped and experienced.<\/p>\n<p>To keep the process productive, we carefully applied the principles of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cognitive_interview\" target=\"_blank\" rel=\"noopener\">cognitive interviewing<\/a> to uncover the implicit expectations and mental images of the participants. Some participants actually requested a preview of the drafts in advance, but we had to decline, so as to ensure we were getting a totally \u201cfresh\u201d reaction from every single session participant.<\/p>\n<p>We kicked the session off by dividing everyone into smaller groups to ensure every voice could be heard. The first task was to define the core values, keywords, and associations the Kotlin mascot should reflect. What key traits did the participants identify? They said it should be friendly and supportive, a little mischievous, and clearly tech-savvy. Participants also emphasized that the character should feel helpful and be something they\u2019d be proud to show off.&nbsp;<\/p>\n<p>To guide the evaluation process, we set up a Miro board where participants could assess each mascot variant against the criteria they had established earlier in the session. The board was structured to reflect the key traits \u2013 like friendliness, tech-savviness, and a touch of playfulness \u2013&nbsp;and allowed each group to visually map how well each character draft aligned with those values.<\/p>\n<p>This setup worked out as we expected: it made it easy to compare impressions across groups, highlight areas of consensus, and spot where a particular variant might fall short. Moreover, we visualized and mapped all the individual \u201cmental images\u201d of the character and managed to get all the participants to agree on those \u201cpersonality traits\u201d. This helped us gather structured, actionable feedback about the mascot\u2019s appearance for the design team in a collaborative and engaging way.&nbsp;<\/p>\n<figure><\/figure>\n<p><em>Miro board where participants evaluated mascot variants according to criteria they developed<\/em><\/p>\n<p>In the end, the refined version of the original character came out on top. By modifying its features based on community feedback \u2013 adding warmth, personality, and visual balance \u2013 we managed to strike the right chord with participants. The design stayed true to the initial concept while evolving into a more relatable mascot.<\/p>\n<p>And the winner is\u2026<\/p>\n<figure><\/figure>\n<p><em>Kodee toy specifications<\/em><\/p>\n<p>After that, designers spent some time refining the final version and aligning it with the feedback from the session. It took a few rounds to make sure everything was just right \u2013 from visual details to brand alignment.&nbsp;Once the design felt solid, Kotlin Marketing led the stakeholder approval process, aligning teams around the refined direction before moving into production.<\/p>\n<p>Eventually, the mascot was officially approved and ready to meet the world. And then came the final piece of the puzzle: the mascot\u2019s name.&nbsp;<\/p>\n<h2>Naming the Kotlin community\u2019s mascot<\/h2>\n<p>Naming the mascot turned out to be one of the most creative and surprisingly tricky parts of the process. We were looking for a name that felt tech-savvy and in line with Kotlin\u2019s spirit, while also carrying a sense of warmth and approachability. Striking that balance wasn\u2019t easy.<\/p>\n<p>To generate new ideas, the mascot working group split back up into teams so that each team could have a brainstorming session and work on the problem from their own angle. The Strategic Research team even used ChatGPT (a fairly novel strategy in early 2023!) to refine the list of options and bring it more in line with the focus group feedback we\u2019d collected. Meanwhile, the Kotlin Marketing team also consulted the Twitter community (now X), and the response was incredible: we received hundreds of thoughtful, fun, and clever suggestions.&nbsp;<\/p>\n<p>After much deliberation, the Kotlin team narrowed it down to a short list of appealing options. To avoid copyright clashes or intercultural confusion, we invited JetBrains Localization team and Copyeditor team to check how each option might be received among people from various cultural and linguistic backgrounds. After this analysis, we landed on three finalists: Kodee, Milo, and Lilo. Picking one was no small feat. Milo was nice, but had no obvious relation to Kotlin. One key reason it edged out Lilo was flexibility. In many languages, \u201cLilo\u201d would call to mind a shade of purple or violet. But since the mascot\u2019s look was bound to evolve over time, we thought it was best not to use a name that was tied to a physical trait. Ultimately, the Kotlin team landed on Kodee, a playful nod to coding that felt right at home in the Kotlin ecosystem.&nbsp;<\/p>\n<figure><\/figure>\n<p><strong>And just like that, Kodee was born \u2013 ready to meet the world, be animated in presentations, and featured on pins.<\/strong><\/p>\n<h2>Multiple versions of Kodee<\/h2>\n<p>The response to the new version of Kodee was overwhelmingly positive. Developers loved the refreshed design and personality, and it quickly became a recognizable part of the Kotlin identity.&nbsp;<\/p>\n<p>Today, Kodee takes many forms, from expressive emojis and animated stickers to physical merchandise like plush toys. It\u2019s not just a mascot anymore \u2013 it\u2019s a friendly face that brings the Kotlin community together across platforms and events.<\/p>\n<figure><\/figure>\n<p><em>Different versions of Kodee, including plush, Lego, and life-sized forms<\/em><\/p>\n<p>Recently, Kodee has started resonating beyond the developer community. Earlier this year, the character was presented at Pictoplasma in Berlin, one of the world\u2019s leading conferences dedicated to character design, storytelling, and contemporary visual culture. Introducing Kodee to an audience of designers, illustrators, and character creators demonstrated that the mascot can connect with people not only as a product symbol, but also as an independent character with its own identity and story. For us, this was an exciting milestone in Kodee\u2019s evolution and a reminder that well-crafted characters can build bridges between different creative communities.<\/p>\n<figure><\/figure>\n<p><em>Kodee\u2019s story at Pictoplasma in Berlin<\/em>, <em>plush Kodee shown on the screen<\/em><\/p>\n<h2>Conclusion<\/h2>\n<p>Kodee\u2019s journey from concept to community icon reflects a cross-functional effort by the Kotlin Marketing team in close collaboration with Design, Strategic Research, many other JetBrains teams, and the Kotlin community. What began as a simple idea for adding warmth and personality to the programming language evolved into a vibrant character shaped by feedback, creativity, and shared values.&nbsp;<\/p>\n<p>The greatest recognition for our mascot project came from the Kotlin community itself: Kodee was wholeheartedly adopted, creatively reinterpreted, and enthusiastically reproduced in countless ways, from digital artwork to handmade clay figures. It really became a character that Kotlin developers are proud to show off \u2013 one of the essential requirements for the mascot, as described by our focus group participants.<\/p>\n<p>With its expressive design, tech-savvy charm, and playful spirit, Kodee now stands out as more than just a mascot: it\u2019s a symbol of Kotlin\u2019s inclusive and developer-friendly culture, ready to grow alongside the community it represents.<\/p>\n<figure><\/figure>\n<p><em>Kodee and its leading researcher, Olga Vorobeva<\/em><\/p>\n<h2>Many thanks to all teams involved:<\/h2>\n<p><strong>Researchers:<\/strong>&nbsp;<br \/>Leading researcher \u2013 Olga Vorobeva<br \/>Naming \u2013 Yanina Ledovaya, Sofia Kulikova<br \/>Focus group designers and facilitators \u2013 Olga Vorobeva, Yanina Ledovaya, Raisa Kanischeva, Evgenia Igolnikova, Sofia Kulikova<\/p>\n<p><strong>Designers:<\/strong><br \/>Main designer \/ Kodee\u2019s \u201cmother\u201d \u2013 Tina Prokhorova<br \/>Positions and situations of the characters \u2013 Arina Kovrizhkina<br \/>Preliminary 3D version and animation \u2013 Kirill Malich<br \/>Final 3D version \u2013 Alexey Salmin<br \/>Final animation \u2013 Alena Sulza, Anastasia Ibragimova<\/p>\n<p><strong>Kotlin team representatives:<\/strong><br \/>VP of Product \u2013 Egor Tolstoy<br \/>Kotlin Marketing Team Lead \u2013 Ekaterina Volodko&nbsp;<br \/>PMM \u2013 Maria Krishtal<br \/>PMM \u2013 Ksenia Shneyveys<br \/>And other Kotlin team members who were always eager to help, brainstorm, and give feedback.<\/p>\n<\/p><\/div>\n<p> <a href=\"#\"><\/a> <\/section>\n<div>\n<p><h2>Discover more<\/h2>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/blog.jetbrains.com\/research\/2026\/07\/the-history-of-kodee\/\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kotlin Research A few years back, the Kotlin team figured it was time their programming language had a mascot \u2013 something fun and friendly to make developers feel more at home. After all, so many other programming languages have their own characters \u2013 Gofer, elePHPant, Dart\u2019s Dash, or Rust\u2019s Ferris, for example. Bringing Kodee to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3519,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[46],"tags":[],"class_list":["post-3520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jetbrain"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/3520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=3520"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/3520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/3519"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=3520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=3520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=3520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}