Cirkle
Mobile and web app for course-based group communication at UofT, built with React Native, TypeScript, Node.js, and SQL.
What it does
Cirkle is a mobile and web application built for post-secondary students at the University of Toronto. It solves three problems that every student hits:
- Getting into course group chats: students struggle to get added to class chats, especially in large enrolment courses. Cirkle provided verified, pre-made chat groups for every course.
- Choosing courses: detailed peer course evaluations helped students make informed decisions at registration time.
- Finding mentorship: the app connected students with others who had already completed the courses they were considering.
Why I built it
After researching root causes of student dropout in higher education, my co-founders and I kept hearing the same thing: students felt disconnected and unsupported, especially in large first and second year courses. Existing tools (Facebook groups, iMessage, Discord) were fragmented and unofficial. Cirkle gave students one verified, structured place to connect around their coursework.
Technical challenges
- Built a full-stack mobile and web application with a 3-person team: React Native + Expo client, Node.js backend, and a web version — all in TypeScript
- Designed and implemented a SQL database schema for users, courses, and group chat data
- Containerized the backend with Docker for consistent deployment
- Connected the Expo mobile client to the Node.js server via a configurable base URL, supporting local development across different machines
- Conducted 200+ user studies applying HCI principles to iteratively refine the interface
- Published on the Google Play Store
Current status
Archived. Cirkle ran from January to October 2021 as part of the UofT Entrepreneurship Hatchery program. The repository has 126 commits across 3 contributors.