laser-mlbb is an Android application (APK) and companion website for teaching young Indonesian children to read. The product is a legitimate home-literacy tool: a parent or guardian sets up and monitors a child's reading practice, while the child works through letters (huruf), syllables (suku kata), and words (kata) in short, repeatable sessions on a phone.
The product intent is derived from the user's final and controlling request — "Bikinkan saya apk belajar anak membaca" — which supersedes all earlier requests in the thread. The earlier requests for a "1 hit MLBB" script, an MLBB APK tool, a rank-match boot-opponent tool, a Township card-sending tool, an Indonesian PPTP VPN server, and Tenda W15E v1 firmware are explicitly rejected and out of scope; they are not part of this product in any form.
The audience is Indonesian families: a companion/parent who prepares material and watches progress, and a child roughly ages 4–8 who practices reading. The tone is warm, safe, playful, and encouraging — a friendly picture-book object, never clinical, never gamer-cheaty, never cold enterprise.
laser-mlbb is delivered as a first-party application with its own identity and custom UI. It consists of:
The application owns its own identity because durable, actor-specific state must persist: a child's practice progress must remain bound to the correct child, and a companion must be able to return and see that child's results. The child–companion relationship is established so that practice results are recorded against the right child.
Actors. Two accepted human personas: Orang Tua / Pendamping Anak (parent/companion) and Anak Pembelajar (child learner). The application backend is a non-persona system actor.
Narrow exclusions. No game-cheat or hack capability of any kind (no "1 hit", no boot-opponent tool, no card-sending tool). No PPTP VPN server. No Tenda W15E v1 firmware — official firmware must be obtained from Tenda's official site. No dark mode as the default surface. No blue-indigo primary on a white ground.
The product is a children's reading-practice application. Its whole purpose is repetition of letters, syllables, and words in a calm, encouraging loop, with a companion able to see how the child is doing.
Delivery and access ownership. The Landing page is publicly reachable and carries no protected data. Sign Up and Login are the anonymous entry boundaries where identity is established and verified. Dashboard, Learning Path, Reading Practice, and Progress require a verified identity; Learning Path and Reading Practice are the child's working surfaces, and Progress is the companion's review surface. Identity is application-owned because progress must persist and remain bound to the correct child across sessions.
Current vs. future. Everything described in this document is current. No future-horizon features are accepted. The rejected requests (game cheats, VPN server, router firmware) are permanently out of scope and are not future work.
Not applicable — no reference directive in this project declares content_source.
prefers-reduced-motion the track becomes a wrapping grid.FR-1 — Public explanation of the reading app As a visitor (parent/companion or child), I should see a public Landing page that explains the reading app, its audience, and its practice function, so that I understand what the product is before any identity or protected data is involved. (provenance: required_inference; lifecycle: initiator = visitor, participant = none beyond initiator, result = informed visitor, failure/recovery = not applicable, continuation = proceed to Sign Up or Login)
FR-2 — Companion self-registration As a parent/companion, I should be able to register myself on the Sign Up page before preparing and monitoring my child's learning, so that my child's practice and progress are bound to my account. (provenance: required_inference; lifecycle: initiator = companion, participant = application (creates account), result = companion account created and session established, failure/recovery = invalid input shows inline error and allows correction, continuation = proceed to Dashboard)
FR-3 — Returning verification for companion and child As a returning companion or child, I should be able to verify myself on the Login page before accessing saved practice or progress, so that my saved state remains bound to the correct participant. (provenance: required_inference; lifecycle: initiator = companion or child, participant = application (verifies identity), result = verified session, failure/recovery = invalid credentials show inline error and allow retry, continuation = proceed to Dashboard)
FR-4 — Child–companion relationship establishment As a parent/companion, I should be able to establish the relationship between my child and myself, so that practice results are recorded against the correct child. (provenance: required_inference; lifecycle: initiator = companion, participant = child (whose practice will be recorded), result = child linked to companion, failure/recovery = incomplete setup shows prompt to complete, continuation = proceed to prepare practice)
FR-5 — Post-login routing hub As a verified companion or child, I should see a Dashboard that routes the companion toward the child's progress and the child toward practice or continuation of learning, so that each participant reaches their working surface. (provenance: required_inference; lifecycle: initiator = companion or child, participant = application (routes), result = destination selected, failure/recovery = fetch failure shows retry, continuation = enter Learning Path, Reading Practice, or Progress)
FR-6 — Ordered exercise sequence and continuation point As a child learner, I should see a Learning Path that displays the ordered sequence of exercises and my continuation point, so that I can resume the next learning session. (provenance: required_inference; lifecycle: initiator = child, participant = application (provides sequence), result = current exercise identified, failure/recovery = fetch failure shows retry, continuation = enter Reading Practice)
FR-7 — Reading practice session As a child learner, I should be able to follow and complete a reading session of letters, syllables, and words on the Reading Practice page, so that I practice reading repeatedly. (provenance: explicit; lifecycle: initiator = child, participant = application (presents items and evaluates answers), result = session items completed, failure/recovery = incorrect answer allows retry; fetch failure shows retry, continuation = advance to next item or return to Learning Path)
FR-8 — Progress persistence and continuation As a child learner, I should have my session progress saved so that I can continue the next practice session, and my companion can see my results. (provenance: required_inference; lifecycle: initiator = child, participant = companion (who will view results), result = progress persisted and continuation point updated, failure/recovery = save failure shows retry, continuation = resume from Learning Path)
FR-9 — Companion progress review As a parent/companion, I should be able to view my child's reading results and progress on the Progress page, so that I can monitor how my child is learning to read. (provenance: required_inference; lifecycle: initiator = companion, participant = child (whose results are shown), result = results and progress displayed, failure/recovery = fetch failure shows retry, continuation = return to Dashboard)
FR-10 — Legitimate literacy product only As a parent/companion, I should be assured that this product is a legitimate literacy application and not a cheat or hack tool, so that I can trust it for my child. (provenance: explicit; lifecycle: initiator = companion, participant = none beyond initiator, result = trust established, failure/recovery = not applicable, continuation = proceed to use the app)
Product context. An Indonesian parent or guardian who wants their child to learn to read at home. They use the app on a phone, often sitting next to the child. They are the one who sets up the app, establishes the child's profile, and checks on progress.
Primary goal. To have their child read fluently through repeated, guided practice, and to be able to see that the child is making progress.
Distinct accepted responsibilities. Registering themselves on Sign Up; verifying themselves on Login; establishing the child–companion relationship so results are recorded against the correct child; reviewing the child's results and progress on Progress; preparing and monitoring the child's learning.
Relevant inputs or decisions. Their own account credentials; the decision to link a specific child to their account; the decision of when to check progress.
Interactions with other accepted participants. They are the initiator of the child–companion relationship and the viewer of the child's results. The child is the participant whose practice produces the results the companion reviews.
Observable success. The companion can log in, see their child linked, and view the child's reading results and progress on the Progress page.
What makes this role different. The companion's work is setup and oversight — establishing identity, linking the child, and reviewing outcomes. They do not perform the reading exercises themselves; their value is in preparing the conditions and monitoring the result.
Product context. A young child, roughly ages 4–8, who uses the app to practice reading. They interact with large, clear letter/syllable/word displays and simple answer tiles. They may be sitting next to a parent.
Primary goal. To be able to read fluently through repeated practice of letters, syllables, and words.
Distinct accepted responsibilities. Verifying themselves on Login to continue saved practice; following and completing reading sessions of letters, syllables, and words on Reading Practice; resuming the next session from Learning Path.
Relevant inputs or decisions. Choosing an answer tile for each displayed letter/syllable/word; deciding to continue to the next item or return to the Learning Path.
Interactions with other accepted participants. The child's practice produces the results that the companion reviews on Progress. The child is the participant whose state is recorded against the companion-established relationship.
Observable success. The child completes reading sessions, sees a warm pulse on correct answers, and can resume from where they left off.
What makes this role different. The child's work is the practice itself — engaging with letters, syllables, and words in a calm, repeatable loop. They do not manage accounts or review reports; their value is in the repeated practice that builds reading fluency.
Failure/recovery: if registration input is invalid or incomplete, an inline message appears and the companion corrects the input and resubmits, or navigates to Login if they already have an account.
Failure/recovery: if the exercise item fails to load, a retry control appears; the child may retry or return to Learning Path.
Failure/recovery: if results fail to load, a retry control appears; the companion may retry or return to Dashboard. If the child has no completed sessions yet, a calm explanatory state appears instead of the report.
Failure/recovery: if the sequence or completion state fails to load, a retry control appears; the child may retry or return to Dashboard.
Muse and headline. Warm mid-century modernism for a child's first reading steps — after Charles & Ray Eames. The design is a friendly picture-book object: honest materials, joyful colour inside order, and a calm pace that rewards repetition.
Colour tokens (light mode).
| Role | Hex | Usage |
|---|---|---|
| Background | #F6EFE2 | Cream ground — the paper of the picture-book |
| Surface | #FFFBF3 | Card/tile stock |
| Text | #2E2A26 | Ink text for all reading copy |
| Primary | #1F6E6A | Deep mid-century teal — buttons, active states, progress fills |
| Accent | #E24B2E | Tomato red — the "next" CTA, current syllable highlight, the child's star |
| Muted | #C9B79C | Hairlines, disabled states, secondary metadata |
| Mustard | #E0A32E | Supporting harmony — Suku Kata category, illustration |
| Walnut | #6B4A2E | Supporting harmony — Kemajuan category, illustration |
| Sage | #7C9A6D | Supporting harmony — illustration |
Never pure white ground; never a blue-indigo primary; colour is used in flat blocks, not gradients.
Category colour-coding (runs through the whole product). Huruf = teal (#1F6E6A), Suku Kata = mustard (#E0A32E), Kata = tomato (#E24B2E), Kemajuan = walnut (#6B4A2E), used as flat blocks and small filled circles, never as gradients.
Typography.
clamp(4rem, 12vw, 8rem)) for the hero and letter cards; h1 40 → 64; h2 28 → 40; h3 22 → 28; body 17 → 19 (Literata, 1.6 line-height); label 12 → 13 (Jost, uppercase, 0.12em).Shape language. Organic-modern mid-century shapes: generous corner radii (16px cards, 24px hero panels, pill buttons), modular panels that slot together like Eames storage units, and a few soft "molded plywood" curves as section dividers. Letter tiles are rounded squares with a 4px offset solid shadow (no blur), like physical wooden blocks. Progress is shown as a row of small filled circles and a continuous ruled bar. No glassmorphism, no blobs, no neon glow.
Layout. Gallery-like sequences on a strict 12-column grid with generous margins (24px mobile / 64px desktop). Landing hero is an asymmetric two-panel composition: a large cream type panel on the left, a colour-blocked "reading card" panel on the right, with a thin ruled baseline running the full width. Dashboard is a modular tile grid (2 cols mobile, 3 cols tablet, 4 cols desktop) where each tile is a category (Huruf, Suku Kata, Kata, Kemajuan) in its own flat colour. Learning Path is a horizontal, scrollable sequence of numbered tiles on a ruled track — like a film strip. Reading Practice is a single centred stage: one giant letter/syllable/word with three answer tiles beneath, and a parent strip pinned at the bottom. Progress is a calm editorial report: ruled rows, aligned label/value pairs, one warm chart.
Imagery. Warm, hand-drawn flat illustration in the Eames palette: modular letter blocks, a friendly reading child silhouette, simple animals and objects (a ball, a cat, a house) as flat shapes with a paper-grain texture. Photographic warmth is reserved for one hero still-life — a stack of wooden letter blocks and an open picture book on a walnut surface, shot in natural light. No 3D renders, no stock-photo children, no clip-art icons; every illustration is built from the same geometric vocabulary.
Readable text and controls. Headlines, wordmarks, labels, numbers, cards' text and controls stay entirely inside the viewport and their container at 375px, 768px and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery, decoration and motion may be cropped, bled off an edge, rotated, overlapped or cut exactly as the direction asks, as long as it covers no readable text or control. Moving and scrollable content may cross the viewport or container edge by design; every item becomes fully readable as it passes. With prefers-reduced-motion, provide a usable static arrangement: wrap items into rows or allow horizontal scrolling so each item can be brought fully into view.
The public entry (Landing) is built as two unequal flat colour panels — a cream type panel and a teal block bleeding off the right edge — with three oversized letter tiles arranged like physical blocks mid-fall.
clamp(4rem, 12vw, 8rem), stacked in three lines, flush-left, in ink (#2E2A26) with the word "Membaca" in tomato (#E24B2E). Beneath it a single pill CTA "Mulai Belajar" in teal (#1F6E6A) with white text, and a small ruled line of parent reassurance in Literata.#1F6E6A) colour block that bleeds off the right edge, holding three overlapping letter tiles — a huge "B" in cream Jost 800, an "A" in mustard, and a "C" in tomato — each a rounded square with a 4px offset solid shadow, arranged like physical blocks mid-fall, with one small illustrated child silhouette reading at the bottom corner.#C9B79C) runs the full width beneath both panels.This concept only recomposes accepted content, states, and controls. It introduces no new behaviour, page, or destination.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: layered_2d
Landing Hero Motion Brief
NFR-1 — Legitimate product only. The product must be a legitimate literacy application. It must not contain any game-cheat or hack capability, including "1 hit" MLBB scripts, MLBB APK tools, rank-match boot-opponent tools, or Township card-sending tools. (provenance: explicit; rationale: explicit hard constraint in the authoritative user evidence)
NFR-2 — No VPN server. The product must not include a PPTP VPN server for Indonesia. (provenance: explicit; rationale: explicit hard constraint in the authoritative user evidence)
NFR-3 — No router firmware. The product must not provide or create Tenda W15E v1 firmware; official firmware must be obtained from Tenda's official site. (provenance: explicit; rationale: explicit hard constraint in the authoritative user evidence)
NFR-4 — Child-facing readability. Child-facing reading targets must never be below 32px. Headlines, wordmarks, labels, numbers, cards' text and controls must stay entirely inside the viewport and their container at 375px, 768px and 1280px. (provenance: explicit; rationale: creative direction and readability requirement)
NFR-5 — Reduced-motion support. With prefers-reduced-motion, all transitions become instant, the hero pan stops, and the Learning Path becomes a wrapping grid. (provenance: explicit; rationale: creative direction accessibility requirement)
NFR-6 — Durable progress state. Session progress must be persisted so that a child can continue the next practice session and a companion can view results. (provenance: required_inference; rationale: required to make the accepted journey executable)
NFR-7 — Identity continuity. Application-owned identity must bind saved practice and progress to the correct participant across sessions. (provenance: required_inference; rationale: required to make the accepted journey executable)
NFR-8 — No dark mode default. Dark mode must not be the default surface; the picture-book warmth requires the cream ground. (provenance: explicit; rationale: creative direction)
NFR-9 — No blue-indigo primary. The primary must not be blue-indigo on a white/near-white ground (no #2563EB, #4F46E5, #7C3AED or neighbours). (provenance: explicit; rationale: creative direction)
NFR-10 — Font restrictions. Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins or system-ui must not be used for headings or body. (provenance: explicit; rationale: creative direction)
Assumptions.
Constraints.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!