Flint's Engineering Portfolio
iAlign
Before you scroll down, please give a look at the following image. It is my overall alignment with my values over the past 10 months. What types of things do you think could have caused certain peaks and valleys?
Well... Here's a slightly annotated version! As you can appreciate, these annotations are larger events and larger shifts in the data. There are many more small or subtle variations that I don't highlight here. There are many ways this data can be parsed and used to identify trends, patterns, and habits that either do or don't support my lifestyle. The kicker? This alignment score is generated by check-ins that take less than 40 seconds per day via SMS on my phone. Most days I don't remember that I've even responded... which is the goal! I want iAlign to be as resistance-free as possible. iAlign is the call to awareness, what we do with this data is how we generate secondary calls to action.
But that was just my year. Here are some iAlignment profiles of many other iAlign beta users! Everyone is unique, gauged by their own specific values, with their own particular take-aways and insight. iAlign is only just beginning and these graphs bring me great pride. They represent daily awareness for dozens of people over their values... which puts me in-between 10E1 and 10E2 for my mission statement of helping 1 billion people take one value-based decision daily. Only 8 orders of magnitude to go ;)
USER INTERACTION
User's receive SMS messages on a daily basis with uniquely generated questions based on their preset values. These questions have single-letter responses and take less than 40 seconds to respond to total (N=3000). Each has an option to do further reflection if desired at a link provided, which takes them to the iAlign website. A weekly report is generated (example shown below) that gives them insight into overall trends and patterns of their values over time.
USER INTERVIEWS
I have hosted 30+ user interviews and had 15+ user forms filled out to collect information regarding the pain points of users, the ways that they self-reflect and grow, the usage of their phones, and how iAlign might fit into their lives. I use the book the MOM test in order to make sure I am collecting relevant information instead of just pitching my idea to people to seek validation.
​
Initial Audience found from my user interviews and initial testing with ~100 users include two types of avatars. First is the hands-on user who uses iAlign daily. Second is a leader (coach, counselor, therapist or) who believes in a holistic form of coaching:
​
User Avatar:
25-35 years old, has previously sought out and pays for therapy, counseling, or coaching before (or actively uses it), uses their phone on a daily basis, recognizes how the work that they do on themselves positively influences success in other realms of their life (financial, mental, social), understands the positive influence that a group along with group accountability ad support offers, and has identified one ore more values that they feel is important and recognizes they would like to get better at it but doesn’t know how to gauge or make progress with it.
​
Coach avatar:
A counselor, therapist, coach, or manager who uses a holistic approach to serving their employee or client. They believe that their employee or client will have a greater level of success with regard to their coaching/counseling/managerial goals for them if they have a greater level of personal life satisfaction and alignment with their values. They are comfortable and excited to use and integrating new tools into their practice and therefore might be on the younger end (25-35 years old). They have between 10 and 150 clients and give their clients both group and individual attention. They have a desire to improve the overall level of company or service satisfaction and reputation and would appreciate new metrics to show efficacy of their practice.
Example user-form. I used these for initial user feedback but did most of my user research in 1-on-1 video or audio calls.
AMAZON WEB SERVICES DEVELOPMENT
Quick version history of iAlign:
- V1 used google forms and excel
- V2 used google forms, a text messaging campaign service, and python scripts for analysis and reporting
- V3 used Airtable for the databases and fill-in forms, Twilio as an SMS provider, TextIt for text flows and triggers, and python scripts for reporting, analysis, and emailing.
- V4 is now AWS-based and uses the following resources: AWS Cloudformation, SAM, CodePipeline, Canary, S3, DocumentDB (with MongoDB compatibility), Lambda, CodeCommit, EC2, Step Functions, VPC, API Gateway, Code Deploy, along with TextIt and Twilio and python for the reporting, machine learning, analysis, and emailing. TextIt will soon be replaced by AWS Lambda functions to keep all resources under the AWS roof for data privacy.
​
Below is a simplified block diagram of the infrastructure of iAlign. The black outlined box represents an AWS Virtual Private Cloud that contains resources within it. Yellow boxes represent AWS Lambda functions, Blue boxes represent DocumentDB (with MongoDB compatibility) Collections, Light yellow boxes are step functions that coordinate Lambda functions. Other resources include S3 buckets for long-term storage and API calls to front end or third party services.
ONBOARDING, ETHICS METHODOLOGY, DATA PROTECTION
I take the ethical concerns surrounding mental health data seriously. In order to do so I make sure that users understand what data is being collected, what is being done with the data, that their individual data is not being sold or given to any 3rd parties ever, use my own private network within AWS to host my serverless functions and database, and have consent forms and terms and conditions for use. On the personal side, I have made a commitment to myself to always prioritize ethics over any desired outcome.
STATISTICAL ANALYSIS & REPORTING
Example auto-generated report
​
SMS FLOW & OPENAI INTEGRATION
I use the OpenAI API in order to create more emotionally-relevant text messages. I do not yet use an LLM for producing new questions because I want control over how questions are formed to start. I use the template and structure of the text message questions in order to decipher what the results of that question mean and discretize users' answers. This is a pretty simple use-case of ChatGPT right now and I quickly anticipate using LLM's to deliver a more unique experience to iAlign. I have to jog before I run though.
​
Below is a sample of one text flow procedure that users may go through on a daily basis. I am actively switching this over to be entirely based on serverless lambda functions directly integrated with Twilio for both data privacy and creative control reasons, but for the time being using the service I use (TextIt) provides a level of ease.
​
Boxes with orange headers represent webhooks. These webhooks below represent me pulling data in (such as the daily-generated text messages to be sent), calling personally created AWS Lambda functions (for example a lambda function I built that calls my fine-tuned GPT model), or posting data to be stored (the results and any associated metadata of the conversation).
MACHINE LEARNING
I intend to have this section updated by early February 2024. I intend for ialign to learn from user's iAlign SMS self-assessment data to identify potential relationships between a user's values and their life-satisfaction scores (pride, engagement, stress) or other variables (steps, alcohol usage, screen-time usage, other actions that are submitted via the application web interface, etc.).
​
While this is the part of iAlign I am most interested in... if the user experience isn't enjoyable and valuable, then no one will use it and there will be no data to do machine learning with! Therefore I must continue to diligently work on the experience side of this project if I want do play with the data in fun and create meaningful insight.