Tighten README copy
Seto Elkahfi committed
May 15, 2026 at 08:21 UTC
2a1d016367b7e0caafc1153fc6ce0480c7112c8c
1 file changed
+27
-138
README.md
+27
-138
@@ -1,164 +1,53 @@
1
-# Klepon: Taste of Indonesia
1
+<h1 align="center">Klepon</h1>
2
3
-[](https://testflight.apple.com/join/CRRpT6a5)
3
+<p align="center">
4
+ <strong>Taste of Indonesia.</strong>
5
+</p>
6
5
-Klepon is an iPhone-first SwiftUI app for exploring Indonesian dishes, ingredients, and food traditions. The app is built to feel warm, simple, and curated rather than like a generic chatbot or a giant food database.
7
+<p align="center">
8
+ <a href="https://apps.apple.com/us/app/klepon-taste-of-indonesia/id6769424800"><img src="https://img.shields.io/badge/App%20Store-Download-235843?style=flat-square&labelColor=17211D" alt="App Store"></a>
9
+ <a href="https://testflight.apple.com/join/CRRpT6a5"><img src="https://img.shields.io/badge/TestFlight-Join%20beta-235843?style=flat-square&labelColor=17211D" alt="TestFlight"></a>
10
+</p>
11
7
-## Why this project exists
12
+Klepon is a small SwiftUI guide to Indonesian dishes, ingredients, and food traditions.
13
9
-Indonesian food deserves better than scattered search results and shallow summaries.
14
+## What it does
15
11
-Klepon is a small, focused app project built to help people:
16
+- curated local content
17
+- private on-device follow-up answers with [Onde Inference](https://ondeinference.com)
18
+- search, saved items, and recently viewed
19
+- watchOS companion support
20
13
-- discover Indonesian dishes with context
14
-- understand ingredients and food traditions
15
-- browse locally bundled content with a calmer reading experience
16
-- ask follow-up questions privately on-device
21
+## Repo
22
18
-## Project status
23
+- `Klepon/` app source
24
+- `Klepon.xcodeproj/` Xcode project
25
+- `Scripts/validate_content.py` content validation
26
+- `AppStore/` store assets and release notes
27
20
-This repo is under active development, but the V1 direction is already in place:
28
+## Build
29
22
-- curated Indonesian food content bundled locally
23
-- private on-device follow-up answers powered by [Onde Inference](https://ondeinference.com).
24
-- iPhone-first SwiftUI UI and interaction model
25
-- watchOS companion support for quick browse-first dish notes
26
-- local search, saved items, recent searches, and recently viewed continuity
27
-
28
-## Repository layout
29
-
30
-- `Klepon/` — the iOS app source
31
-- `Klepon.xcodeproj/` — the Xcode project
32
-- `Scripts/validate_content.py` — validates bundled content integrity
33
-- `SECURITY.md` — security handling and disclosure guidance
34
-- `AppStore/` — App Store metadata, screenshot plan, and release checklists
35
-
36
-## Tech stack
37
-
38
-- SwiftUI
39
-- local JSON content
40
-- small Python utility for content validation
41
-
42
-## Getting started
43
-
44
-### Requirements
45
-
46
-- macOS
47
-- Xcode 26+
48
-- Python 3 if you want to run the content validation script
49
-- an Apple Developer signing setup if you want to run on a physical iPhone
50
-
51
-### Open the project
52
-
53
-Open:
54
-
55
-- `Klepon.xcodeproj`
56
-
57
-### Build on simulator
30
+Open `Klepon.xcodeproj` in Xcode.
31
32
+iOS simulator:
33
```/dev/null/sh#L1-1
34
xcodebuild -project Klepon.xcodeproj -scheme Klepon -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build
35
```
36
63
-### Build the watchOS target
64
-
37
+watchOS simulator:
38
```/dev/null/sh#L1-1
39
xcodebuild -project Klepon.xcodeproj -scheme 'Klepon Watch' -destination 'generic/platform=watchOS Simulator' CODE_SIGNING_ALLOWED=NO build
40
```
41
69
-### Validate bundled content
70
-
42
+Validate bundled content:
43
```/dev/null/sh#L1-1
44
python3 Scripts/validate_content.py
45
```
46
75
-## Open-source signing notes
76
-
77
-This repository is published as source code, so you should expect to adapt signing-related settings for your own Apple Developer account.
78
-
79
-### Bundle identifier
80
-
81
-The project currently uses:
82
-
83
-- `ai.splitfire.klepon`
84
-
85
-If you fork this project for your own team, change that bundle identifier to one you control.
86
-
87
-### Entitlements and App Group
88
-
89
-The project includes an App Group entitlement and an increased memory entitlement so the app can manage on-device model files more reliably on iPhone.
90
-
91
-If you run your own fork under your own Apple Developer account, you will usually want to replace the App Group identifier with one you control.
92
-
93
-## Security and secrets
47
+## Signing
48
95
-I checked the repository for common secret-leak patterns before updating this README.
96
-
97
-That included scans for things like:
98
-
99
-- API keys
100
-- private keys
101
-- password-like values
102
-- provisioning material
103
-- hardcoded team identifiers in the active project
104
-
105
-No real secrets were found in the tracked project files.
106
-
107
-### What should never be committed
108
-
109
-- API keys
110
-- private keys or certificates
111
-- provisioning profiles
112
-- local-only xcconfig files with secrets
113
-- `.env` files with credentials
114
-
115
-### Practical security rules for this repo
116
-
117
-1. Keep local credentials local.
118
-2. Never hardcode tokens or keys in Swift, JSON, or Xcode project settings.
119
-3. Treat bundle IDs and App Groups as identifiers, not secrets.
120
-4. Replace shared signing identifiers with your own if you are running a fork.
121
-5. Re-check diffs before pushing anything that touches auth, signing, or deployment.
122
-
123
-The `.gitignore` already excludes the main categories of files that should stay off Git:
124
-
125
-- local env files
126
-- local xcconfig overrides
127
-- signing keys and certificates
128
-- provisioning profiles
129
-- editor and user-state files
130
-- Python cache files
131
-
132
-For more detail, see `SECURITY.md`.
133
-
134
-## Contributing
135
-
136
-Contributions are welcome, especially around:
137
-
138
-- content quality and cultural accuracy
139
-- SwiftUI product polish
140
-- accessibility
141
-- app performance and memory behavior
142
-
143
-Before opening a PR:
144
-
145
-1. build the app
146
-2. run `python3 Scripts/validate_content.py` if you changed bundled content
147
-3. make sure you did not add secrets, signing material, or local machine artifacts
148
-
149
-## Responsible disclosure
150
-
151
-If you find a security issue, please avoid posting exploit details in a public issue before maintainers have had a chance to triage it.
49
+If you run your own fork, change the bundle identifier and App Group to values you control.
50
51
## License
52
155
-Klepon is dual-licensed under **MIT** and **Apache 2.0**. You can use either one.
156
-
157
-- [MIT License](LICENSE-MIT)
158
-- [Apache License 2.0](LICENSE-APACHE)
159
-
160
----
161
-
162
-## Copyright
163
-
164
-© 2026 [Onde Inference](https://ondeinference.com) (Splitfire AB).
53
+Dual-licensed under [MIT](LICENSE-MIT) or [Apache 2.0](LICENSE-APACHE).