Penn Mobile

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

If you’re an incoming or current Penn student, download Penn Mobile from the App Store, and check out our other products!

A screenshot of Penn Mobile scanning a valid QR code ticket for a Late Night Swordfight.

kepler

Built by me, Joy Liu, and Ashley Zhang, Kepler is an app for iOS, iPadOS, and visionOS that takes learning and visualizing Git to a whole new level:

Making this was a whole lot of fun, and we go into plenty more detail on our Devpost. You can also check out our source code over on the GitHub!

CIS 1951

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

UNIX Timestamper for visionOS

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.

Tray

An in-development file management app for the Vision Pro.

A 3D tray.

Coming late 2024.

Acrylic

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:

A Finder screenshot showing files from Penn's infamous CIS 1210 course.

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!

Feta

Built at PennApps XXIII along with Gabby Banaag, Julian Weng, and Klára Churá, Feta answers the question, “Where can I find free food?” as quickly as possible.

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:

Find fresh, free food facilitated fully from Feta today, or look at the Devpost.

Expodite

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

Baikely

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.

Baikely was created by a team of five during M&TSI 2021: me, Saurav Gandhi, Sanjay Soni, Claire Zhao, and Cassandra Zhou. Integrating TensorFlow Lite and OpenCV into a Raspberry Pi-based IoT product, it won Best Technical Project at M&TSI.

Visit Baikely’s website here, see our Devpost listing, or check out our technology video:

csfvs

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.

Screenshot of csfvs's feedback submission interface.

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.