Skip to content

Latest commit

 

History

683 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎭 PERSONADLE

Personadle Logo

A daily guessing game set in the Persona universe
From Persona 1 to Persona 5X

License CI Status Version Made with JavaScript Tests PHP Backend Languages

FeaturesGame ModesWhat's NewHow to PlayTech StackRoadmap


🎮 About

Personadle is a free, fan-made browser game celebrating the beloved Persona series (Persona 1-5X). Inspired by Smashdle, each day brings a new character to identify through various clue types—silhouettes, quotes, personas, emojis, music, and more.

Perfect for both long-time fans and newcomers to the series!

👉 Play now at personadle.net

PersonaDLE home — 6 game modes


✨ Features

🎖️ Badge System Unlock 60+ unique achievements across 4 categories
🖼️ Profile Card Sharing Export your profile as a PNG — 8 themes, 37 wallpapers, share on X / Discord
🔊 Sound Effects Victory sounds and interactive button feedback
🎨 Persona 5 UI Stylish interface with SVG effects and dynamic transitions
📊 Stats Tracking Monitor wins, streaks, playtime, and favorite modes
🌙 Dark Mode Eye-friendly default theme with colorblind options
🌐 Multi-language 6 languages: EN, FR, ES, DE, IT, PT — auto-detected from browser
👥 Friends System Search by code, send requests, online status, P4 TV / Calling Card animations
🏆 Leaderboard Rankings by mode and period (weekly / monthly / all-time), friends scope
💫 Social Link System Ranks 1-10 (Stranger → True Confidant), XP, mutual actions, golden halo effect
⚔️ Daily Challenges Challenge friends to a specific mode and compare results
☁️ Cloud Sync Offline-first, PHP backend — progress synced automatically when online
🔔 Notifications Challenge results, friend requests, Social Link rank-ups
🎵 Profile Music Choose a Persona track that plays on your profile page
🔰 Titles / Ranks Unlock titles via stats (e.g. "Phantom Thief", "Wild Card"), equip one on your profile
🎟️ Event Codes Redeem limited-time codes for exclusive badges
🛡️ Admin Panel User moderation (ban, pseudo lock), event codes CRUD, stats dashboard

🎯 Game Modes

🔍 Classic Mode

Compare character traits—Arcana, gender, age, game, Persona, etc.—with color-coded feedback (colorblind-friendly mode available). Each guess brings you closer!

😀 Emoji Mode

Decode a series of emojis that gradually appear. Use logic (and creativity) to link them to a character.

⚔️ All-Out Attack Mode

A blurred battle animation reveals step by step. Identify the pose, costume, or attack pattern!

🖤 Shadow Mode

A dark silhouette zooms out with each wrong guess. Test your visual memory!

👤 Personae Mode

Identify which character uses a specific Persona. Perfect for Velvet Room veterans!

🎵 Music Mode

Listen to short music clips and identify the character or theme. True fans will excel here!

📸 View Screenshots
Classic Mode Emoji Mode
All-Out Attack Shadow Mode
Personae Mode Music Mode

Social & progression

Profile page Leaderboard
Friends & Social Link Home — 6 game modes

🆕 What's New

⚡ v2.1 - September 2026 (Latest)

⚡ Expert Mode — a second way to play all six modes

  • One Expert variant per mode, each with its own degraded clue: a single quote (Classic), one lying emoji (Emoji), a self-triggered flash instead of a permanent image (Silhouette), a frozen black-and-white blur (All-Out Attack), lyrics with no audio (Music), and the real mythological story behind the Persona, with the name masked (Personae)
  • Earned, not given: each mode unlocks through its own condition (fast wins, wins in a single day, or a streak of perfect first-try wins), verified server-side
  • A lock-shattering animation plays on the next page load once a mode is unlocked
  • Expert games keep their own state, targets and stats — playing Expert never touches your daily game
  • Admins can grant a mode manually — but never revoke an access earned by playing

🎯 New content

  • 8 Arena Ultimax silhouettes for the SEES (Aigis, Akihiko, Fuuka, Junpei, Ken, Koromaru, Mitsuru, Yukari) — separate answers from their P3 versions, tagged P4AU in the suggestions
  • 11 more songs, including Memories of You (P3R), Kimi no Tonari (P2IS), Wait and See (PQ2) and Heartful Cry (P3FES)
  • Chord Summer joins All-Out Attack, and Persona 1 joins Personae mode
  • Persona Trinity Souls as a filterable title, with the Kanzato brothers
  • Two new badges and three new titles (Junes, Investigation Team, Shadows Converge)

