Projects
Apps:
Frequent: I am subscribed to a lot of services online and sometimes it gets a bit difficult to keep track of them. There are times when I want to subscribe to a service only for a month but then forget to cancel it? Frequent is a simple subscription tracking app, which simply lets you add in your subscriptions and then track them. App lets you keep track of days remaining for next renewal, shows you the next payment date and also sends you a notification a day before the renewal day.
You can set different subscription cycle - weekly, monthly and yearly and then leave it to the app to calculate the next payment dates for you. The app is available on the App Store for free. It is built entirely using SwiftUI.
GoodNews: Created this News app during my spring break 2020. The app uses newsapi.org to fetch news articles / headlines. It provide users the ability to create their own newsfeed by choosing their preferred news sources. Moreover, the user can fetch articles related to a particular topic as well. The app uses the new Compositional Layout and DiffableDataSource to create a beautiful and immersive news feed. The app also uses image caching for smooth image loading. GoodNews uses GlideUI framework - a card UI framework I created last year. GoodNews has a robust backend architecture and the frontend & backend are decoupled. Since the app is open sourced, if anybody wants to add their own backend service they can do so with very little effort.
(Newsapi’s free package allows only 500 requests per day - and for this reason I am unable to release the app on the App Store. Until I find a better backend service, the app will live on Github only. )
Compatriot: Created this app while interning with iOS App Templates. A social network app - I implemented ephemeral stories (that disappear after 24 hrs) with composing and previewing UI, news feed, commenting, reactions (Angry, Like, Sad etc), notifications, profiles, security features such as Touch ID/ Face ID log in, and designed the backend architecture with complete integration with Firebase. If you want to know more about the features and are interested in purchasing this template - check it out here.
NexTasks: Launched this app in late August of 2018. A simple to do app with timed lists. The lists remain active from 5 minutes to 24 hours. When the time is over the list is no longer editable and you cannot check the tasks. Another feature that I added in v2.0 is the ability to have recurrent lists. So once a certain list time is over the list will disappear and then will reappear after the recurrent time is over.
Mini Projects:
I tend to do a lot of side projects in my free time using different Swift frameworks and APIs. Here are some of the projects I have worked on. All of these projects are available on GitHub:
News App for iPhone and Apple Watch - Github
An elegant news app that fetches articles from NEWSAPI.org, and allows you to save/favorite certain articles. You can access your favorited articles on your companion Watch app as well.
CubicBezierCurveSwift - Github - Article
This project was based more on theory and research. In this project I calculate control points for smooth cubic bezier curves that pass through prescribed points. I used basic calculus to derive the equations and used linear algebra (Thomas Algorithm) to solve system of equations and evaluate the control points. The entire algorithm was then applied using Swift.
GlideUI - An Interactive Card based UI - Github - Article(I) - Article(II)
In this project, I create a pretty popular design element used in many apps including Apple’s own apps. The card appears from bottom and can have two (closed or open) or three (closed, compressed or open) states. Fully customizable and extremely easy to set up.
PullToDimiss/Reach - Github - Article
In this project we are creating an animation / gesture where when you scroll down on a UIScrollView, you can dismiss the view or access/reach the navigation bar buttons
TinderSwipeInterface - Github - Article
In this project, I created Tinder Swipe-able cards interface using UIPanGestureRecognizer and just simple UIViews.
DragAndDropDownload - Github - Article
In this project I used Apple’s Drag and Drop API and created a custom NSItemProvider so that I can drag and drop custom model data.
TwitterCardInterface - Github - Article
In this project I will be making a Twitter Card Interface; something you get when you tap the three dots on top right side of user’s profile. The card is simply a custom UIView and I am using UIPanGestureRecognizer to swipe the card up or down.
RSCustomView - Github
A simple custom helper class to create UIViews with rounded corners and shadows. Creating such a view that has corner radius and shadow is far more challenging than one may think. This class helps you in making such views a lot quickly and easily.
SwiftyUIScrollView - Github
ScrollViews in SwiftUI don’t come with Pagination and Page Control. With this simple wrapper, you can get scroll view with pagination in both ( horizontal and vertical) directions and with page control as well.