Nexa logo

Co-founder · July 2021 - September 2023

Inspiration and Vision

As a college student I found it unnecessarily difficult to connect with students in other majors, students in my graduating class, and people who shared my interests (in a setting outside of student organizations). Not finding a solution, I decided to try and solve the problem by creating Nexa.

The vision was an application where college students could connect with students of any major (e.g. a business major connecting with a computer science major to work on a startup), find others in their graduating class (e.g. to make a friend), identify motivated students in a lecture of 300 people to form a study group, talk to other students in their discussion section immediately after signing up the class, or meet students with the same major or graduating class from other universities.

Ideally, Nexa would become the go-to platform for both academic and professional networking on college campuses.

Student Interviews

To validate the idea and make sure other students felt the same way I was, my co-founder and I conducted brief interviews with students across University of Illinois Urbana-Champaign's (UIUC) campus.

We asked students from UIUC's different colleges (College of Liberal Arts and & Sciences, Gies College of Business, and Grainger College of Engineering) what problems they have with class group chats, how valuable they think class group chats are, and how excited they would be if a product like Nexa were to be released.

Among other things, we learned that class group chats were too big, connecting with students in one's major was more difficult than it should be, and that there was a general interest for a product that streamlined this entire process while simultaneously adding value.

Starting Development

Soon after the student interviews, I started developing the product. I knew that the platform's success hinged on attracting a large number of students, and in order to maximize this number, both iOS and Android apps would have to be built.

To save time and reduce the amount of code I would need to write, I decided to use React Native to build both apps. Using Expo and its ecosystem of tools and libraries really helped expedite the development process as well.

The initial version of the app was a messaging app that focused on connecting students within individual classes. Students would download the app, create an account with their university email address, join the classes they were currently taking, and would then be automatically placed in their classes' respective group chats.

Since I didn't have access to UIUC's API, I had to scrape the different classes we chose to initially offer using BeautifulSoup and Selenium. The classes were then taken and uploaded via Boto3, AWS' Python SDK, to the app's AWS backend; the backend utilized AWS Amplify, DynamoDB, Cognito, S3, and AppSync.

Soft Launch

By January 2022 the initial version of the app was complete, and we conducted a test run within a few departments at UIUC. Since I knew a few people within UIUC's biology and chemistry departments from my time as a student, we were able to get the app in front of around 100 students and obtain their feedback.

Similar to our initial student interviews, we learned that students found the app useful and interesting; however, students mentioned that the initial version of the app felt clunky and lacked functionality. They told us they wanted the other features that we stated were in the works: adding friends, direct messaging, group chats for organizations, and the ability to create their own group chats.

Finishing Development

After heeding the students' advice, I got back to working on the version of the application we would be releasing for our main launch.

I redesigned the messaging portion of the application to resemble the UI users are familiar with in modern messaging apps (iMessage, Messenger, Signal, etc.). I also added various functionalities that people have to come to expect from modern messaging apps. These included emoji reactions, emoji-only messages, media and link libraries for finding previously shared content, optimized fetching of old messages, the ability to copy and save message content, and changing a group's name and photo. All of these features were accompanied with rich animations, which I accomplished using React Native Reanimated.

I added a splash screen to the application that fetched all of a user's information in parallel, allowing users to interact with their content as soon as possible. I implemented this in conjunction with Redux and React Native Async Storage to minimize future data fetching and so users could access their previous messages while offline.

To increase the sociability of the app, I added the ability for users to search for other users by name, major, or graduation year. Users could view each other's profiles which contained information about their majors, minors, classes, and graduation year. Users could also add each other as friends, allowing them to then message one another.

Notifications proved to be tricky at first; however, with the use of Expo Notifications, I was eventually able to get them working. I then combined notifications with deep linking to direct users to the specific chat mentioned in their notifications.

Moreover, I created a new settings screen where students had several abilities: the ability to change their name, graduation year, major, minor, and classes; the ability to invite friends who would then receive a text from our Twilio account, informing them they had been invited to join Nexa; to report bugs they had found in the app; report missing classes; read Nexa's legal documents; and delete their accounts if they desired.

Main Launch

We scheduled the main launch of our app for August 2022, the beginning of the new school year. We thought long and hard on how to convince students to use our app over others used on college campuses like GroupMe, and decided to focus our efforts on freshmen. Our thought process was that new students wouldn't know of the apps being used by upperclassmen, and if we were able to get these new students to use our app first, they wouldn't switch to the other apps being used by upperclassmen.

