<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: helha</title>
    <description>The latest articles on DEV Community by helha (@koikuji).</description>
    <link>https://dev.to/koikuji</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4107189%2F31291a13-06c2-4071-8e2f-f34b5e3ad013.jpg</url>
      <title>DEV Community: helha</title>
      <link>https://dev.to/koikuji</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/koikuji"/>
    <language>en</language>
    <item>
      <title>Designing a Japanese 恋みくじ Web Experience: Culture, Emotion, and Responsible UX</title>
      <dc:creator>helha</dc:creator>
      <pubDate>Thu, 03 Sep 2026 04:04:17 +0000</pubDate>
      <link>https://dev.to/koikuji/designing-a-japanese-lian-mikuzi-web-experience-culture-emotion-and-responsible-ux-2p68</link>
      <guid>https://dev.to/koikuji/designing-a-japanese-lian-mikuzi-web-experience-culture-emotion-and-responsible-ux-2p68</guid>
      <description>&lt;p&gt;Building a Japanese &lt;a href="https://www.ichizenn.com/koi-mikuji/" rel="noopener noreferrer"&gt;恋みくじ&lt;/a&gt; experience for the web may look simple at first.&lt;/p&gt;

&lt;p&gt;Prepare a list of fortunes, choose one at random, display the result, and add a button that lets the visitor try again.&lt;/p&gt;

&lt;p&gt;Technically, that is enough to create a random result generator. But it is not enough to recreate the feeling of drawing a 恋みくじ.&lt;/p&gt;

&lt;p&gt;A traditional omikuji is not only a piece of information. It is a small ritual: approaching the place, thinking about a question, drawing a fortune, unfolding it, and interpreting what it might mean for your life.&lt;/p&gt;

&lt;p&gt;When that experience moves to a screen, the main challenge is not randomness. It is preserving the emotional rhythm of the ritual while making it understandable, respectful, accessible, and useful to modern visitors.&lt;/p&gt;

&lt;p&gt;Here are the principles I found most important when designing a Japanese 恋みくじ web experience.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start with the ritual, not the random function&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The simplest implementation of a 恋みくじ looks like this:&lt;/p&gt;

&lt;p&gt;javascript&lt;br&gt;
const result =&lt;br&gt;
  fortunes[Math.floor(Math.random() * fortunes.length)];&lt;/p&gt;

&lt;p&gt;The code is valid, but the experience is incomplete.&lt;/p&gt;

&lt;p&gt;A meaningful fortune-drawing flow usually has several emotional stages:&lt;/p&gt;

&lt;p&gt;text&lt;br&gt;
Arrival → Intention → Drawing → Reveal → Reflection&lt;/p&gt;

&lt;p&gt;Each stage has a different purpose.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Arrival&lt;/strong&gt; establishes the atmosphere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intention&lt;/strong&gt; asks the visitor to pause and think about their situation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drawing&lt;/strong&gt; creates anticipation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reveal&lt;/strong&gt; delivers the emotional moment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reflection&lt;/strong&gt; helps the visitor understand what to do next.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This suggests that the interface should behave more like a small journey than a utility page.&lt;/p&gt;

&lt;p&gt;A lightweight state model might look like this:&lt;/p&gt;

&lt;p&gt;typescript&lt;br&gt;
type FortuneStage =&lt;br&gt;
  | "introduction"&lt;br&gt;
  | "intention"&lt;br&gt;
  | "drawing"&lt;br&gt;
  | "result"&lt;br&gt;
  | "reflection";&lt;/p&gt;

&lt;p&gt;The implementation does not need to be complex. Even a single-page experience can move through these stages. What matters is giving each moment enough space.&lt;/p&gt;

&lt;p&gt;If the result appears immediately after the page loads, there is no sense of participation. If the animation is too long, however, anticipation becomes irritation.&lt;/p&gt;

&lt;p&gt;The right balance is usually a short, intentional action followed by a clear reveal.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Translate the cultural idea, not only the words&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The word &lt;strong&gt;恋みくじ&lt;/strong&gt; can be translated as “love fortune,” “romance fortune,” or “love omikuji.” None of these translations carries exactly the same cultural meaning.&lt;/p&gt;

