Since social media became ubiquitous around the early 2000s it often seemed like our world was slowly crashing and burning. From the environmental, to the social, and eventually to the individual. Pollution, deforestation, global warming, misinformation, child trafficking, poverty, racism, sexism, corruption, pandemics, obesity, heart disease, anxiety, depression, and so much more. To make matters worse, over time I have been growing more and more tired of us continuing to uncover, discuss, and learn about these problems without actually taking a step in the direction to solve them. Granted there are initiatives, movements, academic efforts, and technology to fight just about every one of these issues, not to discredit those; however, I simply did not think we are doing enough.
This is why I decided to create a first of a kind impact tracking app that empowers us to make impactful choices in our lives and can incrementally work towards solving some of these problems both to improve ourselves and to make the world a better place.
One action at a time.
Welsome – The Impact Tracking App
In 2019, I began the journey of creating a platform that can achieve this vision, called Welsome. The idea is simple; the user community or moderators create activity content for various categories that the users care about. For instance, one category could be climate change, and there would be dozens of activities that users can partake in so that they can contribute to reducing their carbon footprint and fighting climate change. Examples include recycling plastic, walking or biking instead of driving, eating a plant-based diet, and many others. These activities would include details about the CO2 emissions reduced, water consumption reduced, and other metrics that reflect real-world impact. By the same token, there would be activities that users can engage in, track, and challenge each other in any other categories such as being healthier, mitigating the spread of Covid-19, and much more.
The Vision For Welsome
The uncompromising long-term vision for Welsome is to provide an environment for people to feel empowered to make a difference, both in their lives, and in the lives of others around them, and also to be rewarded for it, internally and externally. The word “Welsome” originates from middle english and is defined as being prosperous and in good condition. I hope that the app can show reverence for this definition and serve as a guiding compass for creating a prosperous people, and a prosperous world.
How Does Welsome Work?
Welsome is a mobile app available for Android and iOS where you can:
Subscribe to any activity category of your choice (e.g. health or climate change).
Get daily insights and reminders on actionable ways you can improve yourself and the planet, based on the category you subscribed to.
Remind yourself of things you can do to achieve your goals (e.g. go to bed earlier 5 times this week, or recycle 20 plastic items this month).
Create goals for yourself, track your progress, and get rewarded for your accomplishments.
Connect with and join activity challenges with friends.
Contribute to community-based collaborative challenges that come with rewards (e.g. a gift card to socially impactful organizations such as Allbirds for completing a community recycling challenge).
Win rewards from your accomplishments.
Track your progress and your self-improvement and social-impact journey.
To highlight some of these features, below you may see the Welsome app in action.
Social Impact and Self Improvement Activity Features And Insights
Social Goals, Challenges, and Rewards
Join The Movement And Beta!
If you feel the same way, come and embark on this collective journey to improve ourselves and make the world a better place, one action at a time.
As I continued to build Welsome and surveyed any possible apps, startups, and organizations that are doing similar things I stumbled across some important points. The organizations that are impact-driven focus a lot on corporate social accountability such as the product called Xocial, which empowers organizations and their employees to be more impact driven. Big tech is doubling down on health and fitness where we see Fitbit, Strava, and Apple Health as some leaders in this space. There are also a few organizations that are looking at the impact tracking from a more holistic perspective, such as StickK for achieving goals using social and monetary contracts, and Exist which is one of the most comprehensive life tracking services. The conclusion to be drawn from all this is that no other organization is looking to combine activity tracking, general self-improvement as well as social impact in one service and allow people to track and be empowered by the impact that results from their actions. This, I hope to be Welsome’s contribution to the world.
Final Words
That’s all I have for now, I will continue publishing posts and keeping everyone updated on the progress and vision for Welsome. Additionally, if you have any feedback, advice, or want to collaborate, feel free to reach out to me at mihai.v.avram@gmail.com.
Stay healthy and safe, and cheers. Mihai Avram – Founder of Welsome
Technology changes at such a rapid pace that it is difficult to keep up. One moment we learn the latest and greatest new front end framework only to find out that a few months later a new contender may come to take its place. How can we best use our time as developers by choosing what technologies to invest our time and money in? Look no further than here where we will take a journey through the best frameworks to learn at this moment in time for various different full stack needs such as front end development, back end development, machine learning, databases, and more. We might as well pick the best frameworks to learn now so that we don’t have to spend extra time learning another similar framework too soon.
Front End Frameworks
When it comes to front end web development, learning JavaScript, HTML, and CSS will provide the basis of your skillset. Then, if you want to pick the best modern framework, it will likely depend on a few factors.
As of July 2020, React has 6,600 watches, 153,000 stars, and 29,900 forks, which is more than any other front end framework on GitHub. Moreover, the latest StackOverflow survey from 2019 mentions React as the most loved web framework. Finally, the 2019 State of Javascript survey also states that React is the framework with most satisfaction and awareness. All these accolades combined shows that an overwhelming majority of developers prefer React over the other front end frameworks. A close runner-up to React in popularity is Vue.js.
As of July 2020, a search for React on some of the most prominent job board websites such as LinkedIn, ZipRecruiter, Indeed, and Glassdoor have yielded tens of thousands of open jobs which is more than other front end frameworks.
This is because the rules of the framework are very simple to understand, require very little code, and the documentation is very well written as well as aesthetically pleasing. A close runnerup to front end learning simplicity is React.
Back End Frameworks
There must be something that can tie in all the logic and provide data power to all the pretty websites and apps. Back end frameworks are a bit more crowded than the front end frameworks; though luckily there are some clear winners.
As of July 2020 on GitHub, Node.js has 2,900 watches, 71,500 stars, and 17,400 forks, which is more than any other back end framework. Moreover, Node.js was among the top frameworks listed for the most loved frameworks in the 2019 StackOverflow survey, and Express (which is a Node.js framework) is listed as the most satisfying back end frameworks to use in the State of Javascript 2019 survey. Some popular back end framework runner-ups include Spring Boot, Django, ASP.NET, Laravel, and Flask.
As of July 2020, a search for Node.js on some of the most prominent job board websites such as LinkedIn, ZipRecruiter, Indeed, and Glassdoor have yielded tens of thousands of open jobs which is more than other back end frameworks. Some in-demand back end framework runner-ups include ASP.NET, Spring Boot, Ruby On Rails, and Django.
LinkedIn: 13,098 (searched for ‘Node.js’) ZipRecruiter: 11,322 (searched for ‘Node.js’) Indeed: 5,856 (searched for ‘Node.js’) Glassdoor: 5,670 (searched for ‘Node.js’)
As of July 2020, a ZipRecruiter average salary search for these two frameworks yielded the following:
Ruby on Rails: $114,900/year Node.js: $113,697/year
This is close enough to render a tie, so pick the one you are most comfortable with, or pick the most popular one and stick with it. Moreover, some high paying back end framework runner-ups include Spring Boot, Django, and ASP.NET.
Many developers refer to Ruby on Rails as a magical framework that is both intuitive to understand, and which can accomplish a trove of powerful features and functionality with little code. Some easy to learn runner-ups in the back end framework category include Django, Flask, and Laravel.
Databases
There are not too many database frameworks to choose from, and most importantly one must know the difference and use-cases of the different types (SQL vs. No-SQL). Fortunately, this article curated by the Xplenty team describes the difference very well.
According to the latest StackOverflow developer survey of 2020, MySql was ranked as the best database technology to use. This is also consistent with other database surveys from DB-Engines, ScaleGrid, or JavaTPoint where MySql makes it among the top. Some popular database runner-ups include PostgreSQL and Redis.
As of July 2020, a search for SQL Server on some of the most prominent job board websites such as LinkedIn, ZipRecruiter, Indeed, and Glassdoor have yielded tens of thousands of open jobs which is more than other database technologies. Some in-demand database runner-ups include MySql and PostgreSQL.
As the name suggests, SQLite is a stripped-down version of SQL that allows one to learn the syntax and basics of SQL without having to get into the more complex items such as triggers, writable views, and other administrative or niche functional items that traditional databases support. However, it is highly advised and recommended that one starts with a full-SQL database first such as MySQL or Postgres which are only a little more time to understand.
Machine Learning Frameworks
It is important to note for Machine Learning frameworks, there is a lot of variability in which tool to use for the job based on many circumstances. This is including whether one is working on a research project, a production grade solution, a quick and dirty solution, and various other criteria. Hence, please take the following information with a grain of salt.
As of July 2020 on GitHub, TensorFlow has 8,300 watches, 147,000 stars, and 82,100 forks, which is more than any other Machine Learning framework. TensorFlow also appears among the top contending Machine Learning frameworks according to various blogs and forums such as from KDnuggets and Open Data Science. Some close runner-ups in popular Machine Learning frameworks include Keras, Scikit-learn, and PyTorch.
As of July 2020, a search for Apache Spark on some of the most prominent job board websites such as LinkedIn, ZipRecruiter, Indeed, and Glassdoor have yielded thousands of open jobs which is more than other Machine Learning frameworks. Some runner-ups for in-demand Machine Learning frameworks include Tensorflow, PyTorch, and Keras.
Scikit-learn has very intuitive and easy to use documentation in which there are tutorials and examples which are provided for all standard Machine Learning needs such as Regression, SVMs, Naive Bayes, Clustering, and others. Moreover, Scikit-learn integrates seamlessly with other intuitive Mathematical libraries that can simplify the understanding and usage of Machine Learning concepts. These libraries include NumPy, Pandas, SciPy, and Matplotlib among others.
What are some runner-ups?
None because when it comes to Machine Learning, the fundamental Mathematical and Statistical concepts are the most important to learn. Scikit-learn provides an easy way to learn these concepts through documentation and practical examples. Other tools such as TensorFlow, PyTorch, Keras, or Apache Spark enable more specialized Machine Learning cases in which more of a Machine Learning proficiency is needed.
Mobile Development Frameworks
Mobile frameworks tend to change at a very rapid pace, so take the following information with a grain of salt and try to pick the ones that you think will be the most robust to changes in the future.
As of July 2020, both React Native and Electron have the most GitHub popularity metrics such as watches, stars, and forks. Moreover, according to the 2019 State of Javascript survey, both of these frameworks have been rated as the most popular in the mobile framework space. Some close runner-ups in the popular mobile frameworks space are Swift and Cordova.
As of July 2020, a search for React Native on some of the most prominent job board websites such as LinkedIn, ZipRecruiter, Indeed, and Glassdoor have yielded thousands of open jobs which is more than other mobile frameworks. In demand runner-ups for mobile frameworks include Swift, and Cordova.
According to a crowdsourced survey by StackShare, React Native is the easiest to learn out of all the mobile frameworks. Technically Vue Native might be easier; however, it is by far not as popular and common than React Native so it is not worth learning as much as React Native is.
Other Important Aspects of Full Stack Development
Now that we covered most of the technology stacks, let’s take a step back and understand some pieces of software that serve as the glue to technology. This consists of operating systems, hosting software, testing frameworks, IDEs, DevOps software, and more. Below you may find some honorable mentions in each of these categories. These are essentially the top contenders for their respective groups and markets.
Platforms
Linux – Best open-source, lightweight, and powerful OS
Docker – Best for shipping and running software in a stable environment
Kubernetes – Best for shipping and running clustered software in a stable environment
AWS – Most powerful and all-encompassing hosting solution
GCP – A growing, easier to use, and cheaper hosting solution
Azure – The best hosting solution for Microsoft-first products
Heroku – Best for simple full stack hosting solutions
WordPress – The most popular website hosting solution
Digital Ocean – Simple web or app hosting service with fast loading times and high SLA
Firebase – Great hosting infrastructure for mobile apps
Elasticsearch – Best for text storage, search, and analytics
DevOps
Gradle and Jenkins – Best for software build automation
Git – Best for version control
Slack – Most powerful and most adopted communication software
Sentry – Best for application monitoring and alerting
Insomnia – Best for sending and testing requests over the internet
The Silver Searcher – Best for quick directory and file system searches
Notion – Best for creating and storing documentation/wiki
Jira and Asana – Best for Agile/DevOps practices
Trello – Best for Kanban board organizational practices
Puppeteer – Best for browser automation
Linting – Great for making sure good code is written
TypeScript – Great for making sure that the code handles the data and variables as intended
Testing
Robot and PyTest – Best for Python testing
Jest and Mocha – Best for JavaScript testing
Selenium – Best for web app testing and browser automation
Integrated Development Environments (IDEs)
Visual Studio – Best for Windows users
Sublime Text – Powerful and easy to use lightweight editor
Atom – Best for language-agnostic Mac and Linux users
Vim – One of the most powerful lightweight editors with a steeper learning curve