Skip to content

Repository files navigation

🧬 Genwise β€” Generational Life-Stage & Demographic Intelligence

Platform Language UI Target SDK License: MIT

Genwise is an Android demographic classification and life-stage intelligence application designed to deliver real-time generational cohort evaluation through clean UI states, ViewBinding, and Material 3 design.


πŸ“– Overview

Categorizing demographic data and understanding human generational life stages is fundamental across personalized UX onboarding, health assessments, and educational profiling.

Genwise provides a lightweight, responsive native Android implementation for evaluating age-based cohort criteria. Featuring ViewBinding, custom stroke input styling, and integrated IME keyboard action listeners, the app validates inputs, evaluates life-stage bounds, and dynamically renders personalized greetings and cohort classifications.


πŸ—οΈ Architecture & Classification Flow

flowchart TD
    subgraph Input ["User Input & Trigger"]
        NI["Name Input Field"]
        AI["Age Input Field"]
        DoneBtn["IME Done Action / Submit Button"]
    end

    subgraph Validation ["Validation Engine"]
        CheckValid{"Non-empty Name & Valid Integer >= 0?"}
        ToastErr["Show Toast Feedback & Retain Focus"]
    end

    subgraph Classifier ["Life-Stage Evaluator (MainActivity)"]
        MatchAge{"Evaluate Age Bracket"}
        Child["πŸ‘Ά Child (< 13)"]
        Teen["πŸŽ’ Teenager (13 - 19)"]
        Adult["πŸ’Ό Adult (20 - 59)"]
        Senior["πŸ§“ Senior (60+)"]
    end

    subgraph UI ["Dynamic State Rendering"]
        Greet["binding.greetingText.apply { text = 'Hello, {Name}!' }"]
        Result["binding.ageGroupText.apply { text = 'You are a {Cohort}.' }"]
        Clear["binding.nameInput.clearFocus() & ageInput.clearFocus()"]
    end

    NI --> DoneBtn
    AI --> DoneBtn
    DoneBtn --> CheckValid

    CheckValid -- No --> ToastErr
    CheckValid -- Yes --> MatchAge

    MatchAge -->|< 13| Child
    MatchAge -->|13..19| Teen
    MatchAge -->|20..59| Adult
    MatchAge -->|>= 60| Senior

    Child --> Greet
    Teen --> Greet
    Adult --> Greet
    Senior --> Greet

    Greet --> Result
    Result --> Clear
Loading

✨ Core Features

  • 🎯 Accurate Life-Stage Classification: Multi-tier evaluation logic parsing input into distinct biological and social cohorts: Child, Teenager, Adult, and Senior.
  • ⚑ Seamless IME Done Action: Directly trigger classification from the soft keyboard's IME_ACTION_DONE key for frictionless single-handed operation.
  • πŸ›‘οΈ Robust Input Sanitization: Form validation guarding against non-numeric entries, empty text buffers, and negative values with instant Toast diagnostics.
  • 🎨 Material 3 Design System: Styled text input layouts with custom color states, focus strokes, and dynamic visibility transitions.
  • 🧩 ViewBinding Architecture: Complete elimination of findViewById boilerplate for type-safe, null-safe view references.

πŸ“± Demographic Taxonomy

Cohort Category Age Span Clinical & Demographic Description
πŸ‘Ά Child < 13 years Early developmental stage focusing on pediatric growth and foundational learning
πŸŽ’ Teenager 13 – 19 years Adolescent transition characterized by rapid cognitive and physical maturation
πŸ’Ό Adult 20 – 59 years Prime working age cohort involved in professional, family, and civic life
πŸ§“ Senior 60+ years Elder life-stage with focus on healthy longevity, retirement, and legacy

πŸ› οΈ Technology Stack

Layer / Component Technology Version Purpose
Platform Android API 24 – 35 Native Android runtime
Language Kotlin 2.0+ Clean, concise application logic
UI Framework ViewBinding + ConstraintLayout 2.1.4 Responsive constraint-based view hierarchy
Design System Google Material Components 1.12.0 Material 3 themes and surface styling
Build System Gradle (Kotlin DSL) AGP 8.x Modern build automation

πŸš€ Getting Started

Prerequisites

  • Android Studio Ladybug or newer.
  • JDK 11 or JDK 17.
  • Android SDK 35.

Build & Run

  1. Clone the repository:
    git clone https://github.com/shayann07/Genwise.git
    cd Genwise
  2. Open in Android Studio and sync Gradle.
  3. Build the debug APK:
    ./gradlew assembleDebug
  4. Run on an Android emulator or physical device.

πŸ“„ License

This project is licensed under the MIT License β€” Copyright (c) 2026 shayann07.

About

Android demographic intelligence & generational life-stage classifier app built with Kotlin, ViewBinding, and Material Design 3.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages