As part of Penn Labs, I’ve been working on our official iOS app. In addition to co-leading the team, I was responsible for several of its latest features, including:
Dining analytics and course schedule widgets
Live Activities for laundry information
User engagement banners for April Fools 😉
A mobile ticket scanner, in collaboration with the Penn Clubs team
CIS 1951 is the student-run iOS app development course at the University of Pennsylvania, taught by me and the rest of the CIS 1951 team. We teach the Swift programming language, before diving into the latest app development frameworks like SwiftUI, as well as technologies like Location Services, motion sensing, and even RealityKit.
A major goal we had when designing the course was to make it fun and educational at the same time. We did this by heavily incorporating challenging yet engaging projects, from a simple adventure game all the way to an open-ended final presentation. We also designed code-along exercises for each of our technical lectures, which you can find on our course GitHub.
If you’re a student at Penn, we’ll be running the course this fall semester. Otherwise, feel free to check out our lecture materials on our course website (which I designed!)
Inspired by the web version, UNIX Timestamper is a simple Vision Pro app that lets you convert back and forth between UNIX timestamps and dates. It’s useful if you’re working with databases, calculating between times, or making any sort of software that deals with dates while in spatial computing.
As a challenge, I did all my testing for this in the visionOS Simulator so I could release it on day one. Running it on-device for the first time from the App Store was quite the experience!
Currently, UNIX Timestamper is only available for visionOS, although support for other Apple platforms is coming soon. If you own a Vision Pro, you can download it on the App Store.
Acrylic is a File Provider extension for the Canvas LMS (which UPenn uses). A spiritual successor to my BetterSchoology app, it lets you access course materials just as easily as any other file on your computer, similar to how iCloud Drive works:
It is still under development, but you can clone and run the source code on GitHub. If your school uses Canvas, go ahead and try it!
Originally designed to reduce food waste, Feta allows anyone with free food (like at a club or an event) to post a photo and a brief description. Then, anyone looking for free food can browse the map at their location and pinpoint the food closest to them.
Feta offers a plethora of other features too, like automatic AI labelling of food, web notifications, and crowdsourced ratings, but that’s for you to discover.
We used Convex for our backend because it offered an effortless real-time database with our Next.js frontend (but also because it was a major sponsor of PennApps and gave us quite the T-shirts!) We ended up winning their award for best use of Convex:
Let’s face it: managing research fairs, hackathons, or anything where you need some sort of peer feedback is hard. That’s where Expodite comes in.
Expodite is a platform that takes care of everything, like:
Onboarding judges and participants
Collecting project information
Scheduling judges and projects (even automatically!)
Collecting judge feedback
In other words, all of the hard parts.
Did we mention it’s customizable, with features like role-based access control?
Originally a CS capstone project for the BCA research department and inspired by csfvs, Expodite is still being actively developed by a team of three: Alexandra Volkova, Edward Feng, and yours truly. Check back soon for more news!
Additional thanks to: Mrs. Stott – advisor Mr. Isecke, Mr. Wang, Mr. Respass – cs teachers Galadriel Cho ‘23 – logo design George (Cam) Welch Morgan ‘25 – video narrator Erez Israeli Miller ‘22 – video footage Michael Kasprzak ‘22 – video footage Everyone else whom we may not have mentioned
Designed for frequent bikers, Baikely is a safety system that increases your awareness. It uses computer vision and a suite of ultrasonics to alert you to oncoming vehicles and obstacles, both visually and audibly.
Originally designed for BCA’s annual end-of-year CS project fair, csfvs is a new way to give and receive feedback. It features powerful customization and export, it has a thoughtfully designed UI, and it’s more fun than a Google Form. csfvs later inspired Expodite, which was developed as a full ATCS capstone project.
It was developed by Edward Feng and me. Skyler Calaman contributed her p5.js tessellation backdrop, which became a distinctive design feature of csfvs. Our technical stack, based on Express, Postgres, Handlebars, and Passport.js, was designed to be maintainable by future BCA students.