Tantan is currently the largest dating app in China, with over a hundred million registered users. As a founding team member, I had the great opportunity to work on the iOS app from scratch, thereby witnessing the scaling from zero users all the way to millions of people using the app on a daily basis. Most of my work consisted around the UI: building various views and animations, and making sure that everything runs smoothly on device. I was also in charge of a cooperation together with Qualcomm, where the iOS and Android clients integrated Qualcomm’s upcoming LTE-Direct technology to enable direct device-to-device communication. On the 23rd of Februray 2018, it was announced that Momo, the Chinese location-based social networking app, aquired Tantan for around $735 million.
Charades is a timeless classic game for parties and gatherings. The app was developed and released in the end of 2021, and has since had some incremental updates containing new features and localizations to various languages. The app's concept is centered around simplicity and style, with a user interface that is easy to navigate and gameplay mechanics that feel intuitive. Most of the user interface consist of standard iOS components with custom design, as well as various animation, sound, and haptic feedback effects. The app has over 30 unique categories with around 3000 different words or phrases to play through. Users also have the ability to create their own content.
Sthlm Travel is the fastest and most convenient way to get realtime and trip information about the public transport in Stockholm (SL). I started this project together with a friend in late 2014, and it was my first introduction to Swift and watchOS. The app was first released in March 2015, which at the time was one of the first Apple Watch apps released on the Swedish App Store. Throughout the years, the app has been featured under many categories and collections on the Nordic App Stores.
Handing over your phone to show photos to others shouldn’t be stressful. And now it doesn’t have to be. With No Peeking, you choose which photos to show, and the app makes sure that no one can swipe around to sneak a peek at anything else. While the app is quite minimalistic and simple, a lot of time went into creating a good user experience, with the Media Browser (supporting all standard formats) being written from scratch, and with features such as pan to dismiss photo, and pan to select multiple photos.
"Who's most likely", or "Pekleken" in Swedish, is a classic party game. The app was created in 2015, when using party apps were quite popular and often searched for on the App Store. As the app rose to become one of the most popular apps of its kind on the Swedish App Store, I eventually decided to port it to Android.
With SMS Park, you’re able to quickly pay for your parking - anywhere in Sweden. I had the pleasure to be involved in this project a few years ago, when they were just getting started. Working together with a team very of tech savvy and passionate people, I was given a lot of freedom to further develop and (to some extent) design their iOS app.
P1 is a photo sharing app for urban trendsetters sharing their love for style, fashion, and unique lifestyles. I was part of a small (two person) team which built the app from scratch, where most of my responsibilities revolved around the user interface. Various pictures feeds, grids, and animations were built by me. Being my first larger app, it taught me a lot about building a maintainable and scalable application.
The fastest and most convenient way to convert between crypto and fiat currencies, designed and developed by me. The app contains over 1500 cryptocurrencies and over 30 fiat currencies. The main difference to other similar apps, besides from the UI, is that Cryptoverter supports conversion between crypto and crypto, crypto and fiat, and of course fiat and fiat.
Squares is a simple game which challenges your eyes and your reaction time. This was my first iOS game, initially built in late 2014. Most of it is written in Objective-C, but a few parts are written in Swift. The app is mostly popular in China, and has reached a high ranking on the Chinese App Store a few times.
A simple app made for finding restaurants that have baby changing tables in Stockholm. The app was created for a group of friends who saw the need for it, and had already gathered the data themselves. The app has been featured in a few magazines in Stockholm, and has since expanded to other Swedish cities.
The Pepper Club
My at the time employer was given the responsibility over a campaign led by Dr Pepper Sweden. A code was placed under the caps of Dr Pepper bottles, for people to enter in their app to accumulate points. Points could either be exchanged for merchandise, or be saved for the chance of winning a grand prize. As a Dr Pepper lover myself, it was a great honor building their iOS app.
ProxySwitcher is a tool for jailbroken devices that lets you easily toggle a WiFi-proxy on and off. Tired of having to manually enter proxy credentials for every new WiFi-network, I built this to make my day to day mobile usage easier. Building this gave me some insight to how a few private API:s work, as well as how to build and communicate with a daemon in the iOS system. ProxySwitcher has been written about in two different articles, from the Jailbreak news reporting sites Redmondpie and iDownloadBlog.
WeChatEnvelope is a simple, UI based tweak to open red envelopes inside of WeChat. Made for fun and for research purposes, it also serves as a proof-of-concept how simple it is to create touch based tweaks to manipulate apps or games to one’s advantage. While my tweak directly calls code within the app, this could easily be replaced by simulation of touches to further prevent detection.
Facebook Image Picker
A simple and lightweight Swift library for choosing an image from Facebook. With minimal and straightforward code, it can either be used out-of-the-box, or serve as a great stepping stone to build something with more functionality.
A sample Swift project on how to handle internal localization switching. Contains a helper class I built to easily add and switch between languages, as well as accessing localized content within the app.
A Swift script to check for unused, missing, mismatched, or duplicate NSLocalizedString keys in an Xcode project.
More open source projects can be found on my Github