Play · Modes · Features · What's new · Under the hood · Run it locally · Community · Credits
Every day at midnight (Paris time), each mode draws a new target. Guess it with the clues you're given, compare with your friends, keep your streak alive.
- Open personadle.net — no install, no account required.
- Pick a mode. Type a name; the autocomplete shows portraits.
- Every guess reveals something. Find the answer, or give up to see it.
- Replay as many times as you like — every game counts toward your stats.
- Create a free account to sync across devices, add friends, climb the leaderboard and unlock badges.
🇫🇷 🇪🇸 🇩🇪 🇮🇹 🇵🇹 The whole game is available in six languages, auto-detected from your browser.
⚡ Expert Mode — every mode has a harder twin, earned by playing: a single quote instead of traits, one lying emoji, a flash you trigger yourself, a frozen black-and-white blur, lyrics without audio, the Persona's real myth with its name masked. Expert keeps its own targets, stats and leaderboard.
| 🎖️ 69 badges Some secret, one you earn together with a friend, all verified server-side. |
🏅 Titles & Compendium Equip a title; every deed is written, dated, in your Compendium. |
🖼️ Profile card A shareable PNG of your profile — 8 themes, 39 wallpapers, copy straight to Discord. |
| 👥 Friends & Social Links Friend codes, P4 TV / calling-card animations, ranks 1 → 10 per Arcana. |
⚔️ Challenges Send your daily game to a friend — normal or Expert — and compare. |
🏆 Leaderboard By mode, period and dimension (Normal / Expert), friends-only scope. |
| ☁️ Cloud sync Offline-first; the server is the source of truth once you log in. |
🎨 Persona 5 UI Dark mode, colour-blind palette, profile music, atelier for everything you customise. |
🛡️ Admin & anti-cheat Moderation panel, event codes, daily target recomputed on the server. |
2.3 — September 2026 · Kotone Shiomi
- Kotone Shiomi joins All-Out Attack with her Persona 5: The Phantom X animation, and her P5X portrait replaces the old one everywhere.
- Friendship ranking: a Social Link dimension that ranks bonds rather than players, with its own podium. Social Link XP no longer stops at rank 10.
- Badges: reorder your pinned ones by drag, click one to read its details, and an eye on every badge in the workshop. Five new badges and the Déjà Vu title.
- 146 new profile pictures (204 → 350), an Animated tab, and Sun from Persona 3 Portable in Music mode.
- Lighter: opening your profile went from 125.6 MB to 13.5 MB, and the heaviest All-Out Attack round from 80.2 MB to 3.2 MB.
- 2.3.1: badge and title unlocks are decided by the server, an Expert friend challenge no longer wins itself, Kotone's animated pictures stay animated, and the Classic page starts as high as the other modes on mobile.
- 2.3.2: on phones, Hint and Give Up sit side by side again in Classic — the answer field moved 170 px up — the duplicate "Delete my account" button left the profile page, and the empty notification dot left the Friends icon. On Discord, the daily is announced by 39 voices instead of 8 and the Sunday recap shows the podium's portraits.
- 2.3.3: the Replay button is back at the end of a Classic round — it had vanished in 2.3.2, in both normal and Expert, leaving no way to start over without reloading the page.
2.2 — Profile showcase & Compendium
- Profile showcase: badges in large, wallpaper collection, share card; everything editable lives in one Atelier.
- Compendium of titles, Expert leaderboard dimension, opus filters in a window.
- Wonder Shujin in All-Out Attack, five new badges, the Go Beyond title, seven titles, three songs.
- Persona Q / Q2 portraits, Persona 4 Revival wallpaper, Portuguese titles.
- 2.2.x: Expert stats editable, badge Same Energy fixed, weekly Discord top 3, "Copy for Discord" repaired.
📦 All releases with notes → · 📖 Player changelogs: 2.3 · 2.2 · 2.1 · 🔧 Dev changelogs: 2.3 · 2.2 · 2.1 · 2.0
No framework, no bundler, no build step. The front end is plain ES modules; the back end is PHP with prepared statements only; the database is the source of truth.
Browser ── ES modules ──► /api (PHP 8.2, PDO) ──► MariaDB 10.6+ → 30-table relational schema
│ │
│ localStorage │ sessions httpOnly · bcrypt · CSRF · rate limiting
│ (offline-first) │ CSP · HSTS · exact-origin CORS · Psalm taint analysis
▼ ▼
Service worker Cron: leaderboard cache, Discord daily & weekly posts, GDPR purge
| Layer | What |
|---|---|
| Front end | HTML5 · CSS3 (one file per component, dark mode) · Vanilla JavaScript ES6+ |
| Back end | PHP 8.2 REST API — GET/POST/PATCH/DELETE /api/{resource}, JSON, proper status codes |
| Database | MariaDB 10.6+ / MySQL 8.0 — 30-table relational schema, 1548+ unit tests keep the contract honest |
| i18n | EN · FR · ES · DE · IT · PT (1314 keys each), en.json is the source of truth |
| Hosting | Hostinger, auto-deploy on push to main; SQL migrations applied by hand before the merge |
Every pull request runs the whole thing; main only receives releases from develop.
Vitest + jsdom → 1548 tests unitaires (logique de jeu, backend, streak, i18n, validation données)
PHPUnit → tests de logique pure + intégration DB (contrat de schéma)
Playwright → 329 E2E sur la stack Docker complète (smoke, API, Social Link)
PHPStan → analyse statique PHP niveau 5 · Psalm → taint analysis
ESLint+Prettier→ lint + format · i18n / data / daily-pool consistency checks
Supported browsers: Chrome 90+, Firefox 88+, Safari 14+ (iOS 14+), Edge 90+.
git clone https://github.com/CodeByHaamza/personadle.git && cd personadle
npm install
make up # MariaDB + PHP + phpMyAdmin in Docker, schema and seed loaded → http://localhost:8080
npm test # 1548 unit tests
make test-php # PHPUnit, inside the container
npm run test:e2e # Playwright against the Docker stack
make check # lint + data + i18n + doc numbers + daily poolsWhere to read next: CONTRIBUTING.md (branches, conventions, review checklist) · DEPLOY.md (release procedure, migrations) · ROADMAP.md (what's next) · tests/README.md and tests-e2e/README.md (the test pyramid).
- Discord — PersonaDLE · discord.gg/wpMdGGDp3y: daily puzzle announcements, weekly top 3, the Velvet Room Arcana test, profile gallery, bug reports and ideas (one thread each — every thread gets a status).
- Discord — Le Grimoire du Cœur · discord.gg/CfR8UHXTAE: our French partner server, the most active.
- Bugs & ideas · GitHub issues work too.
![]() Hamza Karrouchi Founder & lead developer — game design, logic, backend, UI, content, ops. Sole maintainer since mid-2025. |
PersonaDLE started as a small team in spring 2025. These people shaped its early days.
- Smashdle (Pimeko) for the concept, Pokedle for the early codebase reference.
Arati (YouTube · X) for featuring PersonaDLE, and
Faz for the All-Out Attack footage.- The Megami Tensei Wiki for character data, r/persona4golden and both Discord servers for testing and endless feedback.
- Atlus / SEGA for the universe, Shoji Meguro for the music.
The source code is released under the MIT License. The game assets — character names, portraits, artwork, music, logos, quotes and any other Persona / Shin Megami Tensei content — are not covered by it: they remain the property of their rights holders (© ATLUS · © SEGA) and may not be redistributed. Reuse the code, bring your own assets.
PersonaDLE is a fan-made, non-commercial project, not affiliated with, endorsed by or connected to Atlus or SEGA. Rights holders may request the removal of their material at any time; such requests are honoured.
Some badges and wallpapers were made with AI assistance. As students working on this project for free, we didn't have the budget to commission artists; we deeply respect them and would prioritise working with human artists if PersonaDLE ever received support.
"I am thou, thou art I… And together, we'll reach the truth."
Made with ❤️ by fans, for fans. If you enjoy PersonaDLE, support the official games.