&lt;p&gt;For a Japanese visitor, the word みくじ already suggests a familiar ritual. For an international visitor, “fortune” might suggest astrology, tarot, a fortune cookie, or even a prediction generated by artificial intelligence.&lt;/p&gt;

&lt;p&gt;Localization therefore requires more than replacing Japanese text with English text.&lt;/p&gt;

&lt;p&gt;A short explanation can establish the correct context:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;恋みくじ is a Japanese-style love fortune. Draw one while thinking about a romantic question, then use the result as a prompt for reflection.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This explanation does three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It introduces the Japanese name.&lt;/li&gt;
&lt;li&gt;It tells the visitor what action to take.&lt;/li&gt;
&lt;li&gt;It avoids claiming that the result can predict the future with certainty.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Whenever possible, I prefer keeping the original word &lt;strong&gt;恋みくじ&lt;/strong&gt; visible beside its explanation. Removing every Japanese term may make the interface easier to translate, but it also removes part of the product’s identity.&lt;/p&gt;

&lt;p&gt;The goal is not to make Japanese culture look generically “mystical.” The goal is to give visitors enough context to participate respectfully.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Let the visitor form an intention&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A physical omikuji often begins with an unspoken question. The person drawing it may be thinking about a relationship, an exam, work, health, or the coming year.&lt;/p&gt;

&lt;p&gt;For a 恋みくじ, that question is usually more specific:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does this person share my feelings?&lt;/li&gt;
&lt;li&gt;Should I send a message?&lt;/li&gt;
&lt;li&gt;Is reconciliation possible?&lt;/li&gt;
&lt;li&gt;How should I handle a long-distance relationship?&lt;/li&gt;
&lt;li&gt;Is it time to let go?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A web experience can support this moment without asking the visitor to enter sensitive personal information.&lt;/p&gt;

&lt;p&gt;For example, the interface can present a few optional situations:&lt;/p&gt;

&lt;p&gt;javascript&lt;br&gt;
const situations = [&lt;br&gt;
  "Someone I like",&lt;br&gt;
  "Waiting for a reply",&lt;br&gt;
  "Reconciliation",&lt;br&gt;
  "Long-distance relationship",&lt;br&gt;
  "A new encounter"&lt;br&gt;
];&lt;/p&gt;

&lt;p&gt;The visitor chooses the situation privately, pauses for a moment, and then draws the 恋みくじ.&lt;/p&gt;

&lt;p&gt;This creates relevance without requiring names, birthdays, email addresses, or account registration. It also avoids turning an emotional experience into a data-collection form.&lt;/p&gt;

&lt;p&gt;The question should stay in the visitor’s mind. The application does not need to store it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Design results that encourage reflection&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A fortune result needs more structure than a label such as “Great Blessing” or “Bad Luck.”&lt;/p&gt;

&lt;p&gt;A useful 恋みくじ result can contain four layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The symbolic result&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the memorable headline: good fortune, uncertain fortune, a turning point, patience, or a new beginning.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The emotional interpretation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Explain what the result could mean in the context of a relationship.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A practical suggestion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Give the visitor a small, realistic action:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Listen before trying to persuade.&lt;/li&gt;
&lt;li&gt;Wait before sending another message.&lt;/li&gt;
&lt;li&gt;Express gratitude clearly.&lt;/li&gt;
&lt;li&gt;Avoid interpreting silence too quickly.&lt;/li&gt;
&lt;li&gt;Make space for your own feelings.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;A reflective question&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;End with something the visitor can consider after leaving the page:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Are you waiting for a sign, or are you avoiding a conversation you already know you need?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This structure makes the result feel more thoughtful while remaining honest about what it is.&lt;/p&gt;

&lt;p&gt;A 恋みくじ should not present itself as professional psychological, medical, or relationship advice. It can offer perspective, but it should not make high-stakes decisions for the visitor.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use uncertainty responsibly&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Randomness can create delight, but it can also create unhealthy repetition.&lt;/p&gt;

