iOS Swift App Store

TalentraSuite

A secure Employee Self-Service (ESS) iOS app designed to streamline HR operations and improve workforce productivity. I worked at ICTechnology Pty Ltd and contributed to TalentraSuite as an iOS Engineer.

View on App Store
TalentraSuite App Screenshot
iOS · Business · ICTechnology Pty Ltd

Functionality

Key Features

Core HR self-service features delivered in the app.

🏖️
Leave Management

Submit and track leave requests with real-time approval status updates from managers.

⏱️
Attendance & Time Tracking

View attendance records, monitor working hours, and track daily clock-in / clock-out history.

Manager Approvals

Approve requests and manage team activities on the go — empowering managers with mobile HR oversight.

💼
Payslip & Employee Data

Securely access personal information, employment records, and payslip documents anytime.

🔔
Notifications & Alerts

Stay informed with real-time push notifications for approvals, reminders, and HR updates.

🔒
Secure Enterprise Access

Authentication tied to an organisation's TalentraSuite HR system — accessible only to authorised employees.

Engineering

Tech Stack

Technologies and frameworks used to build the iOS client.

🎨
UI & Presentation

Built entirely with SwiftUI, using declarative, state-driven UI components. All development and profiling done in Xcode.

SwiftUI Xcode
🏛️
Architecture

Structured with MVVM on top of Clean Architecture, keeping Presentation, Domain, and Data layers cleanly separated and independently testable.

MVVM Clean Architecture
🌐
Networking

All API communication handled via Moya, providing a type-safe, enum-based abstraction over the network layer with clearly defined endpoint targets.

Moya REST API
Concurrency & Reactivity

Combine for reactive data flow between ViewModels and views. async/await for structured concurrency in network and async operations.

Combine async / await
📍
Location Services — CoreLocation

Used CoreLocation to validate employee attendance location — ensuring clock-in is recorded only from authorised premises with geofencing support.

CoreLocation Geofencing
🔔
Push Notifications

Integrated Push Notifications via APNs to alert employees of leave approvals, attendance reminders, and HR announcements in real time.

Push Notifications APNs
🧪
Testing — TDD & Unit Tests

Test-Driven Development (TDD) was the primary development approach. Unit tests written with XCTest, concentrated on the Data Layer (Repository and Data Source implementations) and ViewModels — achieving near 100% coverage on these layers. The layered architecture keeps each unit independently testable.

XCTest TDD Unit Testing

Structure

Architecture Layers

Clean Architecture principles — but streamlined. No dedicated Use Case layer; instead the Repository acts as the business logic boundary, keeping the architecture simple without sacrificing separation of concerns.

Presentation Layer

SwiftUI Views & ViewModels. Observes state from the Repository, handles UI events. No business logic.

Repository Layer

Repository Protocol defines the contract. Local and Remote Repository concrete types implement it, delegating to their respective Data Sources.

Data Source Layer

Concrete implementations — Moya-backed remote API calls and local storage. Maps DTOs to domain models. Near 100% unit test coverage with XCTest.

Complete Stack

All Technologies

SwiftUI Xcode MVVM Clean Architecture Repository Pattern Moya Combine async / await CoreLocation Geofencing Push Notifications XCTest TDD Unit Testing APNs REST API

My Role

I worked at ICTechnology Pty Ltd as an iOS Engineer on TalentraSuite — responsible for building the native iOS client. Key contributions included implementing the leave management flow, attendance & time tracking, integrating CoreLocation for geofenced attendance validation, wiring the Moya networking layer, setting up Combine-based reactive state in ViewModels, integrating Push Notifications, and writing unit tests following TDD with XCTest — focused on Repository, Data Source, and ViewModel layers.

Distribution

TalentraSuite is publicly available on the App Store — however, it requires a valid account provided by your employer or organisation that has implemented the TalentraSuite HR system. The app is intended for authorised enterprise users only.

View on App Store ↗
AI-Assisted Development

Built with an AI Coding Agent

TalentraSuite was developed with hands-on use of an AI coding agent throughout the process — not just for boilerplate, but as a genuine development companion.

Data Layer
Repository and Data Source implementations — remote and local — built and iterated with AI assistance.
ViewModels
Combine-based ViewModel logic reviewed and refined with the agent, catching edge cases early.
Unit Tests
TDD test cases generated and reviewed collaboratively — covering Repository, Data Source, and ViewModel layers.
UI & Exploration
Parts of the SwiftUI UI were co-written with the agent. Also experimented with CLAUDE.md files to guide the agent on project context — learning by doing.
AI Coding Agent
Category
Business
Platform
iOS 16.0+
Developer
ICTechnology Pty Ltd
Size
21 MB