# AI use cases for AIKON (emir/AIKON)

Repo: [emir/AIKON](https://github.com/emir/AIKON) | Use cases: 4 | Page: https://dedupedai.com/use-cases/emir-aikon/

AIKON is a free Java ME chat client for Nokia S40 and S60 phones, plus a small Go server that relays chats to Claude, OpenAI, Gemini and Grok.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Chat with AI models on a 2007 Nokia phone: https://dedupedai.com/use-cases/emir-aikon/chat-with-ai-on-old-nokia/
- Run the AIKON test suite before changing the code: https://dedupedai.com/use-cases/emir-aikon/verify-server-and-app-before-changes/
- Add or fix a phone UI translation: https://dedupedai.com/use-cases/emir-aikon/add-phone-ui-translation/
- Review AIKON privacy and API spending before going live: https://dedupedai.com/use-cases/emir-aikon/review-privacy-and-spending-before-launch/

## How to chat with AI models on a 2007 Nokia phone with AIKON

Repo: [emir/AIKON](https://github.com/emir/AIKON) | Difficulty: Advanced | Time: 3 hours | Basis: From the README

Deploy the Go server, build the Java ME app and pair an old Nokia to chat with Claude or other models.

**Who it is for:** A hobbyist with a Nokia S40 or S60 phone who wants AI chat on that handset and is willing to rent a small server.

**The problem:** Modern AI apps do not run on a 2007 Nokia, and that phone cannot make the modern HTTPS connections those services require.

**The outcome:** The Nokia runs the AIKON chat app, talks to a self-hosted server with a private CA certificate, and gets replies from the chosen model.

### Steps

1. Rent a Docker host with a public IPv4 address and TCP 443 open.
2. Create the private root CA and server certificate with `server/scripts/pki.sh ca ~/.config/claude-s40/pki` and `server/scripts/pki.sh server ~/.config/claude-s40/pki`.
3. Deploy the server in test mode, which makes no API calls, with `server/deploy/push.sh root@<server-ip> --execute`. (inferred, check the README)
4. Build the phone app with your server address using `echo GATEWAY_URL=https://<server-host> > app/app.local.properties && make -C app`, then install `app/dist/AIKON.jad` and the matching .jar on the phone. (inferred, check the README)
5. Install the root CA on the phone with `server/deploy/serve-ca.sh`, pair the device by approving the 6-digit code with `server/deploy/admin.sh root@<server-ip> pair <code>`, then add a provider key with `server/deploy/set-key.sh root@<server-ip>` and go live with `S40_MOCK=0 S40_MODELS=... server/deploy/push.sh root@<server-ip> --execute`. (inferred, check the README)

### Prompt to paste into your agent

```text
In the AIKON repo, walk me through the setup in docs/SETUP.md for a server at <server-host> and a Nokia <model> phone. List each command in order with the exact placeholder I must fill, and state which step needs a manual action on the phone. Verify by confirming that the test-mode deploy finishes before any key is set.
```

### Caveat

The Nokia 6300 can only handshake with TLS 1.0 and RSA, so a standard public cloud HTTPS endpoint will not work and you must use the repo's own private CA setup.

Risk, credentials: The provider API keys and the private root CA must be handled carefully, and the root CA is installed on the phone so it will trust your server.

Risk, remote script: The deploy and key scripts run on your server over SSH as root, so check each script before you run it.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/emir-aikon/chat-with-ai-on-old-nokia/

## How to run the AIKON test suite before changing the code with AIKON

Repo: [emir/AIKON](https://github.com/emir/AIKON) | Difficulty: Intermediate | Time: 1 hour | Basis: From the README

Run the server and phone app checks so you have a clean baseline before you edit either part.

**Who it is for:** A developer who wants to fork or modify AIKON and needs to confirm the existing code builds and passes its checks first.

**The problem:** Without a baseline, it is hard to tell whether a failure came from your change or was already in the project.

**The outcome:** You get a passing or documented baseline for both the server and the phone app, plus a reproducible build of the app.

### Steps

1. Clone the repository with `git clone https://github.com/emir/AIKON.git` and enter the folder with `cd aikon`.
2. Run the full check with `make test`, which covers server go vet and go test with -race, plus app build, package checks and reproducibility.
3. Run only the server checks with `make -C server test` if you are changing the Go code.
4. Run only the phone app build with `make -C app` if you are changing the Java ME code, which downloads pinned build tools to app/.deps.

### Prompt to paste into your agent

```text
In the AIKON repository, run `make test` and report the result for the server and for the app separately. Expected output is a pass or fail summary for each part, with the first failing line quoted if any. Verify that the app build downloaded its tools into app/.deps and not into the system.
```

### Caveat

The README lists Go 1.26+, JDK 11+, Python 3 with Pillow, Docker and OpenSSL as requirements, so a missing tool will stop the checks before they test anything.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/emir-aikon/verify-server-and-app-before-changes/

## How to add or fix a phone UI translation with AIKON

Repo: [emir/AIKON](https://github.com/emir/AIKON) | Difficulty: Intermediate | Time: 1 hour | Basis: From the README

Edit one text file per language and rebuild, so a native speaker can correct a draft UI language.

**Who it is for:** A native speaker of Spanish, Portuguese, French, German, Russian or Indonesian, or of a new language, who wants to improve the phone menus.

**The problem:** The README marks six language files as first drafts, and the app's menus read awkwardly until a native speaker corrects them.

**The outcome:** A corrected or new language file is ready for a pull request, and the build confirms that it covers every required text.

### Steps

1. Open the language file for your language in app/lang/, for example app/lang/de.txt, where each line is an English text, a TAB and its translation.
2. Correct the translations, keeping one pair per line and the TAB between them.
3. Run `make -C app langs` to copy the files to server/lang and show which texts each file covers.
4. Run `make -C app` to confirm the build accepts the file, since the build refuses any file that misses a text. (inferred, check the README)
5. Open a pull request that edits the file, which the README says is enough.

### Prompt to paste into your agent

```text
In the AIKON repo, edit app/lang/<code>.txt to correct the translations I provide, then run `make -C app langs`. Expected output is the coverage report for that language and no build errors. Verify that every English line still has exactly one TAB-separated translation.
```

### Caveat

Right-to-left languages such as Arabic and Hebrew need layout work first, and scripts the phone fonts lack are out of reach on this hardware.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/emir-aikon/add-phone-ui-translation/

## How to review AIKON privacy and API spending before going live with AIKON

Repo: [emir/AIKON](https://github.com/emir/AIKON) | Difficulty: Beginner | Time: 30 minutes | Basis: From the README

Check data retention, limits and billing controls before you point real API keys at your phone server.

**Who it is for:** A non-developer owner of a new AIKON server who is about to add paid API keys and wants to avoid surprise charges.

**The problem:** Each message is a paid API call, and chats, photos and voice messages are stored on your server, so the costs and retention need checking first.

**The outcome:** You know which limits the server enforces, where the data lives and how long it stays, and you have set a spending limit at each provider.

### Steps

1. Read the Privacy and cost section of the README, focusing on the 30-day chat retention and the note that logs contain no message text.
2. Confirm the per-device daily request, output-token and web-search limits the server enforces before you add keys.
3. Set a spending limit in each provider's console for every key you add with `server/deploy/set-key.sh root@<server-ip>`. (inferred, check the README)
4. Decide whether to turn on voice messages, which go to OpenAI's speech-to-text and are billed to your OpenAI key.
5. Revoke the device or run Settings > Reset setup on the phone if the memory card leaves your hands.

### Prompt to paste into your agent

```text
Read the Privacy and cost section of the AIKON README and list every place data is stored, for how long, and every cost that is billed to my API keys. Expected output is a short checklist with one line per item, with the spending-limit step marked as a manual action. Verify that you did not invent any limit numbers that the README does not state.
```

### Caveat

The README says web searches are billed per search and their results count as input tokens, so check the provider's pricing before you rely on search for news or weather.

Risk, credentials: Provider API keys are billed to your account, so store them only on the server and set a spending limit in each provider's console.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/emir-aikon/review-privacy-and-spending-before-launch/