&lt;p&gt;If a visitor dislikes the result, the easiest design choice is to show a large “Draw Again” button. That can increase clicks, but it weakens the ritual. The visitor may continue drawing until the application says what they want to hear.&lt;/p&gt;

&lt;p&gt;A better experience can gently encourage reflection before another attempt.&lt;/p&gt;

&lt;p&gt;Possible approaches include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allowing one primary draw per visit.&lt;/li&gt;
&lt;li&gt;Letting visitors save the result instead of immediately redrawing.&lt;/li&gt;
&lt;li&gt;Showing a quiet reminder that a fortune is a prompt, not a guarantee.&lt;/li&gt;
&lt;li&gt;Making the second draw less visually prominent.&lt;/li&gt;
&lt;li&gt;Offering a short journal question after the result.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The product should never manufacture anxiety in order to increase engagement.&lt;/p&gt;

&lt;p&gt;Messages such as “Your relationship may be in danger—draw again to learn more” may produce more clicks, but they damage trust. Emotional products need a higher standard of restraint than ordinary entertainment tools.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Treat privacy as part of the experience&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Romantic questions are personal. Even a simple interaction can reveal something sensitive about a visitor’s emotional state.&lt;/p&gt;

&lt;p&gt;For that reason, privacy should be visible in the product design rather than hidden inside a long policy page.&lt;/p&gt;

&lt;p&gt;If the experience does not need registration, do not require it.&lt;/p&gt;

&lt;p&gt;If a selected situation can remain in the browser, do not send it to a server unnecessarily.&lt;/p&gt;

&lt;p&gt;If analytics are used, collect only what is needed to understand the product at an aggregate level.&lt;/p&gt;

&lt;p&gt;Useful measurements might include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many visitors start a draw.&lt;/li&gt;
&lt;li&gt;How many complete it.&lt;/li&gt;
&lt;li&gt;Whether visitors can reach the result on mobile devices.&lt;/li&gt;
&lt;li&gt;Which interface language is selected.&lt;/li&gt;
&lt;li&gt;Whether visitors use the save or share function.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You probably do not need to know the visitor’s name, the identity of the person they like, or the exact question they were thinking about.&lt;/p&gt;

&lt;p&gt;“No account required” is not merely a conversion tactic. For a 恋みくじ, it can be an important part of emotional safety.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Keep the atmosphere, but protect usability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Japanese-inspired visual design can easily become overloaded with cherry blossoms, red gradients, gold borders, paper textures, shrine gates, animated particles, and decorative typography.&lt;/p&gt;

&lt;p&gt;These elements can create atmosphere, but they should not compete with the actual interaction.&lt;/p&gt;

&lt;p&gt;The central action needs to remain obvious:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Think about your question, then draw your 恋みくじ.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A restrained visual system is often more effective:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One primary accent color.&lt;/li&gt;
&lt;li&gt;Generous spacing.&lt;/li&gt;
&lt;li&gt;A readable Japanese font.&lt;/li&gt;
&lt;li&gt;A clear result hierarchy.&lt;/li&gt;
&lt;li&gt;Subtle paper or shrine-inspired details.&lt;/li&gt;
&lt;li&gt;Short animation used only at the moment of drawing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The product should also respect accessibility preferences.&lt;/p&gt;

