Welcome
My name is Michael Tobias Flohrschütz - call me Mito.
I am a full-stack JavaScript web-developer with a background in AcroYoga, movement practice and bodywork.
I am enthusiastic about crafting innovative tools to improve physical health, capability and awareness.
My main expertise is in JavaScript, its libraries and frameworks (particularly React and React Native). I love to keep learning and evolving.
Currently I work for Teamfit, a React Native based mobile App.
For many years now and through various careers, my mission is to support people to live healthy, mobile, empowered and embodied lives.
Beyond the individual, I also care a lot about community/connection and ecological sustainability.
(Scroll down to read more)
About me
Born and raised in Munich, Germany, I always had an urge to travel and explore as well as broad
interests.
So I went to study audio engineering in Graz, Austria and later lived a nomadic lifestyle for a couple of
years training and teaching AcroYoga.
But at some point I realized lasting happiness and freedom can only be found inside. A good life is not
something that can be achieved. It is not so much what I do or where, but HOW. It is presence in each
moment.
Now I am back in Munich, have a beautiful daughter and mainly venture out into the depths the internet and
explore code. The focus has shifted to creation and stability.
My friends describe me as open-minded, curious, creative, devoted and pleasant-natured.
Among my key talents are my ability to analyze and systematize, as well as to make complex things comprehensible.
I prefer to be prepared and wisely choose my path of action, rather than just dashing forward.
I work well autonomously, but I do not thrive on competition.
The greatest things are achieved collaboratively. At the core of working effectively as a team I
see respect, support, sincere communication and a clear common goal/mission.
Why I am a web developer
Developing code allows me to dive into a state of flow and enthusiasm. It sparks my curiosity and satisfies my joy in solving problems and crafting useful, innovative things.
Habitually I analyze how things could be optimized in functionality and usability, from software to movement patterns to a kitchen tool.
I have always been drawn to domains that integrate both brain hemispheres: Technology and creativity, understanding and experience, intellect and embodiment, logic and emotion. Writing efficient, clean code largely benefits from a systematic approach, but also from a portion of creativity. There are always many ways to implement a given functionality. But an elegant, nifty solution can be considered “art”.
Past careers
As a sound engineer, in more than 60 live concerts and several studio recordings I prove capable of managing highly complex systems, effectively trace errors, all while coordinating multiple people, staying sharp to details and keeping a cool head when things got stressful.
In my career as an acoustics engineer I designed and managed over 30 room- and architectural acoustics projects, from offices to high-end studios, communicating requirements and details with clients and partners to meet deadlines, budgets and leading-edge deliverables.
As a self-employed AcroYoga teacher, frequently collaborating with varying co-teachers and (co-)event-organizers, I have a track record of over 3000 students, from privates to big stages, and an increased number of invitations to teach at events and studios around the world. My unique style is renowned for comprehensible systematization, innovative approaches, subtle progressions and precise instructions. See www.FlyingMonkey.eu
Movement teacher turned web developer?
For one, as a movement teacher I was never interested in big muscles, but I wanted my students/clients to feel good and capable in their body. This is still part of my mission.
On the other hand, on many levels we modern humans are more connected today than ever before. And yet, the same time there is more loneliness and disconnection than ever before. Technology is part of this problem. But I believe it can also be part of the solution.
For me web technology is the contemporary and most efficient way to connect people on a large scale and assist them in every-day life to evolve physically and mentally so they can live healthy and empowered lives.
Skills
I can build web sites and apps from concept, layout and interactive elements to backend/server-side and databases.
Frontend
- • Intuitive interfaces
- • UX/UI (Personas, user stories, user flows)
- • Responsive design, modals and touch interaction
- • Web components
- • Accessible websites / -apps
- • Progressive web applications
- • Mobile Apps (React Native, Expo, PWA)
- • Test- & Behavior-Driven-Development
- • Continuous Integration / Delivery
Backend
- • NodeJS & Express
- • Creation and integration of APIs
- • Implementation and integration of Web Services like FaaS
- • Relational and non-relational databases
Toolbelt
Languages
Frontend libraries & frameworks
Backend and other libraries
Testing & QA
Documentation
Web services & databases
Mobile Apps
I understand being a web-developer as a continuous process of learning. So I am always open for new programming languages, frameworks, libraries, approaches, etc.
Projects
This is a selection of my projects as a web developer.
More details about the features, technologies, etc. of each project can be found in the respective readme file on GitHub.
For the study projects created during the Full-stack Web-developer course @CareerFoundry, I also worked with Kanban boards, user stories, user flows and architectural diagrams.
Portfolio website
The website you are currently looking at.
For practice reasons I chose to refrain from using any modules, libraries, frameworks or build tools. So every line of code in this project is hand-written.
MoveX Angular client
MoveX is a library of movements from various styles and traditions, with descriptions/cues and video sources.
This is the Angular client - A single-page, responsive web application (SPA), using Material design.
MoveX React client
This is the React-based frontend for MoveX - A single-page, responsive web application (SPA), built with React (including a number of additional modules), following the MVC design pattern.
MoveX backend (API)
This is the REST API and a non-relational database for MoveX.
The study goals here were to learn about NodeJS (incl. a variety of packages), databases (SQL and NoSQL) and APIs.
Meet app
This app displays events in different cities which are fetched from a Google Calendar.
The study goal was to learn about PWAs, test-driven-development (TDD), serverless functions, OAuth (a mechanism to log into an app with your google account), performance monitoring and how to draw pretty charts.
CHATzam
A chat app for mobile devices (Android and iOS) created with React Native.
The study goals here were to learn how to develop and test cross-platform native apps.
Project: Portfolio website
This project started as a static website to learn HTML and CSS. But ... it turned into a full-grown portfolio website.
For practice reasons I chose to refrain from (re)building it using any modules, libraries, frameworks or build tools, so every line of code here is hand-written.
Technologies:
- Semantic HTML (header, footer, forms, tables, ...)
- Custom web components (reusable header and footer)
- CSS (float, flexbox, grid, variables, animations, media queries, ...)
- JavaScript
- Fully responsive
- AWS lambda, API and SES (for the contact form)
To protect my email address from spam bots I created a AWS API and a AWS lambda function (FaaS, Function as a
Service) which is evoked upon submission
of the contact form. It sends me an email with the form content through AWS SES (Simple Email Service).
For this I used serverless
module. So I kind of lied above when saying there is no library in
this project. But I didn't in the sense that there is no module/library used for the actual website it self.
Project: MoveX Angular Client
MoveX is a library of movements from various styles and traditions, with descriptions/cues and video sources.
For the MoveX study project I created an API including a non-relational database, as well as two different frontend clients (Angular and React). Read the full case study.
This is the Angular client - A single-page, responsive web application (SPA), using Material design.
Features:
- View a list of all moves
- See details for each move, style or source
- User registration and login
- Update profile (username, password, email, birthday)
- Users can add to add remove a move to/from their list of favorites
- Users can delete their account
Technologies:
- TypeScript
- Angular
- Angular-Material
- CSS
- TypeDoc for documentation
- GitHub-pages hosting
Project: MoveX React Client
MoveX is a library of movements from various styles and traditions, with descriptions/cues and video sources.
For the MoveX study project I created an API including a non-relational database, as well as two different frontend clients (Angular and React). Read the full case study.
This is the React-based frontend - A single-page, responsive web application (SPA), built with React (including a number of additional modules), following the MVC design pattern.
Features:
- View a list of all moves
- See details for each move, style or source
- Search moves by name
- User registration and login
- Update profile (username, password, email, birthday)
- Users can add to add remove a move to/from their list of favorites
- Users can delete their account
Compared to the Angular client, the React version additionally has thorough form validation and a search function.
Technologies:
- JavaScript
- React
- React-Bootstrap
- React-Redux
- Axios
- Parcel
- PropTypes
- Netlify hosting
Project: MoveX backend (API)
MoveX is a library of movements from various styles and traditions, with descriptions/cues and video sources.
For the MoveX study project I created an API including a non-relational database, as well as two different frontend clients (Angular and React). Read the full case study.
This is the REST API and a non-relational database.
The study goals here were to learn about NodeJS (incl. a number of packages), databases (SQL and NoSQL) and APIs in general.
Technologies:
- JavaScript
- node.js (Express, Morgan, bodyParser, mongoose, CORS, Passport, bcrypt)
- Non-relational DB on MongoDB Atlas
- Postman (API endpoint testing)
- JSDoc for documentation
- App hosted on Heroku
Meet app
This app displays events in different cities which are fetched from a mock-data Google Calendar.
The study goal was to learn about PWAs, test-driven-development (TDD), serverless functions (FaaS), OAuth (a mechanism to log into an app with your google account), performance monitoring and how to draw pretty charts.
PWA (progressive web application) means it is responsive, available offline, cross-platform and can be added to the home screen.
The FaaS (function as a service) is a third party service (in this case on an Amazon server) that acts as a middleman between the user and the Google Calendar API. This keeps the credentials of the Google Calender secret (not accessible to the user) and makes the authorization process safe and convenient.
Features:
- Show a list of events
- Show/hide event details
- Filter by city name
- Choose number of events to display
- Chart 1: Number of upcoming events per city
- Chart 2: Popularity of topics
Technologies:
- React
- CRA (CreateReactApp)
- CSS
- serverless
- AWS lambda
- OAuth (Google Cloud Console)
- Axios
- Recharts
- Jest (Enzyme, Cucumber, Puppeteer)
- Atatus (performance monitoring)
- GitHub-pages hosting
Project: CHATzam
A chat app for mobile devices (Android and iOS) created with React Native.
The study goals here were to learn how to develop and test cross-platform native apps.
A Google Firestore database was used to store and sync the messages between devices.
Features:
- Enter username
- Choose background color
- Send and receive messages
- Share pictures from the devices gallery
- Take and share photos
- Share location
- See past messages even while offline
Technologies:
- JavaScript
- React Native
- Android Studio
- Expo
- Google Firebase
As this is a mobile app in development stage, there is no live demo available. See GitHub readme for instructions to use/test it.