Inspiration

We love building projects. Well, maybe love building too much. We realized recently that we sometimes do too much building and not enough talking. Yet diversity of perspectives is critical when figuring out where to take a project. So, in addition to going out of our way to talk to more people from more perspectives, we build walksoflife.ai.

What it does

A user can input an idea along with a sample size. Next, a random set of "personas", designed to replicate a random sample of the American population (via the census data) is produced and are each polled on the idea. Using the results of this polling, a user can then see the validity of their idea from people of all different backgrounds on the dashboard. This includes breakdowns by different "persona" characteristics, considerations for the idea, and the personas that best and worst fit their market. From here there are 4 things that can be done:

  1. Chat: You can choose a strongly opinionated persona to chat about your idea with, be it good or bad. They come opinionated but ready to openly discuss your idea.
  2. Focus Groups: A focus group of "personas" is generated and they are each told to produce an opinion on the idea. Then, they perform an iterative process where they round-table their opinions and see if they change. This information is then displayed to the user, where they can see each member of the focus group's traits, initial stance, and final stance along with any persuasive arguments for or against that may have swayed them.
  3. Alpha Testing: You can choose a single persona from your persona pool. From here, the persona is then dropped into a simulated testing environment for your idea where they iteratively test your idea and learn how it operates / potential flaws. This information is stored as a "testing journal." This journal is then analyzed and a list of ~10 considerations that the user might want to think about is generated. These considerations are meant to help the user address future roadblocks before they even arrive. It is basically an MVP tester before an MVP exists. This data is also displayed on a new page where the user can see the considerations and the testing log.

How we built it

Persona generation and all GPT calls were made on the backend using TypeScript. The results of these generations were then passed via json to python files that then produced statistical and sentiment analysis that are then passed onto our PostgreSQL database, which is queried from our frontend. As for additional features mentioned above, they were all accessed directly via routes made from the TypeScript Backend. The frontend was built in TypeScript with React (NextJS).

Challenges we ran into

We had some integration hell when first merged the frontend and the backend. We needed the data science advantages of Python and also the quick development and reliability of Typescript, so we had to work out some kinks with combining Python venvs and npm packages. We tried a lot of features fast, and one we partially built but didn't quite think was ready to ship was an automatic PDF report generator which caused us trouble when using the FPDF python library. We think this is important for making our analysis more accessible and presentable in a business context. Also, when generating custom bitmojis for all personas, a web scraping approach was first taken which had lackluster results, and thus was replaced with a C script that generated custom low poly bitmojis.

Accomplishments that we're proud of

Everything shipped is fully functional and usable on the web (see our url), we are really proud of that. Additionally, we were at first afraid that emergent behaviour would be difficult to produce, but through the use of multiple agents and layered prompting, we actually had really interesting and statistically significant results.

What we learned

We learned how valuable it is to take an hour or two to plan out the architecture before staring to code and commit. This really helped us when building out additional features and when modifying/debugging the existing codebase. Also, we're glad that we were able to cut our losses on features that were either too complex or simply didn't fit with the project.

What's next for WalksOfLife

A few things are on the horizon in the short term. First of all, the PDF generator that we mentioned above is almost shippable and with a bit more effort and time will be extremely robust and useful for users. Additionally, a feature that we built out on the backend but didn't end up implementing on the frontend was "debates" which pitted the most "pro idea" persona against the most "anti idea" persona to see what emergent behaviour would result. Finally, we really want to expand the existing persona model using and even more expansive class structure, as well as use continuous python web scraping with more granular census data.

The best part: getting unique perspectives aren't just valuable when you come up with ideas. Perspectives are valuable when you come up with anything. All walks of life have a place, and we want our tool to empower everyone.

Built With

Share this project:

Updates