🤝 Challenges, fixed and extended

  • Accepting a challenge no longer strands it: the destination is resolved before anything is written, so a challenge is never marked accepted with nowhere to go
  • Challenges work in Expert Mode, and an Expert challenge coexists with a normal one — two different games, two different scores
  • One live challenge per sender: a new challenge replaces an unread one instead of stacking up, and an Abandon button frees a challenge you accepted but can't finish

🏆 Leaderboard

  • Win rate now uses a Bayesian average — a single 1-for-1 win no longer tops the board
  • Best streak counts consecutive days, not wins in a day, and finally agrees with the number shown on your profile

🌐 Polish

  • Badge names translated in French, Spanish, German and Italian — about half of them were still in English
  • Link previews (Discord, X) on all six mode pages, each with its own title and description
  • Silhouette mode no longer flashes a zoomed-out image on first load, and its picture can no longer be copied in the clear
🚀 v2.0 - May 2026

☁️ Full Backend — PHP 8.3 + MariaDB

  • Complete REST API with JWT-less auth (bcrypt + PHP sessions httpOnly)
  • 24-table relational schema, 907+ unit tests (Vitest + jsdom)
  • Cloud sync: offline-first, auto-sync on reconnect, migration from localStorage

👥 Friends & Social

  • Friend system: search by pseudo or friend code, accept/decline, online status
  • Social Link system — ranks 1-10 (Stranger → True Confidant), XP gained via real interactions
  • True Confidant effect: pulsing golden halo + burst animation on rank 10
  • Friend request animations: Persona 4 TV style, Persona 3 Evoker style, Calling Card style

🏆 Leaderboard & Challenges

  • Leaderboard by mode × period (weekly / monthly / all-time), Global or Friends scope
  • Daily challenges between friends — send, accept, compare results
  • Notifications for challenge results and rank-ups

🎨 Profile Overhaul

  • Profile card export: PNG image, 8 themes, 37 wallpapers, one-click share on X / Discord / Email
  • Profile music: choose a Persona track that plays when friends visit your profile
  • 60+ badges (server-side unlock verification), titles/ranks, event codes

🌐 Internationalisation

  • 6 languages: EN · FR · ES · DE · IT · PT (1099 keys each)
  • Auto-detected from browser, persisted in cloud account
  • Localised buttons, messages, badge descriptions, titles

🛡️ Admin Panel

  • User moderation (ban accounts, lock pseudos)
  • Event codes CRUD (create, distribute, expire)
  • Stats dashboard per user
  • Internal tool, French-only by design (no data-i18n coverage) — not part of the player-facing i18n scope described above
🎊 v1.1 - February 2026

🧧 Chinese New Year Event

  • Limited-time All-Out Attack skins celebrating the Lunar New Year
  • Exclusive seasonal wallpaper and event badges
  • Special rewards for discovering festive characters

🎭 Personae Mode - Expansion

  • 8+ new ultimate personas from P2, P3, P4G, P5R, and P5 Tactica
  • 12 Picaro variants - corrupted DLC personas join the roster
  • Complete persona collection spanning the entire series

👤 New Characters

  • Added Persona 2 EP characters to Classic, Emoji, and Silhouette modes
  • Added Velvet Room attendants Belladonna and Demon Painter
  • New All-Out Attack skin for Wonder
  • Special guest appearance in Silhouette Mode

🎵 Music Mode Expansion

  • Persona 1 classics make their debut
  • Persona 5X tracks from the mobile spinoff
  • Persona Q & Q2 favorites added to the jukebox
  • Enhanced Velvet Room collection with multiple Aria of the Soul versions

🖼️ Profile Sharing

  • 37 total wallpapers now available across all Persona games
  • New additions from P1, P2, P3, P4, P5, and Q series
  • Iconic locations, character moments, and crossover artwork
  • Seasonal and special event wallpapers

🎖️ Badge Collection

  • 5+ new badges added with hidden unlock conditions
  • Achievement badges for character discoveries
  • Secret badges for dedicated fans
  • Event-exclusive badges with limited-time codes

🎨 UI & Polish

  • Redesigned filter buttons and wallpaper selection interface
  • Emoji Mode improvement: Error history now shows character portraits
  • Consistent navigation across all game modes
  • Enhanced mobile responsiveness

View full changelog →

🎄 v1.0 - December 2025

🎖️ Badge System

  • 19 unique badges across 4 categories: Achievement, Event, Secret, and Social
  • Track your progress with badge counter (e.g., "12/19 unlocked")
  • Showcase up to 4 badges on your profile
  • Unlock through gameplay, seasonal events, or hidden secrets!

🖼️ Profile Sharing

  • 11+ custom wallpapers featuring iconic Persona locations
  • Share your stats, badges, and achievements
  • Download as image or share directly on social media
  • Customize with profile pictures including new additions: Chidori, Tae, and Maruki

