Skip to content
View premsinghsodha7's full-sized avatar
馃挱
Probabily Building something impactful
馃挱
Probabily Building something impactful

Block or report premsinghsodha7

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don鈥檛 include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user鈥檚 behavior. Learn more about reporting abuse.

Report abuse
premsinghsodha7/README.md

Hi, I'm Prem Singh 馃憢

Lead Mobile Engineer 路 Android & Kotlin 路 iOS 路 Flutter 路 Kotlin Multiplatform

Based in Dubai, UAE 路 Building Mobile and cross-platform apps at Synechron

LinkedIn 路 Medium 路 DEV 路 Hashnode

I build mobile applications with clear architecture boundaries, reusable interface components, and testable application rules. My core specialization is native Android with Kotlin and Jetpack Compose, complemented by Kotlin Multiplatform and Compose Multiplatform projects.

My engineering focus spans application structure, UI state management, component reuse, data persistence, and automated verification. My public portfolio brings these concerns together through runnable applications, a reusable component library, focused unit tests, and documented build workflows.

Finance interfaces are a recurring theme in my work here, including account dashboards, transfer validation, transaction activity, and payment-related UI components.

Engineering focus

  • Application architecture: explicit boundaries between domain rules, data implementations, ViewModels, and Compose UI.
  • Reusable components: shared presentation APIs packaged separately from their consuming application.
  • State management: reactive data flows and read-only state exposed to the UI.
  • Data handling: local persistence where required, with clear limits for in-memory demonstrations.
  • Delivery discipline: documented setup, focused unit tests, and automated build workflows.
  • Multiplatform development: shared Compose UI and app behavior with platform-specific entry points.

Featured projects

Android architecture and finance interactions

A fictional banking application demonstrating an account dashboard, transaction filters, validated transfers, spending insights, and card controls.

Engineering highlights

  • Separates domain models and the repository contract from the in-memory data implementation and Compose screens.
  • Uses a ViewModel to expose read-only dashboard state backed by StateFlow.
  • Parses transfer input into integer minor currency units using decimal arithmetic.
  • Validates missing recipients, invalid amounts, and insufficient funds before updating demo account state.
  • Includes repository tests covering successful transfers and rejected operations.
  • Configures GitHub Actions to run unit tests and assemble the debug APK.

Stack: Kotlin 路 Jetpack Compose 路 Material 3 路 ViewModel 路 StateFlow 路 JUnit

Scope: Local, fictional data held in memory. No backend, authentication, bank connection, or payment processing.

Architecture and setup 路 App preview

Reusable finance UI and library boundaries

A Jetpack Compose component library with a separate runnable demo application. The project demonstrates how finance presentation components can be packaged for integration into another Android app.

Engineering highlights

  • Separates the reusable composekit library from the consuming demo module.
  • Provides balance cards, amount fields, transaction rows, account rows, budget summaries, and payment card previews.
  • Includes transfer status and fee breakdown components.
  • Supports enabled and loading action states, amount validation feedback, and selectable theme palettes.
  • Keeps payment execution and financial data storage outside the presentation library.
  • Includes amount-input policy tests.
  • Configures GitHub Actions to run unit tests and assemble the demo APK.

Stack: Kotlin 路 Jetpack Compose 路 Material 3 路 Android Library 路 Gradle 路 JUnit

Scope: A portfolio UI library with fictional sample values. Components do not process payments or connect to a backend.

Component catalog and integration 路 App preview

Local persistence and reactive Android state

An offline pantry companion with expiry tracking, item search, category filters, shopping lists, and meal planning.

Engineering highlights

  • Persists pantry entries through Room entities and a DAO.
  • Observes database changes through Flow and exposes entries as ViewModel StateFlow.
  • Uses coroutines for database writes.
  • Separates expiry summaries and display rules into domain functions.
  • Includes unit tests for expiry windows and date labels.
  • Configures GitHub Actions to run unit tests and assemble the debug APK.

Stack: Kotlin 路 Jetpack Compose 路 Room 路 Coroutines 路 Flow 路 StateFlow 路 ViewModel

Scope: Pantry entries are stored locally on the device, without an account or cloud service.

Implementation and setup 路 App preview

