Dopamine Fasting with #100DaysOfCode
Tags: 100daysofcode, typescript, dopaminefasting, learningjourney
Published: 2021-07-17 00:33:27

![Dopamine addict deciding its time to take a break.](https://codybontecou.com/images/dopamine-addict.png)

> I'm stuck in a loop of consuming different means of entertainment and I want to alter this behavior, spending this time pursuing fulfilling goals.

The dopamine fast is there to place strict rules on certain **activities I believe are not making my life better**. As I consume less artificial stimulation, I believe I will get bored and find other, healthier activities to spend my time on.

Rather than video games and movies every day, I will be coding, spending time with loved ones, and going on adventures.

The [#100DaysOfCode](https://twitter.com/search?q=%23100DaysOfCode) is there to motivate myself and stay on track, but the goal is that this will be a lifelong change and continue well past the 100 days. I enjoy coding quite a bit and have been coding nearly everyday for years now, but I am taking the initiative to share my code so that it may help others.

<img src="https://codybontecou.com/images/character-003.png" alt="Illustrated character" width="300" height="300">

## Rules

- Code minimum an hour every day for the next 100 days.
- Tweet your progress every day with the #100DaysOfCode hashtag.
- No video games
- No watching live streams
- No movies or shows
  - Occasional movie nights with my wife are allowed
  - I just want to avoid consistently watching movies and shows
- No music
  - Occasional podcasts are allowed
    - I'm thinking a 1-2 hour per day limit
  - Occasional music is allowed
    - I'm thinking a 1-2 hour per day limit
    - I just want to avoid consistently listening to music
- I only can interact with endlessly scrolling apps using their APIs
  - No feed queries - Only post update, and reply
  - This is subject to change depending on the endpoints available. The key is to avoid endlessly scrolling so I will build out my interaction apps with that in mind.
  - Tutorials are allowed

![Illustrated forest](https://codybontecou.com/images/forest-2.png)

## Goals

- [Typescript](https://www.typescriptlang.org/)

  - I plan on seriously diving into Typescript over the next 100 days. I know I'm missing out on key features by writing raw Javascript, so this is goal #1. Every personal project moving forward will be in Typescript.

- Learning conversation-level Spanish

  - I just recently got married to my lovely wife Daniela who is from Mexico. While she speaks English at a fluent level, a lot of her family does not. Now that we're married, there's no excuse. I will be reading and studying Spanish daily during this challenge. My study plan:
    - Read [Accelerated Spanish](https://www.amazon.com/dp/B07P6YRC1X/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1) - not an affiliate link
    - Build out an [Anki](https://ankiweb.net/) deck with the words I learn from the book and study it daily
    - Practice with my wife and her family

- Backend Typescript

  - I've written most of my server-side programs and REST APIs in Python ([Django](https://www.djangoproject.com/)). I've recently begun writing some simple scripts using NodeJS and plan on moving forward with NodeJS to have full-stack apps purely in Typescript.
  - This attracts me for several reasons:
    1. I'm a big fan of web-based applications where Javascript (and Typescript) reign as supreme overlord.
    2. I'm already very comfortable writing frontend Javascript, so I hope picking up backend isn't too complicated.
    3. I'd like to master a programming language.
    4. The community is welcoming and enjoyable to be around.
  - [fastify](https://www.fastify.io/) - _"Fast and low overhead web framework, for Node.js"_
    - I plan on following [Jay Wolfe's](https://twitter.com/wolfejw86) comprehensive [Fastify tutorial](https://www.youtube.com/playlist?list=PLU_22oKqONin7yagFMm3x1tJihYaIVVwa) and see where it takes me.

- Testing

  - I'd like to become more confident in applying TDD within my applications.
  - [Cypress Component Test Runner](https://www.cypress.io/blog/2021/04/06/introducing-the-cypress-component-test-runner/) is extremely exciting and I plan on becoming more comfortable with this for my web components.
  - Testing different states within my components is still challenging to me. By the end of this challenge, I want to be able to replicate different states within my application.

- Component Driven Development

  - Alongside Cypress, I want to be building web components that are interactive, scalable, and flexible.

<img src="https://codybontecou.com/images/luggage.png" alt="Illustrated luggage bag with soon on it" width="300" height="300">

## Why?

**I'm finding it hard to focus.**

I may start my day with an hour or two of World of Warcraft (WoW), maybe a few Youtube videos, Reddit threads, finally get some work in around 11 am, take a break for lunch, and rinse and repeat with a "quick" session of WoW, YouTube, etc...

This has been going on for months now, and I believe it's time to try something drastic to alter my behavior.

I've tried scheduling my days - work in the morning, a game in the afternoon - but I always feel bad about my decisions by the time I go to bed. I have goals in life and I want to be spending my time outside of work striving to achieve those goals.

Of course, life isn't all about work and achieving goals, but I also want to spend my free time doing things like being with my wife, going on camping trips, and helping my community.

I think cutting the time-consuming, unfulfilling behaviors out of my life will open up the time and energy to live an exciting, fulfilling life.

Join me in this journey,

**Cody Bontecou**