惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
博客园_首页
量子位
F
Fortinet All Blogs
L
LangChain Blog
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
U
Unit 42
IT之家
IT之家

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Tarotas by Inithouse: What We Learned Launching a Tarot A...
Jakub · 2026-06-24 · via DEV Community

Jakub

TL;DR: We launched Tarotas, a tarot reading app, in five languages (Czech, Slovak, Polish, English, German) on a single domain. Each market behaved completely differently. Here is what the data showed us about multi-locale growth.

When we started building Tarotas at Inithouse, the plan seemed straightforward: one product, five languages, one domain. Czech as the base, then Slovak, Polish, English, and German. Same cards, same readings, same UI. Just translated.

What we did not expect: each locale acts like a separate product.

The setup

Tarotas is a tarot card app where you draw a card and read a calm, generic interpretation. No fortune telling, no sign-ups, no paywall. 78 cards across five languages, all on tarotas.com with language detection.

We built it in Lovable and deployed it in under two weeks. The multi-language part took another week: content generation for 78 cards times 5 languages, plus locale-specific meta tags and URL structures.

What the data told us

The Czech and Slovak markets responded first. That was expected: our studio is based in Prague, our existing portfolio (products like zivafotka.cz and magicalsong.com) already had traction in CZ/SK.

But the interesting part was the divergence.

CZ/SK users stayed longer. Session duration in Czech and Slovak was noticeably higher than in other locales. Users explored multiple cards, came back for second readings. The "reflection" positioning landed well in these markets, likely because tarot has a quiet cultural niche in Central Europe: not mainstream, but not fringe either.

Polish users bounced faster but shared more. The PL locale had higher bounce rates but showed a different signal: social referrals. Polish users who did engage were more likely to share readings. The tarot community in Poland leans more social: Facebook groups, Instagram stories, TikTok readings. Our product caught some of that energy.

German users barely showed up. DE was our weakest locale by far. German-language search demand for tarot is fragmented across established players: Astrozeit24, Kartenlegen.org, Viversum. These sites have years of domain authority and very specific content. A new entrant with a minimalist "draw one card" experience had almost no organic surface area.

English was noise. The EN locale attracted traffic, but mostly from markets we were not targeting: US, India, Philippines. Generic "free tarot reading" searches with high volume and zero intent match. Without paid acquisition targeting specific English-speaking markets, this locale was just diluting our metrics.

The keyword problem

Long-tail keyword research per language revealed a structural challenge. In Czech, "tarot vykladani karet" and "tarot online zdarma" have modest volume but low competition. We could rank page one within weeks.

In German, equivalent queries ("tarot kartenlegen kostenlos", "tarot tageskarte") are dominated by sites with tens of thousands of pages of card-by-card content. Our 78-card app with generic interpretations could not compete on content depth.

In Polish, we found a middle ground. Queries like "darmowy tarot online" have decent volume, and the competitive landscape is less consolidated than in German. The social sharing pattern we observed correlated with searches that included community-oriented modifiers: "tarot dla przyjaciol" (tarot for friends), "tarot na wieczor" (evening tarot).

What this means for budget

The naive approach would be to spread marketing budget evenly across locales. The data pushed us in the opposite direction.

CZ/SK gets the organic focus. These markets convert with zero paid spend, and the retention signals are real. Content in Czech and Slovak has a clear ROI path.

PL gets a small experimental budget. The social sharing pattern is interesting enough to test with lightweight paid amplification. But the key metric here is share rate, not direct traffic.

DE and EN get nothing for now. Until we have either (a) massively more content depth to compete with established German tarot sites, or (b) a specific English-speaking market strategy beyond "free tarot," spending here is waste.

This mirrors what we have seen across other Inithouse products. When we launched zivafotka.cz (an AI photo animation tool) across CZ, SK, PL, EN, and DE domains, the same pattern emerged: home markets first, adjacent markets with cultural fit second, everything else later or never.

The uncomfortable lesson

Five languages sounds impressive in a pitch. In practice, it means five separate distribution problems, five sets of competitors, five content strategies. And the marginal cost of adding a language is not zero: it is the opportunity cost of not going deeper in the markets that already work.

If we were starting Tarotas today, we would launch in Czech only. Prove retention and organic growth in one market. Then expand to Slovak (minimal incremental effort, shared cultural context). Polish would be the first real expansion bet.

German and English would wait until we had a reason beyond "we can."

At Inithouse, a studio shipping a growing portfolio of products in parallel, we are still learning this lesson. More languages does not mean more growth. It means more surface area to maintain, more competitors to track, and more data to misread.

Jakub, builder @ Inithouse