🔊 Sound Effects

  • Victory celebration sound on wins
  • Hover feedback on all interactive buttons
  • Enhanced immersion across all game modes

🌟 New Content

  • Added Fuuka Yamagishi to All-Out Attack mode
  • Added Persona 5 Tactica characters: Erina and Toshiro Kasukabe
  • Complete character data for all modes

⚡ Performance & Improvements

  • All-Out Attack overhaul: 66% faster load times, 40% less memory usage
  • Progressive image loading with WebP format via CDN
  • Smarter randomization to reduce character repetition
  • Smoother experience on all devices

🐞 Bug Fixes

  • Fixed Silhouette Mode image display issues
  • Fixed Emoji Mode daily reset not triggering correctly
  • Fixed Classic Mode data error (Yukino Mayuzumi opus)
  • Fixed time tracking calculations
  • Corrected Music Mode song titles
  • Dark mode and UI polish

View full changelog →

🚀 How to Play

  1. Visit personadle.net
  2. Create an account (optional — enables cloud save, leaderboard, friends)
  3. Choose your game mode
  4. Guess the daily character using provided clues
  5. Play once per day (resets at midnight Paris time)
  6. Use Replay to try again or Give Up to see the answer

Features:

  • ✅ Smart autocompletion with character portraits
  • ✅ Persistent game filters (P1 to P5X)
  • ✅ Keyboard-friendly interface
  • ✅ Cloud progress saving (with account) or local fallback
  • ✅ Export/import data as JSON
  • ✅ Challenge friends to your daily score

🛠️ Tech Stack

Frontend

Built with pure vanilla web technologies—fast, lightweight, and dependency-free:

HTML5       → Semantic markup and accessible structure
CSS3        → Custom animations, responsive design, dark mode
JavaScript  → Modular ES6+, localStorage, dynamic UI

No frontend frameworks. No external JS libraries.

Backend (v2.0)

PHP 8.3       → REST API, bcrypt auth, PDO prepared statements, rate-limiting SQL
MariaDB 10.6+ → 24-table relational schema (MySQL 8.0 compatible)
Apache        → .htaccess routing, CORS exact-origin, HTTPS, CSP/HSTS
Hostinger     → Production hosting

API structure: GET/POST/PATCH/DELETE /api/{resource} — JSON responses, HTTP status codes.

Local dev & CI

Docker Compose → MariaDB + PHP + phpMyAdmin, schéma + seed auto-chargés (make up)
GitHub Actions → lint + i18n + data-check + coverage + PHPUnit (DB) + PHPStan

Tests & quality

Vitest + jsdom → 907 tests unitaires (logique de jeu, backend, streak, i18n, validation données)
PHPUnit        → tests de logique pure + intégration DB (contrat de schéma)
Playwright     → 113 E2E sur la stack Docker complète (smoke, API, Social Link)
PHPStan        → analyse statique PHP niveau 5
ESLint+Prettier→ lint + format
npm test       → lance la suite Vitest · make check → tout (lint, data, i18n)

Browser Compatibility

Browser Version Status
Chrome 90+ ✅ Supported (Best performance)
Firefox 88+ ✅ Supported
Safari 14+ ✅ Supported (iOS 14+)
Edge 90+ ✅ Supported
Opera 76+ ✅ Supported

Requirements:

  • JavaScript enabled
  • LocalStorage enabled
  • 1280x720+ resolution recommended

📊 Profile System

Track your journey with comprehensive stats:

  • Custom Profile: Editable username and avatar (with cropping)
  • Statistics: Wins, give-ups, streaks, total playtime — per mode
  • Badge Collection: 60+ unique achievements to unlock
  • Titles / Ranks: Unlock via stats, one equipped at a time (e.g. "Phantom Thief", "Wild Card")
  • Profile Music: A Persona track that plays when others visit your profile
  • Favorite Mode: Automatically tracked based on playtime
  • Data Control: Export, import, or reset your profile
  • Cloud Sync: Linked to your account — survives browser clears

☁️ With an account, all data is synced to the cloud. Offline-first: the game works without a connection and syncs when you come back online.


🗺️ Roadmap

Grosses briques déjà livrées — backend PHP/MariaDB, amis + Social Link, leaderboard, défis quotidiens, i18n 6 langues, panel admin, 907 tests automatisés (Vitest + PHPUnit + Playwright).

Feature Status
All 6 Game Modes + Full Backend ✅ Done
Friends, Social Link & Leaderboard ✅ Done
Multi-language (EN/FR/ES/DE/IT/PT) ✅ Done
Mobile App (PWA) 🔜 Planned
Japanese (JP) translation 🔜 Post-v2.0