Kotlin Multiplatform projects

Shared finance UI and platform integration

A Compose Multiplatform finance dashboard with sample account activity, demo transfers, card controls, and light and dark themes.

  • Places shared Compose UI and application behavior in commonMain.
  • Includes Android and desktop entry points.
  • Provides an iOS Compose controller and device/simulator framework targets.
  • Configures GitHub Actions to assemble Android and compile the desktop UI.

Stack: Kotlin Multiplatform 路 Compose Multiplatform 路 Material 3 路 Gradle

Scope: Fictional data held in memory. Building and launching an iOS application requires Xcode.

Project details 路 Android preview

Shared habit interactions and Compose UI

A multiplatform habit companion with daily check-ins, weekly progress, streak insights, and selectable Meadow, Sky, and Dusk themes.

  • Shares Compose UI and habit behavior in commonMain.
  • Includes Android and desktop entry points and an iOS Compose controller.
  • Keeps the demonstration self-contained with session-based, in-memory state.

Stack: Kotlin Multiplatform 路 Compose Multiplatform 路 Gradle

Scope: Habit progress lasts for the current app session. Building and launching an iOS application requires Xcode.

Project details 路 Android preview

A calmer way to plan a trip

A Kotlin Multiplatform travel planner with a shared Compose interface for trip highlights, a five-day itinerary, budget tracking, and packing.

  • Uses shared Compose UI across Android, the iOS framework, and desktop.
  • Includes three visual themes, selectable itinerary days, a sample expense action, and a tappable packing checklist.
  • Provides an Android launcher mark and a vector interface preview in the README.
  • GitHub Actions successfully assembles Android, compiles desktop, and links the iOS simulator framework.

Stack: Kotlin Multiplatform 路 Compose Multiplatform 路 Material 3 路 GitHub Actions

Scope: Fictional Lisbon itinerary and sample prices. No travel service, map, account, or payment integration.

Project details 路 Interface preview

More Android work

On-device storage and testable habit rules

A native Android habit tracker with daily check-ins, consecutive-day streaks, weekly insights, and selectable themes.

  • Stores habit data in private app preferences across app restarts.
  • Separates local storage from habit and progress rules.
  • Includes unit tests for consecutive streak behavior and progress calculations.
  • Configures GitHub Actions to run unit tests and assemble the debug APK.

Stack: Kotlin 路 Jetpack Compose 路 ViewModel 路 Local Preferences 路 JUnit

Project details 路 App preview

Technical toolkit

Area Technologies and practices
Core language Kotlin
Android UI Jetpack Compose, Material 3
Application structure Repository contracts, ViewModels, separated domain rules
Asynchronous work and state Coroutines, Flow, StateFlow
Local storage Room, app preferences
Multiplatform Kotlin Multiplatform, Compose Multiplatform
Testing JUnit, domain-rule tests, repository behavior tests
Build and workflow Gradle, Git, GitHub Actions, Android Studio

Explore and connect

The repositories include implementation details, setup instructions, screenshots, and documented limitations. Finance projects use fictional data and demonstrate UI and application behavior.

Browse all repositories 路 Connect on LinkedIn

Medium 路 DEV 路 Hashnode

Pinned Loading

  1. FintechFlow FintechFlow Public

    Multi-screen Kotlin/Compose banking demo with searchable activity, validated sample transfers, and in-memory state.

    Kotlin

  2. ComposeKit ComposeKit Public

    Reusable Kotlin/Compose finance components with a themed demo app, accessible defaults, and validated amount input.

    Kotlin

  3. HabitGarden HabitGarden Public

    On-device Kotlin/Compose habit tracker with private storage, daily check-ins, progress, and streaks.

    Kotlin

  4. PantryPal PantryPal Public

    Offline-first Kotlin/Compose pantry app with Room storage, search, category filters, and expiry tracking.

    Kotlin

  5. FintechFlowKMP FintechFlowKMP Public

    Kotlin Multiplatform finance dashboard built with shared Compose UI for Android, iOS, and desktop.

    Kotlin

  6. HabitGardenKMP HabitGardenKMP Public

    Kotlin Multiplatform habit companion with shared Compose UI, daily check-ins, insights, and theme options.

    Kotlin