Playa | Ganda Studio  [ganda.studio ](/)

[Results](/results) Services 

[Process](/process)[About](/about)

[Let's Talk](/contact)

Open main menu

[ All results ](/results)Registration-free player identity for short-lived Laravel experiences.

Playa
=====

Released publicly in 2026, Playa is an open-source Laravel package that recognises a returning device as a lightweights player without forcing users to create an account.

1. ![Playa Laravel News feature](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/118/conversions/01KZP9M54W619M8N5NJ980REYY-hero.jpg)
2. ![Playa - open source on GitHub](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/119/conversions/01KZP9M6D7N8510AFYHC75Q4BR-hero.jpg)

Item 1 of 2

[![Playa Laravel News feature](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/118/conversions/01KZP9M54W619M8N5NJ980REYY-thumb.jpg)](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/118/conversions/01KZP9M54W619M8N5NJ980REYY-hero.jpg)[![Playa - open source on GitHub](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/119/conversions/01KZP9M6D7N8510AFYHC75Q4BR-thumb.jpg)](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/119/conversions/01KZP9M6D7N8510AFYHC75Q4BR-hero.jpg)

[![Playa Laravel News feature](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/118/conversions/01KZP9M54W619M8N5NJ980REYY-thumb.jpg)](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/118/conversions/01KZP9M54W619M8N5NJ980REYY-hero.jpg)[![Playa - open source on GitHub](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/119/conversions/01KZP9M6D7N8510AFYHC75Q4BR-thumb.jpg)](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/119/conversions/01KZP9M6D7N8510AFYHC75Q4BR-hero.jpg)

 Services demonstrated

[Operational software, portals &amp; digital productsCustom Software &amp; Business Platforms ](/services/custom-software)

The Problem
-----------

Short-lived games, votes, kiosks, demonstrations and QR journeys need a reliable way to recognise a returning device, but account registration adds friction to interactions that should begin immediately. Rebuilding temporary-player cookies, expiry and linking logic in every game also duplicated development and created inconsistent privacy boundaries.

What we built
-------------

Playa—named as a play on “player”—was extracted from the identity pattern used across Ganda's games and released as the MIT-licensed `charlielangridge/playa` Composer package in May 2026. Middleware creates or resolves a server-side Player record while a normal Laravel web route stores only its UUID in a Laravel-encrypted, HttpOnly, SameSite cookie. It recognises a browser or device for an application flow; it does not authenticate or prove a real person's identity. Applications can configure identity lifetime, renewal on return visits and pruning of expired records; store a name, username and application-specific JSON data; and extend the Player model with their own relationships, casts and helpers. Temporary players can be linked to users manually or through optional automatic linking, which is disabled by default, with bigint, UUID, ULID and string user keys supported. Created, resolved, renewed, expired and user-linked events let host applications react to the lifecycle without modifying the package.

The Result
----------

Players can enter Ganda's games and other short interactions faster, without an unnecessary registration step, reducing opportunities for abandonment before play begins. The shared package also gives every new game a tested identity foundation instead of another one-off implementation.

What the platform does
----------------------

Creates and resolves a lightweight server-side Player identity without requiring registration.

Stores only the player UUID in an encrypted, HttpOnly cookie on standard Laravel web routes.

Supports configurable expiry, renewal, forgetting and scheduled pruning of temporary players.

Allows custom Player models, application data and optional linking to several Laravel user-key types.

Dispatches lifecycle events so games, votes, kiosks, QR journeys and demos can respond without changing the package.

[More Projects](/results)[![Brighton Bar Awards homepage](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/93/conversions/01KZP5T3YQY19TA636MVX93YAZ-card.jpg)

### Brighton Bar Awards

A reusable awards, voting and ticketing platform for Brighton's hospitality community.](/results/brighton-bar-awards)[![DirtyTalk public landing page](https://fls-a235f3bc-a824-4b1e-aeb6-ed3f4e1c5098.laravel.cloud/120/conversions/01KZPA6AY0QB55GGF5DS1F6F8D-card.jpg)

### DirtyTalk

A Nokia-inspired event site with a moderated live-message hotline.](/results/dirtytalk)[ See more of what we've solved ](/results)

Have a project that we could help with?

[ Let's talk ](/contact)

 ganda.studio © 2026 [Ganda Media Ltd.](https://gandamediasolutions.com/) All rights reserved.

[ tools we use ](/tools-we-use)

[Facebook](https://www.facebook.com/gandamediauk)[Instagram](https://www.instagram.com/gandamediauk)[GitHub](https://github.com/charlielangridge)[LinkedIn](https://www.linkedin.com/company/ganda-media-ltd-)