We launched at three Illinois-based universities: UIUC, DePaul University, and Loyola University. We chose these universities because of our connections, our knowledge of these universities' campuses, and the start of their fall semesters were staggered by a few weeks.

When it came to marketing and getting students to download our app, we relied on flyers. We placed dozens of flyers all over each of the three campuses. We placed them in lecture halls, discussion rooms, dorms, and dining halls, checking daily to replace any that were taken down. What we found most effective was placing our flyers in dorms as freshmen moved in. Freshmen receive a lot of handouts when moving in. Ensuring they got ours as they started to settle into their routines was paramount to encouraging them to use our app.

In the first two weeks of the fall semester, around 500 students downloaded and signed up for our app, a number that went on to grow to about 700 a few weeks later. Our greatest single-day user sign-up count was around 70 students.

Sunsetting the App

About six weeks after launching, we started to notice some issues. Students believed in the product and were signing up for our app; however, they weren't using it as much as we had hoped. Our app's true value was realized when over 80% of a class used it. Although several classes met this criterion, only about a dozen messages were exchanged in each of these classes' respective group chats.

This issue persisted for a few more weeks with little change, and we decided it was time to start talking to students again. We discovered that there was still a sense of hesitation among students to use the app. Most students still didn't understand the full value proposition of our app and, as a result, didn't use the it after installation.

As usage continued to stagnate, my co-founder and I began to realize that our initial approach to founding the company was flawed. Instead of solving a problem that many or almost all students faced, we had created a product that was a quality of life improvement for a small subset of students.

With no clear path forward, we made the difficult decision to shut down the app. We kept the app running until the end of the fall semester, and as we spoke with more students, we learned that students thought a product like ours would be nice to have, but it wasn't solving any severely urgent and painful problems they were facing.

In the middle of December, I took the app down from the App Store and Google Play Store, and turned off our AWS servers, officially marking the end of Nexa's mobile app.

Pivoting

Since the mobile app was not gaining traction, we decided to pivot to a different model. We rebranded and started Nexa Networking, a platform where college students can connect with professionals early on in their careers and high school students can connect with college students. The platform's goal was to connect mentors and mentees, helping high school students and college students transition through their respective stages of life.

Inspiration and Vision

The initial inspiration behind the platform came from Warren Buffet's annual charity lunch. The idea was, if there's someone who finds value in paying $19 million to have lunch with Warren Buffet, then there are probably people who find value in meeting with other professionals at lower price points (e.g. meeting with a Fortune 500 Senior Vice President for a few hundred dollars an hour). Long term, my co-founders and I envisioned a platform with thousands of professionals where anyone could find someone to talk to about a topic of their interest.

MVP

At launch we knew we had to choose a niche, a small sector of all professionals where we could provide the most value, and we chose new hires transitioning from college to their first job. We felt a recent college graduate who had been in the workforce for a few years could provide a great deal of insight to a new graduate just starting their career. We sourced initial mentors from connections that my co-founders and I had within our personal networks. Our first customers were sourced from cold LinkedIn outreach, as well as outreach on several local college campuses: University of Illinois Urbana-Champaign, Loyola University Chicago, and DePaul University.

The goal was to get the product up and running as soon as possible, ideally in a matter of days or weeks as opposed to months. I designed a simple, three page website that allowed customers to filter through our list of professionals (we referred to them as mentors), choose a mentor, and then enter three preferred meeting times within that week. At this point, we received an email with the customer's information and would contact the mentor to find which of the three times provided by the customer worked best for them. Once the meeting was scheduled, we created a custom Stripe invoice, emailed it to the customer, and then sent both parties a link to their Google Meet meeting.

To accomplish this, I built a simple, static single page application. The web app was built using Next.js, Tailwind CSS, Vercel, and EmailJS. I chose Next.js for its rich feature set and ease of use: built in routing, optimized images and fonts, api routes, etc. Similarly, I used Tailwind CSS as a way to simplify and speed up my CSS efforts. To keep backend work to a minimum, I used EmailJS to receive an email whenever a customer booked a meeting with a mentor; and lastly, Vercel was used to host the website due to its seamless integration with Next.js.

Onboarding Mentors

After launching the MVP, we set our sights on expanding our product offerings. Customers visit Nexa to connect with and talk to mentors, and in order to best serve our customers, we needed mentors with experience in a wide variety of fields. To find these mentors, we reached out to hundreds of professionals on LinkedIn and inquired whether they would be interested in being paid to mentor college students who were transitioning into the workforce. After many video calls, during which we discussed with mentors the product and how they could get involved, we onboarded around one hundred mentors in our first wave of outreach.

