Joe Pham
iOS Developer
📍 Toronto, Canada 🇨🇦
✦
Hi there! I'm Joe, an iOS Developer living in Toronto, ON. I fell in love with programming at 11 with Turbo Pascal 7.0 and have a passion for creating software. I took a detour into hospitality but realized my true calling as a programmer. Now in my third year of college, I find joy in watching code turn into a tangible product and fixing bugs. 😊
I've been honing my skills and particularly love developing iOS apps in both the UIKit and SwiftUI frameworks. I appreciate Apple's attention to providing the best user experience through its Human Interface Guidelines. As a fun fact, some UI elements of this portfolio, such as the blurred nav bar, are inspired by Apple.com. 😉
On the side, I'm also the sole Vietnamese language translator contributing to localization projects of several App Store featured applications.
You can reach me at...
Notable Projects
Below are projects I really love and spent significant time building, and solving technical challenges. Please check out my GitHub account for a full list.
✦
![TaskGuru app](/assets/images/screenshots/taskguru/taskguru.png)
TaskGuru
Tracking your todos should be straightforward and customizable. TaskGuru encourages you to complete your pending tasks in a relaxed way 😎
✨ TaskGuru adheres to Apple Human Design Guidelines, and available in 7 languages! ✨
You should also spend time exploring the Settings tab - that's where I put a lot of love into building. The real gem could be an app icon and accent color that you enjoy 🥰
Built using SwiftUI with MVVM architecture, TaskGuru utilizes Core Data for persistence. The codebase is idiomatic and reusable, and challenges faced and overcome include app architecture and code structure, separation of concerns, user experience, and, of course, the customizable settings.
* Codebase available upon request
✦
![FlavorTrack app](/assets/images/screenshots/flavortrack/flavortrack.png)
FlavorTrack
Built as an iOS take home project mock. FlavorTrack helps users find F&B outlets within a 2.5 km radius or 30-minute walk from their location. The app provides detailed information, allows marking of favorites, and sorts results by distance using data from Yelp.
Several concepts were deployed including: UIKit, MVC, programmatic AutoLayout, custom views, localization, accessibility, delegation, generic networking, MapKit, and image caching.
I wrote the code to be as reusable and idiomatic as possible. Challenges faced and overcome include MapKit compatibility, delegation considerations, and user experience intuition. Kindly refer to the source code for a detailed README.
✦
![Quizzical app](/assets/images/screenshots/quizzical-reactjs/quizzical-reactjs.jpg)
Quizzical
A React.js mini geography quiz game that draws input from the Open Trivia DB API!
⭐️ Works best on a desktop browser ⭐️
Built using ReactJS framework, featuring various concepts including: JSON fetching and parsing, declarative components, props, single source of truth, conditional rendering, etc.
✦
![WikiCountry app](/assets/images/screenshots/wikicountry/wikicountry.jpg)
WikiCountry
Go geograpeeps! WikiCountry 🌍 is your geographic Swiss knife to learn quick facts about countries around the world, including each of their capital city, flag, languages, and more.
I was playing the Smart Ass card game with my friends and realized that while I could answer all the geography questions, my friends struggled with even basic facts. This led me to create WikiCountry, a quick reference tool for basic country knowledge. My friends appreciated the tool a lot and after I published it on the App Store, it gained downloads from even remote places.
Built from scratch using Apple's UIKit framework, featuring MVC, modal views, dynamic image ratio, modularization, JSON parsing, and more.
✦
Contributions
I commit to giving back to the community that has boosted my knowledge.
By dedicating to translating the interface content of various apps, I help expand their market to much more users. These apps have been featured by Apple across its App Stores, including...
-
Alpenglow by Andrew Yates
-
Amphetamine by William Gustafson
-
Broadcasts by Steven Troughton-Smith
-
Cibo by Jordi Bruin
-
ColourSpot by Julien Widmer
-
Navi by Jordi Bruin
-
Ochi by Michael Tigas
-
Posture Pal by Jordi Bruin