BlogKovo

How We Built Jolopi, a Game Portal That Runs on the PlayKovo Catalog

November 5, 2026 · 5 min read
How We Built Jolopi, a Game Portal That Runs on the PlayKovo Catalog

Most game catalogs look the same: a wall of identical boxes, a title under each one, and a scroll bar. We wanted to see what happens if the game's artwork does the talking instead. That experiment became Jolopi, a browser game portal that runs entirely on games pulled from PlayKovo. This post is the developer diary: what it does, how the data flows, and why we think the setup is a useful template for anyone running a website who wants a games section that mostly looks after itself.

What Jolopi is

The Jolopi game hub is a visual-first HTML5 portal. Everything plays in the browser, with nothing to install. Right now it lists 134 games, and the interface comes in three languages: Turkish, English and German.

The home page opens with a featured-game composition, followed by a discovery grid that mixes tile sizes so the page has rhythm instead of a uniform checkerboard. Category filters and search sit on top of that. Favorites and recently played games are stored in the visitor's own browser. The layout works on phones, and it supports keyboard navigation and common accessibility practices.

None of the games belong to Jolopi. Every page ends with a "Powered by PlayKovo" link, because the catalog has one owner and one source, and every page says so.

Where the games come from

This is the part that matters most if you run a site of your own. Jolopi has no game library of its own to maintain. The game data comes from PlayKovo's JSON source.

The Jolopi server fetches that feed and proxies it under Jolopi's own origin, so the browser only ever talks to Jolopi. Each time a request succeeds, the server keeps the last good response as a cached snapshot. If PlayKovo is briefly unreachable, Jolopi keeps serving the most recent snapshot instead of showing an empty page. There is also a health endpoint that reports when the last successful sync happened, which makes it easy to tell at a glance whether the catalog is fresh.

The effect is that new and updated games appear on the portal without anyone editing a list by hand. The catalog is the single source of truth, and the portal is a presentation layer on top of it.

One more rule keeps the relationship clean: Jolopi only reads from the catalog. It never writes anything to PlayKovo's database.

The architecture in short

We kept the stack deliberately plain:

  • Catalog: game data is read from the PlayKovo game catalog, proxied by our server, and cached with a last-good snapshot as a fallback.
  • Server: a small Node.js app with no dependencies (Node 20 or newer). Pages are rendered on the server, so search engines receive complete HTML.
  • Hosting: Vercel, as a single serverless function. Every request goes through one handler.
  • Database and auth: Supabase (PostgreSQL, Frankfurt region). It stores votes, app settings and analytics. Row-level security policies are enabled.
  • Admin: a hidden /studio panel, not linked from public pages, for editing content and SEO records and for bulk JSON imports. Only authorized admin accounts can sign in.

Splitting things this way has a practical benefit. The catalog is fed from one place, while the storefront can change its design, its filters or its copy without touching the data source. A separate database for votes and settings means the portal's own state never mixes with the catalog.

How we approached multilingual SEO

This was the most rewarding part of the build, and the part we would copy first on any new site.

Every game has its own title, description, instructions and controls text, and each of those exists per language. So the same game can be found in Turkish, English and German, each with copy written for that audience. Page titles and descriptions are translated per language too, and the home page, the content pages and each category have their own SEO records.

A few rules we follow:

  • Titles are short and specific to the page. Descriptions are derived programmatically from the game's own text, so they describe what is actually there.
  • Hosts that are not the canonical one are kept out of search indexes, which prevents duplicate versions of the site from competing with the real one.
  • When the live site publishes its sitemap URLs, they are announced to search engines automatically through IndexNow.

We are careful about what this proves. None of it guarantees a ranking. It simply removes the avoidable problems: duplicate hosts, empty HTML, generic titles and untranslated pages. What happens after that is up to the search engines and the quality of the pages.

Because pages are rendered on the server, a crawler sees the finished markup the first time it asks, rather than waiting for scripts to build the page.

Why build it this way

The goal was never to compete with the catalog. It was to give PlayKovo's games a second storefront with a different personality: image first, less list-like, easy to browse on a phone. Having the catalog fed from one place meant we could build that storefront quickly and keep changing it independently.

It also shows what is possible for any site owner. If you run a blog, a community site or a small arcade page, you do not need to host game files, track updates or hand-write descriptions. You point your site at a catalog, decide how to present it, and let the data keep itself current. Our earlier guides on building an automatically updated game catalog and on adding a games section without a database cover the simpler versions of the same idea. Jolopi is the bigger version, with a server, a database and a lot more polish.

If you do build something similar, two habits from this project are worth keeping. First, cache the last good response so an outage upstream never becomes an outage for your visitors. Second, link back to the source clearly on every page. It keeps the credit where it belongs, and it keeps your visitors able to find the original catalog.

What is next

The structure is in place, so the next stretch of work is mostly editorial: extending the content and SEO records so more pages carry their own copy in all three languages.

Try it

Browse the games on Jolopi or explore the full catalog on PlayKovo.

Related Posts