To service this influx of additional mentors, the web app needed to be connected to a backend and give users the ability to create their own accounts and set up their own profiles. My backend of choice was AWS, specifically AWS' backend as a service product, Amplify. I used Amplify in conjunction with Cognito for user authentication, S3 for object storage, DynamoDB as my database, and AppSync to facilitate my GraphQL API. This architecture allowed me to take advantage of AWS' serverless capabilities, giving me more time to focus on implementing additional features and functionalities that were important to customers.

Onboarding mentors step 1

Improving the Product

Next on the list was improving the experience for mentees, and I began by redesigning the feed potential mentees looked through when searching for mentors. I added mentors' profile pictures to the mentorship cards to make them more personable and I added a hover animation that showed a brief meeting description, my co-founders and I discovered this increased engagement. Moreover, I added a quiz potential mentees could take to help them match with a mentor, which was accessible by clicking on a small banner in the top right corner of the feed.

I updated the /service-detail page, which showed further information on what a mentor would cover if you were to book their time. I added a section that showed other mentors who were interested in discussing similar topics, along with the creation of a profile page for mentors that showcased all of the topics a specific mentor was interested in discussing.

Additionally, I made modifications to the entire checkout and meeting reservation process. Before, customers would select a meeting topic, enter three preferred meeting times in the coming week, and then wait for a Nexa team member to contact them with further information. After this update, everything was controlled by the mentor and mentee. Mentees would select a meeting topic, choose from available meeting times set by the mentor (which were automatically filtered to remove times which were already reserved), and then checkout using our Stripe-powered checkout page.

The technologies used in this update were very similar to those used in the previous update. I used several AWS technologies including Cognito, S3, DynamoDB, and AppSync. Furthermore, Stripe was used to create and facilitate payments on the custom checkout page.

High School to College

Nexa's initial focus was to help college students transition from college to the workforce. As we helped more and more students, we realized we could do the same for high school students entering college. To help handle our product's additional scope, one of my co-founders decided to hire interns. He posted a position on LinkedIn for a few days and received 54 applications. Eventually he narrowed the applicants down to three interns whom we hired to help with Nexa's marketing and social media presence.

When creating our High School to College product, my co-founders and I decided to move away from the website's minimalist design language for the new portion of the site. One of my co-founders consulted a UI UX designer, and leveraged their advice to enhance user-friendliness and general aesthetics.

To develop this, I used the technology stack I had already chosen for the rest of the site: AWS Cognito, Lambda, API Gateway, Step Functions, DynamoDB, Next.js, and TailwindCSS. Notable features that were added to the website include a filter bar which helped customers sort through our feed of college students, a search bar for quick access to students of specific colleges or majors, and the relocation of our reservation system to a mentor's profile for quicker checkout. Moreover, we decided to change the website's currency to our own Nexa Credits which I implemented with Stripe and several aforementioned AWS technologies. This change was made to encourage customers to purchase meetings in bulk and therefore meet with mentors several times as opposed to just once. We found that this resulted in greater customer satisfaction and engagement.

Narrowing Product Scope

After a few weeks of running both our College to Career and High School to College products, we saw greater success in High School to College and, as a result, decided to stop offering College to Career. We found that by offering both services we were spreading ourselves too thin (i.e. marketing to two customers demographics, interviewing two customer demographics, etc.), and that it was necessary to tackle one domain before working on another.

In-House Video Meetings

Using the AWS Chime SDK, we also explored the development of an in-house video conferencing service. An internal version of the service was developed and tested; however, before I was able to finish it for production, my co-founders and I were forced to redirect our attention to more pressing, customer-related issues.

Sunsetting Nexa Networking

For a time everything was working on autopilot: we continued to onboard new mentors from LinkedIn and as we brought on more mentors, we found new customers. Unfortunately, this trend soon came to an end leaving us scrambling on how to best find additional customers.

We ended up deciding the best course of action was partnering with high schools. High schools have a steady stream of students graduating every year, which meant a renewable source of potential customers in need of mentorship. Despite offering a free pilot program, we came to learn from several high schools that counselors found our product redundant. They stated they already filled their students' needs for mentorship and were better able to provide advice than our mentors since they had a proven track record. Not knowing how to move forward, we made the difficult decision to close Nexa.

Looking back, my co-founders and I rushed the decision of engineering Nexa Networking. Had we prioritized speaking with customers, we could have learned we were creating a solution to an already solved problem in a day instead of six months. Going forward, I aim to invalidate ideas quickly (ideally in less than a week) and only start building a product once I learn I'm creating something that addresses a genuine market need.