Description
The core phone shell — lockscreen, home grid, app drawer, notifications, and settings — that every other phone app docks into. It exists because servers want a phone they can extend without paying premium licensing, and a clean server-authoritative state layer is the moat that makes the rest of the ecosystem possible.
Prompt Template
You are writing a FiveM resource for a smartphone OS shell that runs with ESX, QBCore,…
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth — both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access — pay once
- All 510 prompts — the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates — new niches as the market moves
$49 for 60 · $199 for all 510 + intelligence — one-time, no subscription.
Expected Output
The reference Lua lives at content/expected-outputs/phone/01-smartphone-os-framework.lua. It implements a wait-for-load open animation, an NUI focus toggle, and a server-owned Phones[src] record…
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth — both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access — pay once
- All 510 prompts — the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates — new niches as the market moves
$49 for 60 · $199 for all 510 + intelligence — one-time, no subscription.
Known Failure Modes & Corrective Prompt
- Client-held state — keeping apps/unread/settings client-side lets a player fake installs and unread; the record must live on the server and sync down.
- Anim plays before load —
TaskPlayAnimbefore the dict loads snaps the ped with no prop; wait forHasAnimDictLoaded. - Fire-and-forget notifications — a one-way client event with no server record desyncs unread across relogs; mutate the record then re-sync.
Corrective re-prompt: "Move Phones[src] entirely to server.lua and sync via phoneOs:syncState, wrap the open animation in a RequestAnimDict + HasAnimDictLoaded wait loop, and make phoneOs:pushNotification mutate the server record before re-syncing the target."
Framework Integration
- ESX:
ESX = exports['es_extended']:getSharedObject(); keyPhonesbyxPlayer.identifierso state survives a relog. - QBCore:
QBCore = exports['qb-core']:GetCoreObject(); key byPlayer.PlayerData.citizenidand persist via aphonestable. - QBox:
exports.qbx_core:GetPlayer(src); same citizenid keying, load onplayerLoadedand flush on drop.
Profit Potential
$80–$1200/mo on Tebex (expected ~$300). [INFERRED] priced within the $50-389 script band against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo), scaled down for a saturated niche.
Trend Signal
↘ saturated — corpus: Tebex top-100 (signal-scraper source) shows full-phone OS dominated by a premium incumbent; vast TAM but hard to displace. MASTER-200 id-112 anchor (MASTER-200.md:219).
Sales Angle
Open, hackable phone shell for servers that refuse the premium incumbent's licensing — positioned as the dev-friendly base every custom app docks into, not a head-on feature war. Recommended Tebex price $129.
Difficulty & Ship Time
advanced · ships in 1-2 days.