12:59

Weather

23°
Sunny
H:24° L:13°

Batteries

iPhone
MacBook
AirPods
Projects
Experience
Skills
Resume
JAKI
JAKI
TLIVE
SCB
About
Experience
Contact
wishihab
wishihab
📁
wishihabdev
📁
wishihab
📁
GoogleService
📁
Utils
📁
Cores
📁
Moduls
📄
AppDelegate
📄
SceneDelegate
📁
Assets
📄
Info-dev
📄
Info
📄
InfoPlist
📁
OneSignalNotificationServiceExtensionDev
📁
Products
📁
Pods
📁
Frameworks
🛠️
Tools
MainView.swift
×
AboutView.swift
×
SimulatorView.swift
×
//
// MainView.swift
// wishihab
//
// Created by Alwi Shihab on 01/01/23.
//
import UIKit
/*
// MARK: Portfolio Context
// You might be wondering why the portfolio website looks unusual.
// This view is an illustration of how most software engineers work.
// Most of them use an Integrated Development Environment (IDE) such
// as Visual Studio Code, JetBrains, Xcode, Android Studio, or even
// terminal-based tools like Neovim.
//
// This specific display mimics how I work as an iOS Developer using the
// Xcode IDE and the Simulator. This file serves as an example of how
// a user interface is created using UIKit or SwiftUI.
// I usually work using the tools that you can see in the bottom-left
// section of the Xcode IDE.
*/
class MainView: UIViewController {
// MARK: You can use the simulator to know more about me
let scrollView: UIScrollView = {
let scrollView = UIScrollView()
scrollView.backgroundColor = UIColor.appColor(.white)
scrollView.contentInsetAdjustmentBehavior = .never
scrollView.showsVerticalScrollIndicator = false
scrollView.alwaysBounceVertical = true
scrollView.translatesAutoresizingMaskIntoConstraints = false
return scrollView
}()

let scrollViewContainer: UIStackView = {
let view = UIStackView()
view.spacing = 8
view.axis = .vertical
view.backgroundColor = UIColor.appColor(.white)
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()

override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.appColor(.lightdarkblue)
view.addSubview(scrollView)
scrollView.addSubview(scrollViewContainer)

NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.leftAnchor.constraint(equalTo: view.leftAnchor),
scrollView.rightAnchor.constraint(equalTo: view.rightAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
])

NSLayoutConstraint.activate([
scrollViewContainer.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
scrollViewContainer.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
scrollViewContainer.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
scrollViewContainer.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor),
scrollViewContainer.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor),
])
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
}
}
Build Succeeded
2
148
Line: 25 Col: 32
About - Alwi Shihab
Profile

M. Alwi Shihab

Experiences in Mobile Development and passionate about creating user-centric public service applications. Excellent skill in designing and delivering Secure and Scalable solutions, with a strong focus on enhancing user safety and privacy in mobile applications.

iOS
Development

Android Development

Web Development

Security Awareness

Desktop Development

Projects - Portfolio

Portfolio

Mobile applications and web solutions I've developed

JAKI Other Features

JAKI Other Features

Various other features in JAKI iOS App including multi language localization 2023-2025

SMS OTP

two authentication profile using SMS OTP 2025

JakCare

Mental Health Online Consultation 2025

JAKI Pulau

JAKI Pulau

Island Information feature in JAKI iOS App 2025

JAKI Report

JAKI Report

Report feature in JAKI iOS App 2024

JAKI Wrapped

JAKI Wrapped

Year End Report feature in JAKI iOS App 2023 - 2025

JAKI PIN

JAKI PIN

Security PIN feature in JAKI iOS App 2024

JAKI Air Quality

JAKI Air Quality

Air Quality feature in JAKI iOS App 2023

JAKI Akun Warga

JAKI Akun Warga

Citizen Account feature in JAKI iOS App 2023

Maintenance JAKI

JakPangan, JakWifi and JakPeta 2023

Movie Clone

Movie Clone

Movie clone specific actress Jennifer Connelly 2023

My Contact API

My Contact API

Contact list based on randomuser 2022

Experience - Career

Work Experience

My professional journey in mobile development

iOS Developer

Jan 2023 - Present

Public Service iOS Development - Developing and maintaining Jakarta's smart city mobile applications.

Android Developer

Feb 2021 - Dec 2022

Public Service Android Development - Created and maintained citizen service applications for Jakarta.

Back End Developer

Oct 2020 - Jan 2021

Internal Web Development - Developed backend systems for aviation company's internal operations.

Android Developer

August 2019 - July 2020

Public Service Android Development - Developed mobile applications for government services.

Web Developer

October 2018 - December 2018

Internal Web Development - Developed web applications for government services.

Freelance Web Developer

Jan 2021 - Present

Freelance Web Developer - Developed web applications for clients.

Assistant Lecturer

Mar 2025 - Present

Part-Time Assistant Lecturer - Teaching Mobile and Web Development subjects to digital business students.

Student Internship

April 2018 - May 2018

Project Training, Back End Programmer - Gained experience in backend development and project management.

Computer Lab Assistant

April 2016 - September 2016

Practice - Basic of Algorithm, Data Structure and Databases - Assisted students with programming fundamentals.

Skills - Technical

Technical Skills

Technologies and frameworks I work with

Mobile Development

iOS (Swift, UIKit, SwiftUI)
Android (Java, Kotlin, XML)

Programming Languages

Swift, Java, Kotlin,
Python, PHP

Backend Technologies

Laravel, CodeIgniter,
MySQL, PostgreSQL

Security Awareness

Mobile Security,
OWASP Guidelines

DevOps

Ubuntu, Nginx, Apache,
SSH, Fastlane, CI/CD

Resume - Download

Resume

Download my complete resume

Download Resume

Get my complete professional profile

Contact - Get in Touch

Get In Touch

Let's connect and discuss opportunities

LinkedIn

linkedin.com/in/wishihab

GitHub

github.com/wishihab

Twitter

@wishihab

Instagram

@wishihab