Using scientifically proven methods, Memo will help you become a better developer.
iOS & Android
Memo is an open-source tool that uses a memory card-based approach to help you practice the subjects of interest to you in programming. We have a unique set of collections ranging from the most basic to the most advanced programming topics.
Each collection has many useful, hand-selected resources that will allow you to dig deeper into the subjects you desire. You can record how you felt with each Memo you respond and we'll record this data to remind you when something needs practice. From these processes, the app learns its behavior and, using our forgetting curve algorithm, Memo identifies when it's best to show a specific subject again.
Besides all these incredible features the entire app was built by the community, for the community and the processes were recorded in a series of videos and articles that you can check to see how we went trough each decision. From what technologies to use to which was the best suited architecture for that technology.
Downloads in the first month
Stars on GitHub
Views on our video series
One of the main challenges of building Memo was to create an algorithm that would properly recommend, with precise timing, when to review the contents studied. As as to when it would be the be best timing? How would we know it? We developed, using our findings, our very own forgetting curve formula as a way to try to answer these questions.
Based on the user’s response to how well they’ve remembered a specific Memo (our version of a flash card), we calculate exactly when each Memo should be reviewed again.
R stands for the the number of times the user has completed the memo deck while e is the actual information being studied. t stands for the number of days since the user has completed the deck. S is the user's memory stability on the deck being studied, and even this number is achieved through a series of equations.
Based on those values we get our difficulty of retention curves and we use these results to better help the user understand a subject.
Everything is based on several real scientific articles done about information retaining and learning frameworks. All data collected can be foundherein PT-BR. Where you can check all of our research, sources and thought process behind on how to implement such frameworks in a more comprehensible and friendly way. Here are some of the highlights of what we've found:
📝 Forgetting Curve📝 Memory Stability📝 Stabilization📝 Stabilization Decay
The idea for building the app came from our partner Lucas Montano who has a following of more then 100k subscribers interested in learning the step-by-step of how to build an app.
The goal was to record the whole building process of the project in a video-series. Documenting everything from market analysis, ideation and design to full implementation. We loved the idea on sight and went with it.
We created a youtube playlist with over 20 videos showing how we turned the initial idea into a fully working and production-ready app. Besides the video series, our team wrote a series of articles describing in-depth the decision making processes behind each step of the way.
Since the original idea was to show how to build an app, we thought ‘why not make it open-source as well?’ This way, everyone could see, commit by commit, how the development of the project was going and the team’s decision making.
Making an open-source project comes with cool benefits: a community to review and engage with your code, improving it even more and a necessity to make your code easier to understand and document.
Together with all our code we also open-sourced our UI Kit and App design using a shared figma file so everyone can mess around with the components created for the app.
You can check the full code for Memo in our GitHub, pull it to your machine and run it yourself. In addition, you can explore our code to see how our engineers decided to build each line of code.