Does your GitHub look like this?
Let’s Inspire will help you break out of the tutorial loop.
Project based learning: Building. Testing. Shipping.
Developers entering the tech industry via bootcamps, self learning, university, or some combination of all the above have a variety of skill depth and breadth. New skills are a necessary component for breaking into tech, but job seekers need help to determine the most valuable projects for their portfolio or specific language development.
According to 2021 Council on Integrity in Results Reporting (CIRR) data, anywhere from 5 - 30% of development bootcamp graduates were still seeking full time employment 6 months after graduation.
Closing the gap between beginner and job ready can require significant effort in developing a personal project portfolio, a skillset, and resume that communicates technical excellence. That effort should be spent building, not filtering through the vast array of YouTube series, courses, and other tutorials that can be found online.
Given the right filters, our users can select an appropriate project that gives the greatest return on time invested.
Curated project resources are key to leveling up
Originally, our target user base included both designers and developers to capture a broader tech audience. After initial problem space research we determined that to provide the most value within a predetermined scope, we needed to narrow the breadth of our target user base. The focus of our product was then turned towards early-career developers who were having trouble finding a unique personal project to work on.
After conducting 10 user interviews we came up with the following insights:
1. Developers gain inspiration from personal experiences
- 7/10 participants expressed that a real-life situation led to a project idea
2. Developers have a focus on skill development
- Some participants wanted to work on a specific programming language that they’re not familiar with
3. Developers want to collaborate with others in the tech industry for a sense of accountability
4. Developers feel lost on where to start
- With an abundance of resources out there, it can be difficult know which ones are really effective
5. Developers wanted to work on a project that is unique and correlates to their passion/interests
Landing on a Solution
Let’s Inspire seeks to rescue developers stuck in a “hello, world” tutorial loop. With the vast array of programming education resources available at tip your fingers, it is far too easy to be overwhelmed with choice. New languages, frameworks, clickbait articles & videos can put developers on a path of jumping from one generic tutorial to the next.
Our team determined that answering the following question would lead to an effective minimum-viable-product (MVP) that provided sufficient core features:
How might we provide relevant recommendations to tech industry entrants for their portfolio projects?
Let’s Inspire is a user driven questionnaire that focuses on key user interests and values in order to curate appropriate portfolio projects with supporting technical documentation resources.
Through multiple usability tests of our Hi-Fi prototype we learned that users were confused or overwhelmed by the information presented on the landing page and results screen.
We iterated our design to a more simpler and sleek version that gives users a better understanding of what our app does and how to navigate through it.
User Testing & Feedback
After showcasing our initial prototype to users, we gained insight on various improvements that could be made in terms of layout and functionality. Although we gathered many great ideas, we decided to prioritize the changes that would add the most value to our users using our product. Some key changes that were made included a simplified questionnaire option menu, a documentation of technical resources on our results page, and higher quality graphics on our landing page.
Where is it hosted?
- Back end: Google Cloud Platform
- Front end: Netlify
What is your tech stack?
- Back end: Node.js, Express
- Front end: React
High level journey of a request
- User opens URL in browser
- Based on the questionnaire, react fetches results from api endpoint
- The result is filtered based on user input
- Each field is displayed on the DOM, displaying appropriate links from the back end records
What was the hardest part of development?
- Determining how to write the back end and make it work.
- Figuring out how to deploy the back end to Google Cloud.
In the first few weeks, determining the amount of backend data we need to create an MVP. We primarily focused on the number of options that provide the most value on the results page.
Does your app have any scaling issues?
Adding more possible languages or other user choices would multiply the number of possible links required for us to find to display on the final results page.
What are some key takeaways?
The importance of working closely and communicating to ensure that we meet our development timelines. Making time to test the app and being mindful of how the user flows affect the data in our app.
Some things have been easier or more difficult than expected, and therefore it is sometimes challenging to estimate how long they might take.
Although we will not be continuing this project, we have identified feature milestones 3, 6, and 9 months out that would incorporate key feedback learned from user interviews and testing.
- A persistent results page that could be saved to the user's browser.
- A shareable link that users could send to friends / collaborators.
- Add 2 more programming language tracks.
- Increase the personalization of resource recommendations.
- Develop an on-ramp for community curated resource recommendations.
Product Manager Learnings:
- Communicate early and often.
- Lead with context.
- Invest the time to understand a problem.
- Prioritize ruthlessly, scope flexibly
- Communicating ideas quickly to the rest of the team to ensure that everyone is on the same page.
- Making sure that all my designs are feasible from a developer standpoint
- Utilizing tools such as Trello to make sure that everyone works efficiently in an agile environment
- Learning to use the agile development process
- Communicating technical limitations and scope to the team
- Getting comments on accessibility and communicating with the designer on user feedback implementations
- Keeping the scope manageable, so we have a reasonable amount of features to implement.
- Frequent communication is important, whether in group meetings, one on ones, or on Discord.
- Having a clear understanding of the design and what is to be implemented.
Full Team Learning
As a distributed group, we learned the positive impact of effective asynchronous communication. Throughout the CoLab experience, we were collectively learning all the nuances of the agile process (sprints, backlogs, Trello) and how to best implement them for our team. After a fun and challenging 8 weeks, our team was able to align, establish a problem focus, and successfully deliver core product features.