AI prompts
base on Minimalistic Android client app for Audiobookshelf # Lissen - Clean Audiobookshelf Player
[](https://github.com/GrakovNe/lissen-android/actions/workflows/build_app.yml)
<p align="center">
<a href="https://play.google.com/store/apps/details?id=org.grakovne.lissen"><img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Get it on Google Play" height="60"></a> <!--
--><a href="https://f-droid.org/packages/org.grakovne.lissen"><img src="https://upload.wikimedia.org/wikipedia/commons/a/a3/Get_it_on_F-Droid_%28material_design%29.svg" alt="Get it on F-Droid" height="60"></a>
</p>
### Features
* Beautiful Interface: Intuitive design that makes browsing and listening to your audiobooks easy and enjoyable.
* Cloud Sync: Automatically syncs your audiobook progress across devices, keeping everything up to date no matter where you are.
* Streaming Support: Stream your audiobooks directly from the cloud without needing to download them first.
* Offline Listening: Download audiobooks to listen offline, ideal for those who want to access their collection without an internet connection.
### Screenshots
<p align="center">
<img src="https://github.com/GrakovNe/lissen-android/raw/main/metadata/en-US/images/phoneScreenshots/1.png" alt="Screenshot 1" width="200">
<img src="https://github.com/GrakovNe/lissen-android/raw/main/metadata/en-US/images/phoneScreenshots/2.png" alt="Screenshot 2" width="200">
<img src="https://github.com/GrakovNe/lissen-android/raw/main/metadata/en-US/images/phoneScreenshots/3.png" alt="Screenshot 3" width="200">
<img src="https://github.com/GrakovNe/lissen-android/raw/main/metadata/en-US/images/phoneScreenshots/4.png" alt="Screenshot 4" width="200">
</p>
### Disclaimer
Lissen is not a clone of the official Audiobookshelf app and does not aim to replicate all of its features.
The goal of this project is to provide a minimalistic interface and a seamless experience for listening to audiobooks and podcasts.
If there’s a feature you feel is missing or would significantly improve your experience, feel free to open an issue and share your suggestion.
While not every feature request will be implemented, all ideas are welcome and will be thoughtfully considered.
### Building
1. Clone the repository:
```
git clone https://github.com/grakovne/lissen.git
```
2. Setup the SDK into your local.properties file
```
nano local.properties
```
3. Open the project in Android Studio or build it manually
```
./gradlew assembleDebug # Debug Build
./gradlew assembleRelease # Release Build
```
5. Build and run the app on an Android device or emulator.
### Localization
Help us translate Lissen into more languages! We use [Weblate](https://hosted.weblate.org/engage/lissen/) to manage translations.
Current localization status:
<a href="https://hosted.weblate.org/engage/lissen/">
<img src="https://hosted.weblate.org/widget/lissen/android-app/multi-auto.svg" alt="Translation status" />
</a>
To contribute:
1. Visit the [Lissen translation project](https://hosted.weblate.org/engage/lissen/).
2. Sign up or log in to Weblate.
3. Start translating or reviewing existing translations for your preferred language.
### Release policy
- **Current state:**
- The **main branch** is the latest stable build at every moment with every feature available at that time.
- The dedicated [`release/stable`](https://github.com/GrakovNe/lissen-android/tree/release/stable) contains the latest stable full-feature.
- The dedicated [`release/google-play-store`](https://github.com/GrakovNe/lissen-android/tree/release/google-play-store) branch contains the Google Play Store–compliant build.
- **Every release contains:**
- **Play Store APK** – identical to the Play Store version. It disables some non-production-ready features, such as Android Auto support.
- **Stable APK** – fully supported and feature-equivalent.
### Demo Environment
You can connect to a demo [Audiobookshelf](https://github.com/advplyr/audiobookshelf) instance through the Lissen app:
URL: [https://demo.lissenapp.org/](https://demo.lissenapp.org/)
```
Username: demo
Password: demo
```
This instance is contains only Public Domain audiobooks from [LibriVox](https://librivox.org/)
## License
Lissen is open-source and licensed under the MIT License. See the LICENSE file for more details.
", Assign "at most 3 tags" to the expected json: {"id":"13575","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"