App development projects by Benny Chew.
My app development background. I'm very passionate about development and always open to learn new things or improve my skills (I'm serious about my dev career). My goal is to become an indie developer and also work on cool freelance projects.
- iOS development (Swift)
- Front-end development, in particular responsive websites
- React, in particular Gatsby, including: ES5/ES6, arrow functions, class components, functional components, routing, hooks, useState, useEffect, Redux, Context, Styled Components/Emotion, CSS modules, TypeScript, create-react-app, etc
- Sanity CMS and Contentful
- HTML/CSS: SASS (SCSS), Flex box, Grid, Tailwind
- Git (basics)
- Tools: Xcode, VSCode, iTerm, Postman, Insomnia, GitHub Desktop
- TypeScript
- Redux
- React Native
- Web animation (GSAP for example)
- Storybook
- Chrome Dev Tools
- Gatsby Cloud, Netlify, Heroku, Mongo Atlas
- Fundamental design patterns (MVC, MVVM, Reactive/Functional programming, Provider, SOLID, DRY, etc)
- Advanced React, for example: Higher Order Components, web components, portals
- Form accessibility (Aria)
- Unit testing (only basic experience with unit testing in Swift and basic Jest)
- Working in development teams (Scrum), I have worked with development teams before but not really in the Scrum/GitHub way (pull requests etc)
- DevOps
- Advanced Git commands
- Performance profiling (Chrome Dev Tools)
- Advanced design patterns
- Node/Mongo basics, building a simple Rest API with Express JS
- Angular basics
- Firebase basics
- AWS basics
- Flutter, I was very interested in Flutter so I spent a few weeks to a month learning Flutter, but in the end I prefer native iOS dev
- Xamarin, A mobile app UI/UX client asked to me help build the app front-end in Xamarin, so I had to learn the basics (this part of the project got cancelled eventually)
Flash development (ActionScript 3.0), Bootstrap/Foundation, Gulp/Grunt, PHP and MySQL, 3D Modeling (Maya)
- Email: benny@chipchip.nl
- LinkedIn: https://www.linkedin.com/in/benzai/
- Location: Rotterdam, The Netherlands
Internal project: Company website of ChipChip.
- React/Gatsby (TypeScript)
- Tailwind CSS and Emotion
- Sanity
- Gatsby Cloud
- UI/UX design and front-end development by Benny Chew
- Icon design and illustrations by Jenneke Choe
This is my 4th or 5th real project with Gatsby. Before this I have built a few internal websites with Gatsby (1.0), and client projects like AddOnn and SmartQA. Because I have used Gatsby a lot in previous projects I have learned a lot about Gatsby and refined my technique. However there are still a lot of things I have to learn (about front-end in general). Since I'm maintaining the website myself, I have used Sanity CMS only for parts of the website (projects).
Personal learning project: Cryptocurrency mobile app.
- React Native (Expo)
- TypeScript
This is my first attempt at properly learning React Native and building a RN mobile app. Before this I have dabbled with RN but nothing serious. Context: This is roughly based on a UI/UX design I have created + I have attempted to build this crypto app before in Swift. The focus of the project was to learn React Native and figure out how to type everything with TypeScript. Design was the lowest priority and I didn't bother to make the UI consistent with the original UI/UX designs.
Client project (freelance): Company website for Netherlands startup. For privacy reasons the code cannot be shared.
- Responsive design
- Multi language
- Headless CMS Sanity integrated
- React/Gatsby
- Tailwind CSS and Emotion
- Sanity
- UI/UX design and front-end development by Benny Chew
- Icon design and illustrations by Jenneke Choe
Client project (freelance): iOS app, iPhone and iPad. For privacy reasons the code cannot be shared.
https://apps.apple.com/us/app/hihaho-player/id1031834953 (free)
- Swift
- MVVM
- Hybrid UIKit + SwiftUI
- CoreData (recent videos)
- WebView (for playing the videos)
- ClassKit
- QR code scanning
- Open video in app
- Dark mode
- iPad support
This is a production iOS app for a client in The Netherlands. UI/UX design by Benny Chew (implemented directly in code without Sketch or Figma mockups).
Internal project (indie): Prototype cryptocurrency iOS app.
- Swift
- MVVM
- SwiftUI
- CoreData
- UserDefaults
- R.swift
This is an internal project for an indie prototype cryptocurrency iOS app. This is my 3rd attempt of building this app in 3 years time. The focus was to learn the required (new) technologies of this app (saving coins in multiple lists on a user device).
Demo project.
- Swift
- MVVM
- Decodable for JSONDecoding
- Combine publishers for networking (service)
- UIKit UICollectionView diffable data source and compositional layout for the list pages
- Video player with AVKit. Custom video view with AVFoundation
- Theme class with a basic design system (colors, font sizes) that works in UIKit and SwiftUI
- R.swift for generating a type safe 'look up' class for the assets (fonts, images)
- Experiment with a SwiftUI implementation of a page view within the UIKit world (base app uses UINavigationController)Using SwiftUI for some views can save a lot of development time, for situations where the 'old' UIKit features are not needed. Drawback of using SwiftUI is the minimum deployment target has to be iOS 13 or 14
- SnapKit for auto layout
- Kingfisher for image networking (loading images into UIImageView)
- PanModal (by Slack) for swipable modals. Can be configured to start at half height
This is a demo project I have put together to showcase my iOS development code for a potential freelance project. The context is a mobile app that plays videos (web view).