Skip to content

benzai/BennyChewDev

Repository files navigation

Benny Chew App Dev Projects

App development projects by Benny Chew.

My coding background

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.

Experience with (3 to 5 years)

  • 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

Basic experience

  • 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)

Limited experience (but understanding the core concepts)

  • 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)

Zero to no experience (yet)

  • DevOps
  • Advanced Git commands
  • Performance profiling (Chrome Dev Tools)
  • Advanced design patterns

Also dabbled with (just for learning purposes)

  • 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)

Before I specialized in UX/UI (more than 10 years ago)

Flash development (ActionScript 3.0), Bootstrap/Foundation, Gulp/Grunt, PHP and MySQL, 3D Modeling (Maya)

Contact


chip2x-website-gatsby

Internal project: Company website of ChipChip.

Website URL

https://chipchip.design

Technologies

  • React/Gatsby (TypeScript)
  • Tailwind CSS and Emotion
  • Sanity
  • Gatsby Cloud

Credits

  • UI/UX design and front-end development by Benny Chew
  • Icon design and illustrations by Jenneke Choe

Notes

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).


CoinDuckExpoDemo

Personal learning project: Cryptocurrency mobile app.

Technologies

  • React Native (Expo)
  • TypeScript

Notes

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.


AddOnn website

Client project (freelance): Company website for Netherlands startup. For privacy reasons the code cannot be shared.

Website URL

https://add-onn.com

Features

  • Responsive design
  • Multi language
  • Headless CMS Sanity integrated

Technologies

  • React/Gatsby
  • Tailwind CSS and Emotion
  • Sanity

Credits

  • UI/UX design and front-end development by Benny Chew
  • Icon design and illustrations by Jenneke Choe

Hihaho

Client project (freelance): iOS app, iPhone and iPad. For privacy reasons the code cannot be shared.

App Store URL

https://apps.apple.com/us/app/hihaho-player/id1031834953 (free)

Technologies

  • 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

Notes

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).


CoinDuck

Internal project (indie): Prototype cryptocurrency iOS app.

Technologies

  • Swift
  • MVVM
  • SwiftUI
  • CoreData
  • UserDefaults
  • R.swift

Notes

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).


ChipVideoPlayer(Demo)

Demo project.

Technologies

  • 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

External packages

  • 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

Notes

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).

About

App development projects by Benny Chew.

Resources

Stars

Watchers

Forks