📋 La roadmap complète et à jour (prochaines étapes priorisées, décisions en attente, historique détaillé par domaine) vit dans ROADMAP.md — document vivant, mis à jour en continu, pas dupliqué ici.


🔮 On the Horizon

New Atlus releases mean new content pipelines — here's what's on our radar.



Persona 4 Revival

Persona 4 Revival — Remaster

Character art refresh planned for P4/P4G once official assets release.
Persona 6

Persona 6 — New Roster

Full new character roster to add once the cast is officially revealed.

📋 Full content pipeline checklist in ROADMAP.md


👥 Authors & Contributors

Core Team

Hamza
Hamza Karrouchi
Founder & Lead Developer
Game logic, backend, animations, UI, profile system
CS student & Persona/JoJo enjoyer
Léo
Léo (L2GENDAIRE)
Data & Design Lead
Character database, layout, portraits
Spreadsheet wizard & UI enthusiast
Damien
Damien (Corbover)
Front-End Developer
CSS Architecture & Responsive Design
Modularization specialist
Dzulian
Dzulian
Creative Consultant & Data Specialist
Ideas development & P1/P2 accuracy
Classic trilogy preservation expert

🌟 Special Thanks

Active Contributors:

  • Damien Nouvellon - CSS restructuring and modularization for improved maintainability and responsive design preparation
  • Dzulian - Creative ideas and data accuracy for Persona 1 & 2 (Megami Ibunroku, IS, EP)

🙏 Acknowledgments

Inspiration

  • Smashdle by Pimeko - Original concept inspiration
  • Pokedle - Codebase reference

Community

Contributors & Development

  • Damien ( Corbover ) - CSS architecture restructuring and modularization
  • Dzulian - Creative ideas and data accuracy for classic Persona games (P1/P2)
  • All GitHub contributors who have helped improve the project

Resources

  • Megami Tensei Wiki - Character data and lore
  • Atlus/SEGA - For creating the incredible Persona universe
  • Shoji Meguro - For the unforgettable music

⚖️ License

The source code of this project is licensed under the MIT License.

The game assets (character names, portraits, artwork, music, logos, quotes and other Persona / Shin Megami Tensei / Atlus / SEGA content) are NOT covered by the MIT License — they remain the property of their respective rights holders and may not be redistributed. See LICENSE.txt for the full terms.

You're free to reuse the code, but bring your own assets. 😎


⚠️ Disclaimer

PersonaDLE is a fan-made project and is not affiliated with, endorsed by, or connected to Atlus, SEGA, or the Persona franchise in any way.

All characters, music, artwork and references remain the property of their respective rights holders (© ATLUS / © SEGA). They are used here only for a non-commercial, fan-made tribute. Rights holders may request removal of their material at any time, and such requests will be honored.

Regarding AI-Generated Assets

Some badges and wallpapers were created with AI assistance. As students working on this passion project for free in our spare time, we didn't have the budget or resources to commission artists. We deeply respect human artists and would prioritize working with them if PersonaDLE ever generates revenue or receives support.


🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Report Bugs - Found an issue? Open an issue
  2. Suggest Features - Have an idea? We'd love to hear it!
  3. Join the Community - Share your achievements and help others
  4. Spread the Word - Share PersonaDLE with fellow Persona fans!

Development Setup

# Clone the repository
git clone https://github.com/HamzaKarrouchi/personadle.git
cd personadle

# Install test dependencies
npm install

# Run the 907 unit tests
npm test

# Backend setup (first time only — creates DB, imports schema, configures Apache)
bash setup.sh

# Check i18n key coverage across all 6 languages
npm run i18n:check

# Open in browser — no build step required
# With backend: http://localhost/personadle/

Want to Join the Team?

We're always looking for passionate contributors! Whether you're a developer, designer, or just a Persona fan with ideas, feel free to reach out.

Current Focus Areas:

  • New game mode ideas
  • Performance optimization
  • Accessibility improvements
  • Japanese (JP) translation (post-v2.0)

📞 Contact & Community


📈 Stats

GitHub Stars GitHub Forks GitHub Watchers Contributors


"I am thou, thou art I… And together, we'll reach the truth."

Made with ❤️ by fans, for fans
If you enjoy PersonaDLE, please support the official Persona games by purchasing them from Atlus/SEGA!


Last updated: July 2026 • Version 2.0

About

🎭 A daily guessing game set in the Persona universe (P1-P5X). Features 6 game modes (Classic, Music, Emoji...), achievement badges, and a stylized UI. Built with pure Vanilla JS.

Topics

Resources

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages