# Persona IM

<img width="30%" src="https://github.com/user-attachments/assets/297cb21b-415f-4c9b-a258-1181c63c1b95" align="right">

A reimplementation of the instant messaging app seen in Persona 5 for Android using Compose UI.

> [!NOTE]  
> This is _not_ a functioning messaging app. It simulates a single conversation to demonstrate how such an app would be implemented in Compose UI.

Persona 5 has one of the most stylish user interfaces, including its in-game messaging app! This repository attempts to answer what it might look like if it were a real app, and how it could be built for Android.

### Copyright

©ATLUS ©SEGA

All art and character designs in this repository are the property of Atlus Co., Ltd. Material is used for educational purposes only.

### Additional Resources

This app was originally made for a presentation at DroidKaigi 2024, with a slightly expanded version given at KotlinConf 2025. For native English speakers the KotlinConf version is probably a more enjoyable watch since I didn't have to slow down for interpretation.

Slides in both English and Japanese can be [found here on Speaker Deck](https://speakerdeck.com/chrishorner/creative-compose-ui). The slightly longer KotlinConf slides in English [are available here](https://speakerdeck.com/chrishorner/creative-uis-with-compose-kotlinconf-2025). Recordings are up on YouTube:

---

| DroidKaigi 2024 | KotlinConf 2025 |
| --- | --- |
| [![YouTube](https://github.com/user-attachments/assets/9fd799db-2bae-4732-b19f-eb3e2d24179b)](https://www.youtube.com/watch?v=eWDthP0oUKc) | [![YouTube](https://github.com/user-attachments/assets/0e903e42-cdbf-4e2f-ba89-6835559564c5)](https://www.youtube.com/watch?v=9KdP2idt6LE) |

### Video

What the app looks like in action.

https://github.com/user-attachments/assets/17c19de3-6a79-42fb-a312-7a7bbd4b3648

### Reference

The original UI from the game.

https://github.com/user-attachments/assets/953991c2-a559-4103-8d8f-3bd9d0415f9d

## License

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
