Empowering Humans Through Innovative Web Development
Tags: learning, webdev, career
Published: 2024-05-27 22:04:19

**Who I am is why I'm doing this**

A google search for affordable jeans. Four hours later I'm staring at a wikipedia page about a subgenre of a subgenre of subgenre branching off of an already specific brand of hardcore punk called emotive hardcore (emo), on the fringe between screamo, post hardcore, and shoegaze that consists of about three bands from the early 1990s. A waste of time? Maybe. But I like to categorize and compare things. It helps me organize my thoughts and understand the world. It's the way I think.

It's probably impossible to categorize myself as an outside observer would. But if I was to try I'd say I was a fiance, a guitarist, a caretaker and "Matt" to my fiance's daughter, and a web developer who struggles with both ADHD and Bipolar Disorder. In the past my description of myself would be a lot different. I would probably be quite a bit harsher and include words such as college dropout, lazy, failure and disappointment.  
  
In reality, none of the negative things I thought about myself ever defined me. It took me 31 years to realize that. That's how long it took me to find tangible success in the "adult" world. My 20s are a billboard of polaroid pictures of seemingly disparate realities. Some blurry, some overexposed, some crystal clear.

I didn't finish college. I lost countless friends and acquaintances. I didn't know why everyone else was moving forward so easily while I was felt like a car attempting to back out of a driveway in six inches of snow. No matter how hard my engine was working and my wheels were turning I was stuck in place.

The reality is I was fighting against a system not designed for my brain - it wasn't that I was failing; the system was failing me. I was working as a waiter and making a living. It wasn't for me and I was burnt out and jaded.  
  
Luckily my wonderful fiance realized that I was unhappy. She urged and encouraged me to pursue a coding bootcamp. I signed up already expecting to fail. Why would I expect anything different. Except I didn't.

**Getting There**

Three months, five days a week, eight hours a day of instruction, an assignment due every two days, three group projects that were essentially full fledged, full stack web apps. First HTML, then css, then vanilla browser JavaScript, then Jquery, then bootstrap and css frameworks, then nodejs, then mysql, then express, then rest APIs, then mongodb, then PWAs, then react, then graphql, and then redux. Coding at least sixteen hours a day. I showed up every day, turned in every assignment, and suddenly, it was over. I did it. In the process I fell in love with web development. The day I graduated coding full stack web development boot camp was the proudest day of my life.

I couldn't have done it without my support system. I had a wonderful instructor and patient instructor, helpful TAs, supportive peers, and my wonderful fiance all in my corner. My instructor somehow fielded my endless stream of questions, that according to the curriculum, were "out of order" or irrelevant. He understood that they made sense to me. My TAs stayed after class to help me build apps, talk coding, and listened to my ideas and thoughts. I had three group projects with different groups of peers. I was a valued member of all three groups because of the way my brain worked not despite it. My fiance took on more responsibility than I would ever ask of anyone all while giving me nothing but positivity and encouragement. Without all the every single one of these people's patience, desire to understand me, belief in me, and support there's no doubt I would have failed.

I got hired as a Wordpress developer by a boss of a small agency who also believed in me. I spent six months there. Wordpress development wasn't for me. I struggled with the workflow. It wasn't intuitive to me. I yearned for my code editor, npm, nodejs, tailwindcss, and react. After a couple weeks of "casually" bringing up React and nodejs to my boss I accepted that those weren't the tools my agency used. Those weren't the tools my agency was ever going to use. So I worked as hard as I could and learned everything I could every day about Wordpress and how to effectively build websites and apps in the environment I was in with the tools I was given.

My boss and the other developer I worked with took the effort to learn the way I think. They both had a paradigm on web development that was foreign to me and my paradigm was foreign to them. Despite miscommunications due to a mutual lack of assumed knowledge from my boss and the other developer I worked with and I, they supported me and were patient with me. I was able to build three production sites with Wordpress, as well as multiple HTML emails, a frontend landing page using bootstrap, html, css, and javascript, and so much more.

