Coteach.ai — from research project to EdTech startup

Tristrum Tuttle
7 min readOct 15, 2024

--

After meeting through the YC Co-founder match, Rizwaan (Riz) and I spent most of the last year collaborating and building prototypes of EdTech tools to help teachers find and create warm up assignments, practice problems and other lesson plan “scaffolds” using generative AI. During the school year we were able to leverage Riz’s Human-Centered AI grant to get teacher feedback and fund research, but this summer we had the opportunity to take our project to the next level. We had made it to the final round of the Future Tools competition, a multi-million dollar funding opportunity for EdTech innovation, and had enough momentum to finally leave the MVP phase and build Coteach.ai into a viable startup.

After sitting down and discussing plans for the summer, it was clear that we couldn’t scale every aspect of the project at the same time and hope to be successful. Instead, we needed to take calculated bets on the most important aspects of scale, and be brutally efficient with our scope. We accomplished a lot this summer, and I wanted to break down our journey building Coteach.ai from where we started to where we are now.

Project Management and Team

Where we started: Outside of myself and Riz, our team for the summer also included Dorna (a fellow GSE graduate at Stanford with Riz) and Rebecca (an incoming Stanford GSE student). Our team got together and broke down the project into core areas that each of the founding members would be responsible for — User Testing & Design, Product Building, Data Collection, Experiments and Partnerships. With our larger team size, we quickly divided the summer into sprints, organized into a lovely Notion board (thanks Rebecca!) with labels, statuses and more.

Where we are now: As the project began accelerating, we decided to bring on an additional engineer to support our product development efforts using our funding from the Future Tools competition. After Riz and I met with a few interested engineers, we brought on my good friend and former coworker Nicholas. Outside of picking up shovel-ready tickets, Nicholas helped standardize our local environment setup using docker and greatly improved our page performance with a MongoDB-based cache system for quickly loading scaffolds on common queries.

Feature Roadmap

Where we started: We started with a base application that centered around two main features — searching for existing scaffolds, and using AI to generate new scaffolds. These scaffolds could be searched by lesson objective, or by providing a link to an Illustrated Mathematics lesson. The base application was created by Riz and his classmates Ronak and Ritika as part of a Stanford class project.

Where we are now: The key features we wanted to prioritize initially were a Google slides export feature, the ability to preview lessons before exporting, and improved math symbol formatting. Unfortunately, the Google slides feature quickly became blocked by the Google application review process. Luckily, the lesson previews and math rendering, as well as an entire page redesign based on Figma blueprints from Rebecca, were completed ahead of launch. After launch, we devised a new strategy to export to Google slides using a service account, which worked perfectly for our requirements. We also made tweaks to our AI prompting library, improving the quality and consistency of our generated scaffolds, and added an in-platform scaffold modification feature.

Infrastructure and Web Stack

Where we started: Coteach.ai is built on Next.js, a React-based web application stack. Originally Coteach.ai was hosted on Vercel, but it had been migrated to a micro EC2 server on AWS by one of Riz’s classmates, Ronak, before the end of the semester. The application itself used Supabase for storing human-generated scaffolds and Redis for storing the status of individual AI scaffold generation attempts.

Where we are now: Before working on any new infrastructure, I took some time to standardize our AWS organization, creating individual IAM users to own our production resources. My initial goal for Coteach.ai was to migrate to AWS Amplify in order to simplify the CI and deployment pipeline. Both myself and Ronak ran into performance issues using Amplify, so I pivoted to making the EC2 maintenance as straightforward as possible. The final result was a set of repeatable steps for spinning up new web servers from scratch, from setting up the correct security groups to generating a new SSL certificate. One decision that helped immensely was deploying a second EC2 server to use as an “experiment” application where we could thoroughly QA big changes in a production-like environment before deploying to the main website. I set up Google Analytics for usage tracking and AWS CloudWatch alerts in case the site crashed. Later, we added Mongo DB Atlas and Google Cloud as dependencies for caching AI generated scaffolds and exporting scaffolds to Google Slides.

Performance Optimization

Where we started: Initially, the process for searching for and generating scaffolds happened in a synchronous workflow that required long loading periods before displaying any scaffolds based on the search parameters. This process could take several seconds to display results to end users.

Where we are now: The first improvement I made was to display any scaffolds as soon as they were returned by our internal APIs, migrating from a synchronous multi-step workflow to an asynchronous workflow that updated the UI as soon as individual scaffolds are ready to serve. This generally means that non-AI scaffolds, pulled from our Supabase tables, get displayed immediately after a search is performed, while each of the AI-generated scaffolds get rendered as soon as they finish generating independent from one another. The second improvement, developed by Nicholas, was to cache AI-generated scaffolds in a Mongo DB table and then return the cached scaffolds for any repeat search parameters. With these improvements, searching for scaffolds (the main feature of the application) became a lightning fast operation.

Where to next?

For our summer launch, we successfully met our critical product goals, received direct feedback through multiple teacher demos, and recorded application usage from educators around the globe. One of the best parts of working on this project has been getting to see the reactions of teachers and curriculum development professionals. In our demos, led by Dorna and Rebecca, teachers gave feedback on everything from the user interface to the quality of the AI lesson scaffolds. My favorite piece of feedback was on the high frequency of lesson scaffolds referencing “pounds” instead of “dollars” — we had sourced some scaffolds from a UK-based curriculum provider and hadn’t realized the challenges those lessons may pose to middle school students here in the USA.

While I am certainly proud of our accomplishments this summer, I am equally excited for the future of Coteach.ai. Getting our Google application approved will allow us to support user-specific features like favoriting scaffolds and custom profiles. We also have more work to do to improve the overall quality of the AI outputs, and the suite of features for exporting and modifying scaffolds in the application itself.

Scaling Coteach.ai up to thousands of users will likely require a similar scaling up of our infrastructure. We will need to simplify our build and deployment pipeline using Kubernetes (or a similar orchestration service) to manage and scale server instances dynamically based on demand, and AWS CodePipeline or some other CI/CD tool to simplify releases. I would also give Serverless another try with Amplify Gen 2, in the hopes that some of the challenges we were seeing with performance, secret management, and user authentication become simpler. As we begin considering even more complex approaches to AI scaffold generation, like using AI Agents, we will also need to contend with slower generation of individual scaffolds and work to optimize the number of LLM requests needed per query.

Check out Coteach.ai today!

Big thank you to Rizwaan, Dorna, Rebecca and Nicholas for all the hard work building up Coteach.ai this summer, and to Ronak, Ritika and Professor Demszky for contributing to the development of Coteach.ai. Additionally, a huge huge thank you to all the teachers and educators that have met with our team and provided incredibly helpful feedback on our product features!

--

--