I've always had a passion for design and creativity, and apps and websites are what have allowed me to express that creativity in so many ways.
I've been making websites for long long time now. First using Weebly, then Wix, and now RapidWeaver and WordPress, I know the ins and outs of website making, I'd say, pretty well. Adding rounded corners and applying equal padding are very satisfying to me, and web design incorporates just that.
Apps have become a new thing for me starting in 11th grade. I had always wanted to learn to make an app, but I just didn't know coding and didn't really know where to start. But as SwiftUI came around, I knew it would be a great time for me to learn. Spending hours following HackingWithSwift and CodeWithChris tutorials, I was able to create my first real, full-functioning SwiftUI app — Wash Your Hands Streaks. Then, onto my first cloud-based one for my school: SHS.
Honestly, I'm not sure I will make a career out of app or website making, but it's definitely a cool hobby of mine that I am looking forward to continuing throughout my life.
Below are many of the apps/websites that I've made:
Since entering high school, I had always wanted to re-make my school's app. It honestly wasn't very useful at all and I wanted to make it much better.
So after teaching myself how to make an app for Wash Your Hands Streaks (scroll down), I decided to bring my skills to a much more complicated app.
I wanted to make this app cloud-based, so it could provide information to students in real-time. To do that, I used Apple's CloudKit, which is very fast and easy to use.
I spent about two weeks straight, 10 hours per day making this app, and it was incredibly fun to do. Like, really, really, REALLY fun. I loved working through all of the issues I had along the way, and I had learned to make my code shorter and more re-usable (compared to Wash Streaks).
The app can provide users with the following:
1. LIVE updates to the school calendar, morning announcements, upcoming events, and important info.
2. Notifications on what type of school day it is
3. Easy way to view and contact all faculty and staff
4. Important schedules and websites
5. …and much more!
Designated users can also update information within the app, and publish it to every single student's iPad. That's pretty cool if you ask me.
Currently, I am trying very hard to actually get this published. The building principal and owner of the old app has approved my new app. I am trying to get in touch with the administrator who runs the Great Neck Public School's App Store Connect account in order to upload the app to the App Store.
In the meantime, you can see screenshots of the new app here on this webpage.
I am very proud to be part of SavetheFrontline, an organization made up of Cornell undergraduates/alumni that donates face masks to underserved residents in communities around Long Island and New York City.
I spent a week or so working to redesign the entire site from top to bottom. I taught myself WordPress and built up the site, one page at a time. It was quite fun, especially since this was my first web project for something very important. The GoFundMe campaign ended up being a success, and many people commented that the website looked nice, which made me really happy.
Since that time in May, I have been constantly updating the pages of the site and adding some other ones along the way as well. In order to speed up the process of updating the donation numbers on the front page, I created a PHP script that parsed a Google Sheets file and put that data into the site. That way, all that I needed to update was the Google Sheets file.
I look forward to updating the website for the foreseeable future, and you can check it out here: https://www.savethefrontline.org/
I had always wanted to learn how to make an app. No, not like half-make an app. Like, really make an app. And what better time would it have been for me to teach myself than when I was locked inside my house with, quite frankly, not much else to do (school had just closed down due to COVID-19).
I needed to start small. So. everyday from March 15th, 2020, I worked on Swift and SwiftUI courses from an amazing site called HackingWithSwift. If I had done the 100 days of lessons, I would have had the knowledge to build an extraordinary first app. But I wanted to do something now, I didn't want to have to wait till June.
Then It just hit me — why not, for a small app, create one to remind users to wash their hands during COVID-19? After all, at the time, people thought it only spread by not washing hands, so I thought it would be a genius app!
So I looked through the App Store for any apps like that…and nothing. Great! (While developing the app a few others came out, though).
I started conceptualizing the idea in my head and decided to make it into a streak system — the more people washed their hands, the more they were rewarded. I had known just enough SwiftUI at that point that I was confident I could make the app, and so I set to work.
I soon found that it wasn't easy. Designing the UI was pretty simple, but actually getting everything to work properly was very hard. I had to work with dates a lot, and account for every possible thing the user would do — whether it was open the app during their streak, close it while they were getting one, wait a few days after washing hands, not have internet connection to download the current total streaks, and so on. My code resulted in a ton of if statements and copied and pasted code (I was not aware of the idea of writing once and using everywhere yet!).
But in the end, after a week or so of 10-hour days working on it, it was complete. I went to submit it to the App Store, crossed my fingers, aaanndddd…rejected!
I really had no idea why it would get rejected. Was it not "unique" enough? Did it not work on their device? Did they not like the idea??? But when I opened the Resolution Center, I was really quite surprised at what the issue was. Apparently they did not allow any references to "COVID-19" in the app since they only wanted COVID-19-related apps to be published by official organizations, not some high schooler on Long Island. So all I had to do was delete any references to "COVID-19" in the app by marketing it slightly differently, and…accepted!
The app has about 120 hundred downloads as of August 20, 2020. Not very many, but enough that I am satisfied. It was a very fun app to build, and I am looking forward to building many more later in life.
It's way too hard to explain here, but basically my robotics team (and all of FRC for that matter) does something called Scouting, which is essentially keeping track of other teams at competitions so that if we had to pick them for our alliance, we would know their stats/strategies/weaknesses etc.
Most teams just use pen and paper. But we wanted to get creative and make a mobile app to do the trick.
So I set to work on a UI, and this is what I came up with. It's a much more visual version of anything that's already out there.
Currently, right now (8/20), Kevin Wang and the App Team are doing a phenomenal job actually coding the app, and we expect it to be released for this coming season.
What's more fun than an iOS Sticker Pack???
Well, probably lots of things. But at the time (and still now), I thought that creating one of those little iOS Sticker Pack things that you use every once in a while would be pretty cool.
So I set out to do it for my robotics team. It was actually super easy to do — it was literally just drag-and-drop the images to a folder and Xcode did the rest.
But with all easy things, there were sneaky things too. After importing all of the images, I soon realized that they needed to be transparent so that when a user places it on a text bubble it doesn't look ugly. So into Photoshop I went.
Then, just as I thought I was done, I realized that the larger you made the image, the smaller it appeared when dragged onto a text bubble by the user (weird, huh?). So into Preview to resize all the images I went.
Finally, it was done! I archived the file, uploaded it to App Store connect, waited a few days, aaaaanddd…rejected.
They said that the logo I used for the app was too similar to my other app I had already published, which was a scouting app for iOS. So into Photoshop again I went, this time to produce a cool sticker-like effect which ultimately allowed the app to get approved!
This wasn't too much of an exciting project, but people on the team definitely do like it and definitely do use it. I still update it time to time with new stickers as well.
After getting my Synology server (see here), I had come up with the idea of redesigning the website for my robotics team. Not necessarily redesigning it as in changing how it looked, but more changing how it functioned and moving it from Wix to a Mac exclusive called RapidWeaver.
I spent about 10 hours each day during the entire April break of my freshman year in high school doing this, building each page from scratch on RapidWeaver. The intention was to make the site more consistent and responsive, so it would look good on not just a desktop computer but also a phone.
Now that I set up my server, I figured that I would figure out how to host the site on the server — so I did just that. After another week of configuring that by playing around with DNS and SSL and a bunch of other annoying things, I finally got it working. I would say the hardest part was dealing with the DNS and the way it caches on your computer. There were many changes that I made, and I soon found myself using 5 different web browsers to make sure things with the DNS worked. The SSL was also tricky, as my Synology server did not want to use any SSL certificate I gave it at first.
Now gnsrobotics.com was hosted on my server! Not only did I find that to be super cool at the time but also realized that it saved our team about $70/mo on website costs. But self-hosting a website (properly) is much harder than you think.
To this day, I still manage the website and host it on my Synology. While it is quite time consuming at times, I really do enjoy managing the site. In the last picture here, you can see how I edit the site.
The one thing about this that is not ideal is that the website only works when my power is on — which is a huge majority of the time, but nevertheless it will go out every once in a while and make the website inaccessible. Yet, I think the virtually unlimited storage I get (and also the ability to just drag and drop a file via Finder to have it accessible with a web link) greatly outweighs that drawback.
When I first got the site up and running, it was only running on a 75mbps upload/download speed. It was fine for the site itself, but made downloading videos hosted on it quite slow. So a couple months later, we upgraded our Internet speed to Verizon's 1gbps upload/download speed (for actually $200 cheaper/mo compared to the old speed (don't even get me started about why. I may do a blog post about that in the future)) and that improved things dramatically.
Overall, the whole website redesign experience was an exhausting one but a fun one nonetheless. I've taught a couple other people how to manage the website when I'm done with high school, and I can't wait to see how they take the site to the next level.
Here is our old site: https://gnsrobotics.wixsite.com/2638
And here is the new, current site: https://www.gnsrobotics.com