After six months we parted ways. I want to build full stack modern web applications and the agency I worked at mainly builds business to business sites with Wordpress. I parted ways with the agency with no ill will. On the contrary the developer I worked with told me how impressed he was with how quickly I learn and how I should go after a job working with React and Nodejs. He said he was going to miss working with me. My boss wished me luck and understood my thought process and vision even though it didn't align with his vision for his agency. Again I found myself succeeding and growing, this time with tools that weren't intuitive to me, and a workflow that wasn't aligned with my brain, because of the support system I had.

**The Vision**

I suddenly had time to build the apps I wanted to. To use the technologies I love and am comfortable with. I was ready to get started. I started building a video streaming app. But what if it had a real time chat feature? Real time chat apps are really cool. I should build one. But why not just make a whole social media app? I miss Myspace so why don't I do something about it? It should have an intuitive UI and user hub. The main reason I stop using an app is because I find it clunky or difficult to navigate.

For whatever reason while all of these ideas were viable projects that I would enjoy making, they didn't quite feel right. And then it hit me. The seemingly disparate, disorganized, and "wrong" neurons started doing what they do. I needed to make sense of where I was and what I was going to do from here. So my brain made connections.

I know I want to help people. People with neurodiverse brains. People with unaddressed needs. People who are out of the scope of assistance of their community. Of their nations, cities, peers, families, and friends. People who think they are deficient who aren't. People who are smart and capable but don't have the opportunities or support system to flourish.

How can I help these people? I'm definitely not running for office and I'm not going to med school. What else can I do to help. I know how much a support system helped me succeed. I know I didn't have an adequate support system until recently. I know I can build web apps. I thought about the all of the apps I was building and contemplating building.

I thought of the social media app I aspired to. I thought of Myspace and the Ultimate Guitar Forum's IRC chat that I used to frequent when I first discovered the internet. They shaped me into who I am now. They both gave me communities and support systems. As entertaining and digestible as short form social media is, it doesn't foster the same sense of personal connection that and community that I experienced when I first discovered the internet.

I realized that even with that support system the tools, technologies, and workflow I cultivated for myself was a huge part of my ability to function. I thought about why I felt more capable and confident building web apps in React and Nodejs rather than Wordpress. I realized it was the workflow. When I'm building a modern web application I have almost everything I need in the command line, my code editor, and one browser window. I have a layout specifically set up for it. I don't have to switch contexts much. With Wordpress, at least the way my agency builds sites, it was all browser based. It was rapid and there was a lot of context switching. I realized how much harder my brain was working building Wordpress sites. My productivity and abilities to execute my work hinges greatly on my workflow.

I thought about the video streaming app I was building. Most neurodivergent people I know have some kind of skill to showcase. I want them to have a safe and encouraging place to share it. I can make an app that hosts users created media. I'd love to give people a space to showcase their work and grow whether it be electronic music production, animation, film making, constructing charts based on data analysis, photography, writing poetry, writing documentation, recording impressions, and so on.

I know what helps me. I know that my brain is considered neurodivergent and I know what environments, tools, and support I thrive in. I can build a comprehensive and accessible user hub with an intuitive UI and navigation. I can build an app that a user can navigate to any part of the app from any other part of the app to eliminate context switching and content overload. I can build an app with all of the features want to implement intuitively.

Now I need to make people want to use it. I want to foster a real and authentic community with this app. I want to give people the tools they need to succeed. I want the app to be a genuinely rewarding experience to the neurodivergent brain. I want to give a platform to everybody who feels like they don't have one.

Gradually, this rabbit hole my mind was exploring deeper into was uncovering **Pixel Path**. I know I need to make an app that is rewarding and intuitive. I realized the inherently rewarding principles and dopamine that make RPGs addictive. So I can implement an RPG like experience and level type system that's tangibly rewarding.