&lt;p&gt;css&lt;br&gt;
&lt;a class="mentioned-user" href="https://dev.to/media"&gt;@media&lt;/a&gt; (prefers-reduced-motion: reduce) {&lt;br&gt;
  .fortune-animation {&lt;br&gt;
    animation: none;&lt;br&gt;
    transition: none;&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Text should remain readable at larger font sizes, keyboard users should be able to complete the draw, and color should not be the only way to communicate whether a result is positive, neutral, or cautionary.&lt;/p&gt;

&lt;p&gt;Atmosphere matters, but accessibility is part of hospitality.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make waiting feel intentional&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The reveal is often the most memorable part of a digital 恋みくじ.&lt;/p&gt;

&lt;p&gt;A short animation can simulate drawing, unfolding, or opening a fortune. However, the animation should create anticipation rather than disguise unnecessary loading time.&lt;/p&gt;

&lt;p&gt;A practical sequence might be:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The visitor presses the draw button.&lt;/li&gt;
&lt;li&gt;The button becomes temporarily disabled.&lt;/li&gt;
&lt;li&gt;A short visual response confirms the action.&lt;/li&gt;
&lt;li&gt;The result appears after approximately one second.&lt;/li&gt;
&lt;li&gt;Focus moves to the result heading for screen readers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;javascript&lt;br&gt;
drawButton.addEventListener("click", async () =&amp;gt; {&lt;br&gt;
  drawButton.disabled = true;&lt;br&gt;
  setStage("drawing");&lt;/p&gt;

&lt;p&gt;await playShortAnimation();&lt;/p&gt;

&lt;p&gt;const result = selectFortune();&lt;br&gt;
  renderResult(result);&lt;br&gt;
  setStage("result");&lt;/p&gt;

&lt;p&gt;resultHeading.focus();&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;The exact duration should be tested on real mobile devices. What feels elegant on a fast desktop may feel unresponsive on a slower connection.&lt;/p&gt;

&lt;p&gt;Performance is part of the emotional design. A ritual loses its atmosphere quickly when a large background image blocks the page or the draw button shifts during loading.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Design sharing around meaning, not spam&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Fortunes are naturally shareable. A visitor may want to send the result to a friend, post it on social media, or save it as an image.&lt;/p&gt;

&lt;p&gt;The shared content should make sense outside the application.&lt;/p&gt;

&lt;p&gt;A useful share card can contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The result title.&lt;/li&gt;
&lt;li&gt;One short interpretation.&lt;/li&gt;
&lt;li&gt;The name 恋みくじ.&lt;/li&gt;
&lt;li&gt;A subtle product URL.&lt;/li&gt;
&lt;li&gt;An accessible text alternative.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avoid automatically posting on the visitor’s behalf or forcing a share before revealing the full result.&lt;/p&gt;

&lt;p&gt;Sharing should be an optional expression of the experience, not the price of accessing it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use the real product as a continuing design test&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While working on these ideas, I have been applying them to &lt;a href="https://www.ichizenn.com/koi-mikuji/" rel="noopener noreferrer"&gt;Ichizenn’s 恋みくじ&lt;/a&gt;, a browser-based Japanese love-fortune experience.&lt;/p&gt;

&lt;p&gt;The most useful lesson has been that people do not approach a love fortune like they approach a calculator.&lt;/p&gt;

&lt;p&gt;They arrive with uncertainty, curiosity, hope, or hesitation. That changes how every detail should be designed: the opening text, the drawing action, the result language, the privacy model, and even the position of the “try again” button.&lt;/p&gt;

&lt;p&gt;The technology can be relatively straightforward. The difficult part is deciding what the interface should communicate at each emotional moment.&lt;/p&gt;

&lt;p&gt;What I would improve next&lt;/p&gt;

&lt;p&gt;There are several directions I would like to explore further:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clearer explanations for visitors unfamiliar with Japanese omikuji.&lt;/li&gt;
&lt;li&gt;Better internationalization without erasing the word 恋みくじ.&lt;/li&gt;
&lt;li&gt;More accessible result animations.&lt;/li&gt;
&lt;li&gt;A private way to save a result without creating an account.&lt;/li&gt;
&lt;li&gt;Better distinction between entertainment, reflection, and advice.&lt;/li&gt;
&lt;li&gt;Measuring whether visitors leave with clarity rather than simply increasing draw counts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A culturally specific product does not need to remove its origins to reach a wider audience. But it does need to explain those origins carefully.&lt;/p&gt;

&lt;p&gt;For me, the best digital 恋みくじ is not the one with the most elaborate animation or the largest database of results.&lt;/p&gt;

&lt;p&gt;It is the one that creates a brief pause, gives the visitor something meaningful to consider, and then allows them to continue their day without pressure.&lt;/p&gt;

&lt;p&gt;If you were building a culturally specific web experience, which parts would you preserve exactly—and which parts would you redesign for an international audience?&lt;/p&gt;

</description>
      <category>culture</category>
      <category>frontend</category>
      <category>ux</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
