Coding for Community: If Me's Decade of Open Source Impact
05 Oct 2024 (2 months ago)
- If Me is an open-source, not-for-profit project that has been around for 10 years since 2014, with a mission to provide a free and open-source mental health communication web app, a resources page, and a medium blog that publishes original content from mental health activists and advocates (2m43s).
- The web app allows users to journal and connect with people in their life to share their mental health experiences, with fine-tune features that enable users to control who they want to share their content with (4m32s).
- The app is not intended to be a social media site, but rather a platform where users can have full control over who they share their content with, including the option to share with nobody or only with trusted allies (4m36s).
- The project also has a resources page that crowdsources mental health and disability resources across the internet and different communities in different languages (3m7s).
- If Me has a medium blog that publishes original content from mental health activists, advocates, and people dealing with mental illness, as well as other grassroots organizations working in the mental health and disability justice space (3m17s).
- The web app is hosted on GitHub, and users can visit the project page to learn more and contribute to the project (3m48s).
- The project's approach is centered around providing a safe space for users to share their mental health experiences with trusted allies, rather than sharing with a large audience or the general public (4m19s).
- If Me introduced a feature called private share, which allows users to share their moments and self-care strategies with others, but requires both parties to have an account and give each other permission and consent to view each other's content (5m17s).
- The goal of the platform is to provide a private and secure space for users to share their thoughts and feelings without having to sign up for a social media site, allowing users to control who can view their content through privately generated links that can expire (5m51s).
- The platform prioritizes user control, security, and privacy, with no ads, data mining, or collection of user data for third-party analysis or customized content (6m26s).
- The platform aims to be a safe and controlled space for users to share their most vulnerable thoughts and trust that the platform is storing their information responsibly (6m49s).
- From a technical standpoint, the platform's focus on privacy and security is crucial, especially when sharing personal and vulnerable information (7m5s).
- The platform has seen adoption from people in various industries, including mental health professionals, who use it as a personal tool for themselves rather than as a formal tool for their sessions or note-taking (7m46s).
- The platform is not intended for use by medical professionals in a formal sense and does not aim to replace existing tools that handle sensitive healthcare data, instead focusing on providing a space for individuals to store their thoughts and develop self-care strategies (8m17s).
- The platform features a tool called "care plan" that helps users compile notes and previous posts to create a plan for moments of crisis, including contact information, affirmations, and lists of helpful activities (8m36s).
- Over the years, the platform has gained a significant following among mental health professionals who use it as a personal tool for themselves (9m8s).
- The app has received contributions from various professionals, including therapists and psychologists, who have helped review, test, and improve the app (9m11s).
- The app is designed for day-to-day people, including mental health patients and therapists, and does not collect data on users' occupations or locations (9m25s).
- The app's design prioritizes user privacy and security, avoiding the collection of sensitive information, even though it is not required to comply with regulations like HIPAA (10m22s).
- The app's approach to software development is unique in that it does not collect or aggregate user data, unlike most other projects (10m52s).
- The project's GitHub page features a README file translated into multiple languages, indicating interest from various countries and making the project more accessible to contributors (11m32s).
- The project has had over 300 contributors throughout its lifetime, with a well-documented contribution path and lovely documentation (11m58s).
- The website was built using Ruby, and the project has been sustained for 10 years, with the creator feeling grateful and privileged to have been able to maintain it (12m23s).
- The project has been a "museum of changing technology paradigms" and has been developed on the side by the creator, who works as a software engineer in the tech industry (12m53s).
- The tech stack used is a monolithic web application built on Ruby on Rails, with front-end components and design system built in React, and also utilizes Storybook (13m10s).
- The Ruby on Rails setup is standard, using PostgreSQL, and the application is a multi-page app with server-side rendering, but is moving towards a single-page app to leverage React's lifecycle and hooks (13m27s).
- The decision to use Ruby on Rails was made 10 years ago, when it was a popular framework, and was chosen for rapid prototyping and development (16m15s).
- The choice of tech stack was influenced by the author's experience as an undergrad student at the University of Waterloo, studying computer science and doing internships, including one at ThoughtWorks (13m52s).
- During the internship at ThoughtWorks, the author worked on big client projects, but also on social impact and nonprofit work, which changed their perspective on software development and led to a focus on mission-driven work (15m7s).
- The author's background as a community organizer and personal experience with mental health and disability influenced their decision to work on projects that have a positive social impact (15m35s).
- The author's experience working on projects such as the iOS app for Democracy Now and a health database and website for a local First Nation's Health Organization in Toronto solidified their interest in social impact work (15m16s).
- The author's personal experience with mental health and navigating different healthcare systems has driven their passion for building something that they care about and find fulfilling (15m41s).
- The individual had a moment of realization about the potential of building apps, which sparked their interest in creating something new (16m41s).
- During their second year of university, they were feeling burnt out due to the competitive environment and struggled with mental health issues, which they had been dealing with since childhood (17m5s).
- They had to navigate the mental health care system on campus, learn to advocate for themselves, and seek therapy and medication (17m23s).
- The individual was also involved in community work, organizing on campus, and advocating for more accommodations and inclusivity in the field of computer science (17m36s).
- They wrote about their experiences with mental health and published their work online, which helped them express their vulnerability and struggles (17m56s).
- The idea for the app "If Me" came from a desire to build a tool for journaling and sharing thoughts with others, and the name was inspired by a Tumblr blog (18m27s).
- The app started as a personal project, using the Ruby on Rails framework, and was initially intended to help the individual express their feelings and thoughts more easily (18m42s).
- The app was shared casually with others, who thought it was a cool idea, and the individual started writing about mental health and culture in computer science programs for an independent publication called Model View Culture (19m3s).
- The publication's editor suggested including resources and suggestions for finding community and tackling mental health issues, which led the individual to share their work on the app (19m51s).
- The project was initially made open source with the intention of being free and open, rather than becoming a startup or entrepreneurial venture (20m6s).
- An article about the project was shared widely on the internet, leading to many people reaching out to express interest in working on the project (20m28s).
- Prior to this, open source projects were not very welcoming, with a high barrier to entry and a predominantly male community (21m1s).
- The project's creator started thinking about making the project open source and inclusive, with no desire to monetize it, and had to figure out how to make it welcoming to new contributors (21m16s).
- The project's community developed a set of best practices for making open source projects inclusive and welcoming to new contributors, including onboarding processes and governance structures (21m51s).
- The project has paved the way for new open source projects, providing a model for governance, contribution, and community building (22m18s).
- The project has also demonstrated that open source projects can uphold high standards of code quality and maintenance, comparable to those found in production code bases at large tech companies (23m20s).
- The project's approach to open source has helped to challenge the negative reputation of open source projects as being poorly maintained or cobbled together (23m8s).
- The project's use of design systems, product management tools, and other best practices has helped to raise the bar for open source projects and make them more accessible to new contributors (23m32s).
- Open source contributors make projects easier to build and maintain, and they share a universal language that transcends cultural and linguistic differences, with concepts like agile, design systems, and project management being widely understood (23m41s).
- The project has a core team of maintainers, but it is not static and changes over time, with people coming and going, and the core maintainer, Julia, is often the one reviewing pull requests and interacting with contributors (24m20s).
- The project was very active around 2016-2019, with cross-collaborations with other social impact open source projects, meetups, and collectives, and participation in programs like Rails Girls Summer of Code, which provided paid interns and coaching (25m6s).
- The project is currently in an iterative mode, with no major development happening, but there is always a need for people who can stay on for longer and continue to contribute (25m45s).
- Contributors often come and go, taking breaks due to life circumstances, but some return after a few years, which is seen as a positive aspect of the project (26m14s).
- The project is always looking for people who can stay on for longer and continue to contribute, and there are opportunities for contributors to make a significant impact (26m1s).
- If someone is looking to contribute to the project, there are a handful of things that would be particularly valuable, although the specific opportunities are not mentioned (27m8s).
- The app has been translated into over 14 languages, all thanks to contributors, and translators are still needed to help with this effort (27m17s).
- The app's framework is stable, but there are opportunities for developers to improve performance and architecture, and to refactor code (27m51s).
- The app has over 90% test coverage, but there is still room for improvement, and developers can help with this (28m16s).
- User testing is needed to improve the user experience of the app, and anyone interested in UX research can help with this (28m30s).
- New feature ideas are always welcome, such as tools that would be helpful during a crisis or low point in someone's life (28m49s).
- The contributor community is always looking for people to help grow and strengthen it, including those who can help with community growth, documentation, and improving the developer community (29m20s).
- Those who want to support the project but don't have the bandwidth to contribute can support the project's Open Collective, which helps with the sustainability of the project (30m19s).
- The Open Collective is open to any contributions, and all funds go towards the project's sustainability (30m31s).
- The open Collective is used to pay for services that keep the app running, as well as to pay writers for original content published on the project's Medium blog, which focuses on mental health and inclusivity (30m53s).
- The project aims to compensate writers for their work, acknowledging that emotional labor is labor, and encourages others to do the same (31m39s).
- The platform is a web app, allowing for easy onboarding and authentication using Google or other accounts (32m33s).
- The app has a simple and beautiful onboarding experience, taking only a few seconds to join and authenticate (32m33s).
- Users have various options for customizing their profiles, including location sharing and editing their "about me" section (33m4s).
- Profiles are not publicly visible, and users can only be found by email or through invites, to maintain a closed and intentional community (33m27s).
- The platform has reporting features to address unwanted behavior or harassment, allowing users to block and report others, which will be reviewed by a human (33m55s).
- The project prioritizes a code of conduct and respectful behavior within the application and contributor community, emphasizing the importance of politeness, respect, and inclusivity (34m21s).
- Coraline Ada is credited with putting together the code of conduct for the project (34m32s).
- The Contributor Covenant is a standard in the industry now, and it was an uphill battle to put it out in the world, but it has been adopted by many projects, including social impact ones, and is considered a big change in open source culture (34m36s).
- The Contributor Covenant is a trustworthy and thoughtfully created system for interactions in open source and community building spaces, and it is recommended to have a code of conduct for open source projects (35m8s).
- The app has a feature to send invitations directly and allows users to add moments, which are journal entries that can be categorized by things, moods, and strategies (35m32s).
- Users can create categories and group their posts together, define moods to tag their moments, and categorize things by strategies, which are features that help with self-care and coping (35m55s).
- The app also has a feature to tag moments by strategies, which are pre-created or user-defined, and can help users deal with difficult situations (36m11s).
- Journaling and mental health are not just about bad stuff, but also about neutral and positive experiences, and the app helps users collect their own self-awareness and document their experiences (36m46s).
- The app allows users to link everything together, including moments, strategies, and comments, and provides a feature to enable comments inside moments and strategy posts (37m19s).
- Users can choose to save things as a draft or publish, and there is a feature to collect basic statistics, such as the number of posts written and most used categories, moods, or strategies (37m40s).
- The app is missing a feature for autosave, which would be a cool addition, and it is hoped that someone will be interested in working on it (37m46s).
- The app features a "group" function, which allows users to create community-focused groups, such as support groups, and add other people to them, with the ability to create different discussion threads and add information like video links (38m12s).
- A feature was recently added that allows users to create and organize templates for writing about their moments, which can be pre-populated and reused, making journaling more accessible (38m38s).
- The app has a "groups" feature, but the exact number of groups created is not specified, and there is a possibility of sharing user experiences and stories in the future (39m24s).
Technical Aspects and Development
- There have been a few blog posts in the past sharing user experiences with the app, but there is a plan to look into interviewing people and publishing their stories with their consent (39m48s).
- The app has a "ton of resources" page that can be accessed without an account, which is a popular page that people share at their workplaces and community organizations, and features crowdsourced resources from around the world (40m6s).
- The resources page is curated by category and includes a section for Latinx resources, and users can contribute by emailing the information or making a pull request on GitHub (40m33s).
- The app also features a "medications" feature, which allows users to track their prescription medications and set notifications, but this feature is basic and hasn't been updated in a long time, and is open to enhancement and ideas from users (41m11s).
- The website has a lovely and slow feel to it, with a huge shoutout to contributor Nishiki L, a designer and developer who redesigned the site in 2018, which still holds up well today (42m5s).
- The project's GitHub page is open for contributions, where people can drop a star, take a look, and see how they can contribute, with resources available for easy contribution (42m28s).
- The project has been translated into multiple languages, and translations are still welcome, especially for languages not yet represented (42m46s).
- The project has defined roles for developers, designers, testers, translators, and writers, but is open to new ideas and roles that can help improve accessibility, awareness, and knowledge (43m13s).
- Mental health awareness has increased over the past decade, with the pandemic and lockdown forcing people to confront it, and progress has been made in normalizing mental health days off, benefits, and self-care (43m49s).
- The project's goal was not to go viral or make money, but to help the creator's own journey with mental illness and mental health, and to be able to help others (44m36s).
- The project aims to make mental health resources more free and open for people, as it is currently a privilege that is expensive and time-consuming (45m2s).
- The open-source project is part of the evolution of breaking down barriers for access and talking about mental health, making it okay to say that one goes to therapy (45m24s).
- The importance of taking care of oneself, especially in the tech industry, is highlighted, and a tool for journaling is mentioned as a therapeutic resource that can be easily used to promote self-care (45m32s).
- The tool, which has been made open source by Julia, is appreciated for making it more accessible to talk about and prioritize mental health (46m22s).
The If Me Community and Open Source
- The project's 10-year milestone is acknowledged, and gratitude is expressed to Julia and all the contributors who have supported the project over the years (46m29s).
- The list of contributors, which includes over 300 people, can be found, and the support of companies through sponsorship is also recognized (46m46s).
- Companies are encouraged to consider sponsoring the project to ensure its continued success (47m4s).
- The open-source nature of the project is highlighted, ensuring its continuation even if the current maintainers are no longer involved (47m25s).
- The discussion is appreciated, and the links mentioned will be shared in the notes for easy access (47m49s).
- Viewers are encouraged to share the project with others, as it is an incredible resource that can help people prioritize their mental health (48m2s).
- Julia can be reached through the project's email on GitHub, her personal website (julia.tech), or LinkedIn (48m57s).
- Julia has shared her website, which contains notes and information for people to connect with her, and it is recommended that viewers check it out for themselves as it is impressive (49m16s).
- The website is full of content, and it is suggested that viewers will not regret taking the time to look at it (49m35s).
- Julia is thanked for being a part of Open Source Friday and is invited to return, with the host expressing a desire to have her back and share more of her knowledge and experiences (49m41s).
- Julia has written a guidebook on how to create impactful projects, and it is suggested that she has a lot of knowledge and experience to share, particularly for those who are new to tech or are looking to start a project that can make a positive impact on society (50m6s).