I'm building this app to foster community and community input is essential to me. Whatever you're capable of I promise you there's a role for you in the creation of this community. I envision Pixel Path growing into a vibrant, supportive community where neurodiverse individuals can thrive and showcase their unique talents. Here's a brief overview of the features I plan to implement into **Pixel Path**.

This isn't an essay exploring the impact of the commodification of the World Wide Web, so I won't go too in depth about it. In short, with this app I aim to solve the problems that the commodification, commercialization, and monetization of the web that have become omnipresent.

I aim to create a space where the user's privacy is never compromised for any reason. It is essential that users feel safe and protected on **Pixel Path**. The practice of selling user data to data brokers is something I don't believe is right and I will never do.

I aim to create a space with valuable content. I believe that algorithmic rewards for mass produced shallow content that's easy to monetize is severely degrading the quality of content on the web. The practice of rewarding low effort content farming for the sake of producing more content makes building an authentic community nearly impossible. **Pixel Path** will never incentivize this practice althorithmically or philosophically.

I aim to create a space that is accessible with as few barriers of entry as possible. In order for **Pixel Path** to serve it's purpose it must be as accessible as possible. I promise that **Pixel Path** will never engage in any deceptive monetization tactics and will always be transparent and clear with any and all transactions, both monetary and informationally (no email subscription spam or required opt-ins). There will be no automatic charges and no credit card or payment information needed or asked for during registration or while using the app. I aim to keep this app as affordable as possible and I will never implement a paywall for core features and app functionality. Users will have the option to change the UI to dyslexic friendly fonts. I plan on implementing robust caching, optimization, and many other strategies to make sure **Pixel Path** will use as little data as possible and run on as many machines as possible.

#### Features

**Interactive Overworld Map**

Navigate your tasks through an intuitive, pixel art overworld map. As you complete tasks, unlock new areas, revealing a path of progression that visually represents your achievements.

**Pixel Art Avatars**

Customize your personal avatar with vibrant pixel art. Your avatar grows and evolves as you conquer tasks, making productivity a personal and rewarding journey.

**8-Bit Sound Design**

Enjoy nostalgic 8-bit chimes and soundtracks that provide rewarding feedback for completing tasks and reaching milestones. Each sound is carefully chosen to enhance the experience without overwhelming the senses.

**Task Management**

Effortlessly create, categorize, and track tasks. Pixel Path supports various task types, including one-time actions, recurring responsibilities, and long-term goals.

**Rewards and Achievements**

Unlock achievements and collect items as you progress. These rewards are designed to provide extra motivation and a sense of accomplishment beyond the everyday.

**Accessibility Features**

Pixel Path is designed to be inclusive, with dyslexia-friendly fonts and color-blind modes, ensuring that everyone can navigate and enjoy the app without barriers.

**Focus Zones**

Use specialized zones on the map for deep focus, where you can set timers and work without distractions, enhancing productivity, especially for challenging tasks.

**Community and Customization**

Share your progress with friends or the community and see how others are navigating their paths. Customize the look and feel of your map and avatar to make your productivity journey uniquely yours.

If you do want to help me develop the app check the tech stack I will be using for development is listed below:

#### Tech Stack

**Client**: React, Next.js 14 (jsx and app router), TailwindCSS, TailwindUI

**Server**: Node.js, Express, MongoDB, Mongoose

This tech stack is an initial development tech stack and it will be expanded upon. I'm open to any suggestions and input on the expansion and direction of the tech stack. I will do my best to accommodate all contributing developers skill sets and development environment preferences.  
  
I still have a lot to think about, plan, and develop. The github repo to **Pixel Path** is linked below. Please check it out. I welcome all feature requests, development help, and feedback in general. Stay tuned, this is a rabbit hole worth going down.

I'd love for you to join me on my journey by

* **Providing Feedback**: Share your thoughts on features and user experience.
    
* **Contributing to Development**: [Check out the GitHub repo and contribute to the code.](https://github.com/mhgarry/PixelPath_Your-ADHD-Productivity-Adventure)
    
* **Spreading the Word**: Help me build this community by sharing this blog and app with others who might benefit.

``