Tutle
A research-validated student-tutor marketplace including a mobile app, landing page, and admin portal built by a team of 7 at MacEwan University.
Overview
What is it and why it exists
Tutle is a student-tutor marketplace built for MacEwan University students. It connects students who need help with courses to qualified tutors, handling discovery, scheduling, messaging, and payment in a single app.
It evolved directly from MentorMatch, a previous semester project that the team took further than the brief required. Tutle started differently: with surveys, research, and user validation before a single line of code was written.
Platform
iOS & Android mobile app, marketing landing page, web-based admin portal
Status
In active development. tutle.ca currently offline for updates — video demo below. App in TestFlight.
My Role
Full-Stack Developer · Web, Mobile & Infrastructure
Tech Stack
Built with
Mobile
- React Native
- Expo
- TypeScript
- Expo Router
Backend & APIs
- Supabase
- Stripe
- Sendbird
- Sign in with Apple
Web
- Next.js
- React
- TypeScript
- Tailwind CSS
Tools
- Xcode/Android Studio
- Aikido Security
- Confluence
- Git / GitHub
- GitHub Actions (CI/CD)
- Figma
Research
Before we built anything
Before writing any code, the team surveyed both students and tutors to validate the core assumptions behind the product: whether a mobile app was the right format, what features actually mattered, and where existing solutions were falling short.
separate surveys
one for students, one for tutors
mobile app format validated over web-only alternatives
in-app messaging and scheduling confirmed as must-haves
competitor analysis identified gaps in existing tutoring platforms
From a tutor survey respondent
"An app that connects people is enough."
My Contributions
What I built across the project
I joined the mobile codebase midway through development and worked across all three product surfaces: picking up infrastructure gaps, unblocking teammates, and shipping multiple features.
iOS Provisioning & Sign in with Apple
Navigated Apple's provisioning system to get the app building on physical iOS devices: certificates, entitlements, and bundle identifiers. Enabled Sign in with Apple support through configuring the App ID capability, adding the Xcode entitlement, and wiring the identity token exchange with Supabase auth.
Apple & Google Calendar Webcal Integration
Built a full iCal/webcal feed system backed by a Supabase Edge Function that generates a personalized calendar feed from a user's appointments. Created the UI layer with the subscription settings, platform-specific instructions, and a quick-subscribe button. iOS opens Apple Calendar directly; Android walks through Google Calendar's web interface.
Admin Chat Support (Sendbird)
Added a floating action button to the chat screen that lets any user open a dedicated support channel with an admin via Sendbird. Built the backend logic to either create a new admin support channel or retrieve an existing one, plus an admin queue utility to handle routing when multiple admins are available. Admin user IDs were wired into both dev and prod configurations.
Admin Portal Redesign
Inherited a broken admin portal prototype with hardcoded data and non-functional auth. Rebuilt it into a working product in a week: wired live Supabase data throughout, built API routes, implemented sortable and filterable tables, overhauled the UI to align with the mobile app's design system, and restructured the information architecture. Added a reviews page and reports page with live data in a later sprint, plus performance and caching improvements.
Landing Page: tutle.ca
Built the public-facing marketing site for Tutle solo in plain HTML, CSS, and JavaScript. Implemented a full CSS custom property design token system, CSS-only animations (layered cloud drift, floating elements, pure CSS wood grain texture), and an accessible video modal with ARIA state toggling, focus return, and Escape key handling. Device-aware download routing, QR code generation, and app store CTAs are fully implemented in the codebase but toggled off pending the app's release.
Infrastructure & Git
Handled multiple git crises via reflog recovery, resolved CI/CD pipeline breakages, and set up Aikido Security for supply chain protection. Also debugged Android emulator issues for teammates who couldn't run on macOS/iOS hardware, which unblocked the entire team's ability to test cross-platform.
Documentation
Wrote the complete developer documentation in Confluence for the admin portal and landing page: setup, architecture, design systems, and deployment. Structured so a new contributor can clone the repo, understand the codebase and git patterns, and start shipping features quickly.
Explore the Product
The three parts of Tutle
Mobile App
React Native + Expo, iOS & Android. Sendbird messaging, Sign in with Apple, and Apple/Google Calendar subscriptions.
View details →Landing Page
tutle.ca — built solo in HTML/CSS/JS. Design, copy, and full frontend implementation from scratch.
View details →Admin Portal
Internal web dashboard for mobile app management: user and booking management, payments, reviews, reports, and content moderation.
View details →Outcomes & Learnings
What came out of it
Seeing the Whole Stack
Working across the entire development stack using real industry tools and best practices gave me a broader sense of what goes into building an actual application. CI/CD, backend work, testing on emulators and physical devices, and UI development all feed into each other; knowing real people would rely on this changed how I approached security, accessibility, and reliability in a way a class assignment doesn't require.
React Under Pressure
Gained significant React and Next.js experience by working in a production codebase under a real deadline. The context-switching between data architecture, API design, UI work, and bug fixes in a single sprint forced a much faster understanding than a guided course would.
Accessibility Without a Framework
Built accessibility into the landing page from scratch in plain HTML, CSS, and JavaScript: ARIA states, keyboard navigation, and focus management throughout. Building accessibility in from the start rather than retrofitting it is how I prefer to work, and this project was a chance to do exactly that.
Learning on the Job
Over the course of a single semester, I learnt React Native + Expo, React + Next.js + Tailwind CSS, and HTML/CSS/JS well enough to help ship three separate projects within the same product ecosystem. I can pick up a new framework and ship something real with it faster than I expected.