Claude Code iOS/Android App
Budget: $750 – $1,500 USD
CHER Reflect — Cross-Platform Reflection App (Native iOS + Android, Offline)
Overview
I'm a medical-school professor. I need a functioning, polished beta to demonstrate to my department and secure funding for the full build. The app helps physician-faculty privately reflect on how they model professional behavior. It must install and run natively on both iPhone and Android and work fully offline on the device — not a web link needing internet. This is a hard requirement.
You may choose the tech stack (React Native, Flutter, native, etc.) as long as it delivers native iOS + Android + offline. Tell me in your bid what you'll use and how it meets that bar.
The #1 rule
The user is NEVER shown a number — no scores, percentages, ranks, grades, or per-domain meters, anywhere. Feedback is directional and qualitative only; progress is shown as an evolving visual scene. A build that displays "Empathy: 3.4/5" or "68%" has missed the point. (A plain "Question 7 of 20" count is fine.)
Core app
20-item assessment, 5 domains (Curiosity, Humility, Empathy, Reflection, Structural Awareness), 4 items each, on a frequency scale (Never→Almost Always). Item text supplied on engagement; used verbatim.
Optional Research Mode adds: a 12-item calibration survey (once at onboarding), 5 candor items in a separate labeled block, and a "then-test" re-rating at set waypoints — all tagged as research extensions so the core 20 stay unaltered.
Gentle optional weekly reflection ("Daily Three": three yes/no toggles + one optional note). Missing it is never punished.
The scoring engine (the research core — must be exact)
A hidden calibration corrects each user's self-report bias. Implement exactly:
invert(x) = 6 - x
InflationScore = mean of the 4 inflation-flag items
CandorScore = mean of the candor items (one reverse-scored)
BiasIndex = (InflationScore - CandorScore) / 4
BiasModifier = 1 - (0.08 * BiasIndex) // 0.08 configurable
BiasModifier = min(BiasModifier, 1.0) // never exceeds 1.0
CalibratedScore = RawDomainScore * BiasModifier // all 5 domains
Build this test-first as a standalone, unit-tested module independent of the UI. The spec includes a worked example: given inputs must yield BiasModifier = 0.938, and the clamp must ensure it never exceeds 1.0 (an honest, modest self-rater is never penalized). You must show me these unit tests passing. This is non-negotiable — the engine's correctness is the heart of the project.
Structural Awareness uses the same global modifier (no separate calibration dimension).
The visualization
A single evolving scene (not separate illustrations) that gradually changes as the user engages — more light, stronger roots, more plant life. You design it from the concept (no mockups exist), subject to my review. It grows through seven stages, from an initial "Void" to a final "Living World."
Cross-domain entanglement / non-decodable (critical): do NOT map each domain to its own visual element one-to-one — that would let someone read the water level backward into an "empathy score," which the app exists to prevent. Use a many-to-many mapping: each domain influences several visual properties and each property is influenced by several domains (e.g., light = Reflection + Humility; water = Empathy + Curiosity), with overlapping weights so no element traces to one domain. Test: nobody should be able to infer an individual domain score by looking at the scene.
The "garden" reveal: never call the scene a "garden" — not in text, accessibility labels, or logs — until the final "Living World" stage, where the name appears as an earned reveal. Before then use neutral language. Do not label it a garden from launch.
The scene never deteriorates — low engagement slows growth or shows a dormant season, never death, failure, or red warnings.
Copy / tone
All copy is framed as "returning to the oath" (re-aligning with an ideal the user already holds), never improving toward a score. Avoid "improve," "achieve," "unlock," "level up."
Gain-framed only. Never "you scored low." No comparison to other people — only the user to their own past.
Data collection & backend
Build the complete data-collection system (don't scale it back for the small first run). Collect and centralize, per study code:
Usage: total users, sessions per user, and timestamps sufficient to classify regular vs. intermittent users.
Outcome data: raw item-level responses for all 20 items at every administration (store raw, not only averages), the 12 calibration responses + computed BiasIndex/BiasModifier, the 5 candor responses, and the then-test responses — all timestamped and linked by study code.
Engagement: session count, time-to-complete, completion/drop-off, return rate.
Metadata tags for grouping/filtering: university name, country, and length of time using the app.
Aggregate dashboard: user counts, session frequency, regular-vs-intermittent, filterable by the metadata tags.
Two data requirements:
Store RAW responses as the source of truth AND also offer computed averages as a convenience view (raw may later feed different calculations).
Separate TEST and PRODUCTION environments from day one (separate DBs or an environment flag). The ~20-person verification run uses TEST; later deployment uses PRODUCTION — so data never commingles.
Verification run: ~20 volunteers will exercise the full system so I can confirm counts are right, data syncs intact, scoring calculates correctly, and the dashboard matches reality (I'll know the true numbers going in). The collection is identical to a real deployment; this run just verifies it works.
Privacy
No individual PII (no names, emails, or patient data) — a random study code is the primary identifier; metadata tags (university, country) are group-level. A consent/affirmation gate before any data transmits. Local export and delete for the user.
Ownership
Client owns the GitHub repo and all source from day one. Work-for-hire. The CHER framework and its content remain my IP.
Engagement model
Milestone-based, frontend first then backend. Propose your own milestone breakdown, timeline, and price — I'm inviting bids. I want regular installable builds I can test on a real device and prompt answers to questions; I don't require live screen-share coding.
Acceptance criteria
Installs/runs natively on iOS + Android, fully offline.
No number/score shown anywhere (a "7 of 20" count is fine).
20 items verbatim; research items separately tagged.
Scoring engine standalone + unit-tested; worked example passes (0.938), clamp ≤ 1.0 — shown to me.
Visualization: single evolving scene, non-decodable, never "garden" before the final stage, never deteriorates.
Copy: "return to the oath," gain-framed, no comparisons.
Full backend: raw stored (plus averages), usage/engagement metrics, metadata grouping, aggregate dashboard — verified against the ~20-person run.
TEST/PRODUCTION separated. Client owns repo/source from day one.
In your bid, please state
Your tech choice and how it delivers native iOS + Android + offline.
Your milestone breakdown, timeline, and price.
Confirmation you'll build the scoring engine test-first and show the tests passing.
Confirmation you'll honor the non-decodable visualization, the withheld "garden" name, and the "return to the oath" framing.
Confirmation of client repo/source ownership from day one.
I'll provide the full spec, verbatim item text, calibration roles, and the worked scoring example on engagement.
Overview
I'm a medical-school professor. I need a functioning, polished beta to demonstrate to my department and secure funding for the full build. The app helps physician-faculty privately reflect on how they model professional behavior. It must install and run natively on both iPhone and Android and work fully offline on the device — not a web link needing internet. This is a hard requirement.
You may choose the tech stack (React Native, Flutter, native, etc.) as long as it delivers native iOS + Android + offline. Tell me in your bid what you'll use and how it meets that bar.
The #1 rule
The user is NEVER shown a number — no scores, percentages, ranks, grades, or per-domain meters, anywhere. Feedback is directional and qualitative only; progress is shown as an evolving visual scene. A build that displays "Empathy: 3.4/5" or "68%" has missed the point. (A plain "Question 7 of 20" count is fine.)
Core app
20-item assessment, 5 domains (Curiosity, Humility, Empathy, Reflection, Structural Awareness), 4 items each, on a frequency scale (Never→Almost Always). Item text supplied on engagement; used verbatim.
Optional Research Mode adds: a 12-item calibration survey (once at onboarding), 5 candor items in a separate labeled block, and a "then-test" re-rating at set waypoints — all tagged as research extensions so the core 20 stay unaltered.
Gentle optional weekly reflection ("Daily Three": three yes/no toggles + one optional note). Missing it is never punished.
The scoring engine (the research core — must be exact)
A hidden calibration corrects each user's self-report bias. Implement exactly:
invert(x) = 6 - x
InflationScore = mean of the 4 inflation-flag items
CandorScore = mean of the candor items (one reverse-scored)
BiasIndex = (InflationScore - CandorScore) / 4
BiasModifier = 1 - (0.08 * BiasIndex) // 0.08 configurable
BiasModifier = min(BiasModifier, 1.0) // never exceeds 1.0
CalibratedScore = RawDomainScore * BiasModifier // all 5 domains
Build this test-first as a standalone, unit-tested module independent of the UI. The spec includes a worked example: given inputs must yield BiasModifier = 0.938, and the clamp must ensure it never exceeds 1.0 (an honest, modest self-rater is never penalized). You must show me these unit tests passing. This is non-negotiable — the engine's correctness is the heart of the project.
Structural Awareness uses the same global modifier (no separate calibration dimension).
The visualization
A single evolving scene (not separate illustrations) that gradually changes as the user engages — more light, stronger roots, more plant life. You design it from the concept (no mockups exist), subject to my review. It grows through seven stages, from an initial "Void" to a final "Living World."
Cross-domain entanglement / non-decodable (critical): do NOT map each domain to its own visual element one-to-one — that would let someone read the water level backward into an "empathy score," which the app exists to prevent. Use a many-to-many mapping: each domain influences several visual properties and each property is influenced by several domains (e.g., light = Reflection + Humility; water = Empathy + Curiosity), with overlapping weights so no element traces to one domain. Test: nobody should be able to infer an individual domain score by looking at the scene.
The "garden" reveal: never call the scene a "garden" — not in text, accessibility labels, or logs — until the final "Living World" stage, where the name appears as an earned reveal. Before then use neutral language. Do not label it a garden from launch.
The scene never deteriorates — low engagement slows growth or shows a dormant season, never death, failure, or red warnings.
Copy / tone
All copy is framed as "returning to the oath" (re-aligning with an ideal the user already holds), never improving toward a score. Avoid "improve," "achieve," "unlock," "level up."
Gain-framed only. Never "you scored low." No comparison to other people — only the user to their own past.
Data collection & backend
Build the complete data-collection system (don't scale it back for the small first run). Collect and centralize, per study code:
Usage: total users, sessions per user, and timestamps sufficient to classify regular vs. intermittent users.
Outcome data: raw item-level responses for all 20 items at every administration (store raw, not only averages), the 12 calibration responses + computed BiasIndex/BiasModifier, the 5 candor responses, and the then-test responses — all timestamped and linked by study code.
Engagement: session count, time-to-complete, completion/drop-off, return rate.
Metadata tags for grouping/filtering: university name, country, and length of time using the app.
Aggregate dashboard: user counts, session frequency, regular-vs-intermittent, filterable by the metadata tags.
Two data requirements:
Store RAW responses as the source of truth AND also offer computed averages as a convenience view (raw may later feed different calculations).
Separate TEST and PRODUCTION environments from day one (separate DBs or an environment flag). The ~20-person verification run uses TEST; later deployment uses PRODUCTION — so data never commingles.
Verification run: ~20 volunteers will exercise the full system so I can confirm counts are right, data syncs intact, scoring calculates correctly, and the dashboard matches reality (I'll know the true numbers going in). The collection is identical to a real deployment; this run just verifies it works.
Privacy
No individual PII (no names, emails, or patient data) — a random study code is the primary identifier; metadata tags (university, country) are group-level. A consent/affirmation gate before any data transmits. Local export and delete for the user.
Ownership
Client owns the GitHub repo and all source from day one. Work-for-hire. The CHER framework and its content remain my IP.
Engagement model
Milestone-based, frontend first then backend. Propose your own milestone breakdown, timeline, and price — I'm inviting bids. I want regular installable builds I can test on a real device and prompt answers to questions; I don't require live screen-share coding.
Acceptance criteria
Installs/runs natively on iOS + Android, fully offline.
No number/score shown anywhere (a "7 of 20" count is fine).
20 items verbatim; research items separately tagged.
Scoring engine standalone + unit-tested; worked example passes (0.938), clamp ≤ 1.0 — shown to me.
Visualization: single evolving scene, non-decodable, never "garden" before the final stage, never deteriorates.
Copy: "return to the oath," gain-framed, no comparisons.
Full backend: raw stored (plus averages), usage/engagement metrics, metadata grouping, aggregate dashboard — verified against the ~20-person run.
TEST/PRODUCTION separated. Client owns repo/source from day one.
In your bid, please state
Your tech choice and how it delivers native iOS + Android + offline.
Your milestone breakdown, timeline, and price.
Confirmation you'll build the scoring engine test-first and show the tests passing.
Confirmation you'll honor the non-decodable visualization, the withheld "garden" name, and the "return to the oath" framing.
Confirmation of client repo/source ownership from day one.
I'll provide the full spec, verbatim item text, calibration roles, and the worked scoring example on engagement.