✌️ Hi I'm Lad.

I have a goal to build a system that gives me as much free time as possible.

I want to achieve this goal because I have a beautiful family and wonderful friends, and I would like to spend the majority of my time enriching their lives.

My hope and as far as I can tell, in 2021 this is possible with just 3 things: The ability to read, a computer, an internet connection.

And of course, if you throw in a little cash, you can save yourself some time by using tools that others have built as building blocks for your own system. So far I've spent $6.17 working on this project.

I will use website to document my journey to doing that. Please join me on this ride.

General info:

I have a fulltime job with flexible hours.

I work on this daily for 30mins to 2 hours.

Day 20: 11/9/2021

Hello. I'm back after a short... well I don't know what you'd call it.

Regardless it was good for me - I went through a small give up phase, a lazy mode, an idea spike and then guess what?

I came out of it more pumped than before to work on this project. That has never happened before and that is a good thing.

I'm trying to be aware of my thoughts and actions, and not be too hard on myself. These cycles are natural.

My main big revalation during this time is that I really want to build a finance app, a wellness app and a general priority app.

Also my wife has a good idea for a productivity tool that I think would fit nicely into this setup.

My day job has become a bit more chaotic and unpredictable... as one might predict would happen when starting a side project. Oh well. I'll get through it.

There has been an insane amount of chatter about FAANG, MAANG whatever salaries and it had me scratching my head wondernig if I was missing out.

But the reality is I do not want that. I want this. I want to build my own shit for me, for fun and for sustainability. This is what will be truly rewarding in the end and along the way!

There has been a silly amount of enhancements just in this past month which can help me on my journey - specifically the updats to Next.js and ecosystem.

I will continue to try those things out and figure out what works best for me.

Day 18: 10/29/2021

Okay today I want to add the actual save to database to the page setup.

Day 17: 10/28/2021

Dang. Documenting is hard. Today I am backlogging days 16 - 13 because I felt like typing out what I was doing was just too much additional effort.

Ideally I can create a solution that removes all of the barriers here, but I still wonder if it is just a muscle memory thing...

I'm proud that I am still squeeking these out, but still it can get discouraging when I realize I am skipping for a day.

No reason to get down though, just gotta keep trucking.

Day 16: 10/27/2021

Finally a touch of success! I was able to mash together the tutorial and get add, update and delete working!

The challenges left to research is how this content that appears is presented from an SEO perspective.

Also updating the displays so it feels really reactive.

I think my text step will be to integrate this test into "your pages".

Day 15: 10/26/2021

Okay so my goal today is to be able to push something to the faunadb and display it.

I want to start really clean on this attempt following https://javascript.plainenglish.io/build-a-snippets-app-with-nextjs-faunadb-tailwind-css-auth0-413c52273ba9

In my toils yesterday I was finding the workflow using gitpod to be difficult. I didn't know if issues were arising because it is not using a true localhost. So today I am going back to localhost:3000 on my machine.

There are undoubtedly workarounds in the gitpod documentation but that is just not essential to figure out at the moment.

Welp, this is classic. I cannot even get the app to read from fauna... It makes me think fauna is down or something which is unlinekly.

My other hunch is it has to do with authorization and the way its being done - the way I'm doing it could be "old". These tutorial blogs get outdated fast and are mostly useful for getting the gist of how to do something. Syntax changes constantly.

I went to grab a cup of joe and though about how nice it would be do have a developer drive through - you pull up to the window and ask an experienced dev. They are paid by the minute or whatever. Does this exist?

Day 14: 10/25/2021

Well, I'm stuck. I am trying to understand and implement the static.fun example but I'm running into these issues with the code in the example. Specifically Type error: Property 'showModal' does not exist on type 'HTMLDialogElement'. because its deprecated or experimental or something.

It's in a state where removing it breaks more things. I often get to these points and get down on myself and think, well you will never figure this out becaues you don't understand the fundamental blah blah. But in reality it is some syntax bullshit.

I do need to get better at bulldozing through this type of thing. Okay off I go again...

I went down a rabbit hole trying a few things. It seems that others are interested in what I am trying to do and it is unsolved for Next.js: https://github.com/nextauthjs/next-auth/issues/600

But I will just ask aloud, what am I trying to do? I want someone to be able to sign in to Page! and add content to be displayed on a custom dynamic URL. I suppose that experience does not have to be in or on a subdomain.

I'm thinking it is of more importance to get the workflow going for now, then the subdomain url config will be an extension of that. It may be easier than I am thinking if the subdomain is always public... Then I just need to know if it is in use to not let others use it.

I am struggling with simply creating a collection in the fauna databse, which SHOULD be extremely simple but it is just not working... Lets figure that out first.

Day 13: 10/24/2021

Started researching on the fly subdomain setup.

back to reviewing https://vercel.com/blog/wildcard-domains and https://static.fun/

Right now I am attempting to see how static.fun is setup and copy it...

I've often found myself at this juncture - I know I can clone a repo and get it up and running... but usually the connection to variables and tools makes this hard to do.

static.fun is using Sendgrid, pusher Channels and Simple analytics and sentry...

I suppose I can set this up and see what I like and scrap it if I don't want to use it. Okay lets try that.

Added typescript with touch tsconfig.json and npm add --dev typescript @types/react @types/node

Day 12: 10/23/2021

Setup the static create page: https://page.lad.fyi/create

Day 11: 10/22/2021

Setup the static your pages page: https://page.lad.fyi/your-pages

Jiminy christmas - once I started doing development - even just building out the static front end pages, the idea of documenting became drastically harder to make myself do

Just that context switch made it so that I did not write down days 9 and 10... Obviously I am putting in effort and it is easier to just stay in that mode, but it can be a slippery slope and lead to never documenting anything.

Potential solution: remove as many steps as possible... The most ideal would be to click record and an AI does it all for you. Or maybe a human service that sets it up nicely for you?

Another idea for those who don't like the idea of always recording a video and narrating - click to take a screenshot of any screen and add notes - automagically add that to your documentation.

there has to be something like that out there... but maybe not for this exact use case. That maakes me quesiton: is optimizing project building documentation even worth it? Id guess that 80% is stuff that went wrong or errors or things your could just cut out to not waste others time.? Worth reasearching. I know this process is becoming more popular and is a form of projecgt based learning...

Day 10: 10/21/2021

Setup the static go pro page: https://page.lad.fyi/go-pro

Idea: People! an app that helps you document/track relationships

Idea: Balance an app that focuses on and brings in a measure of balance - apple health stats, easy update stuff - This should be visible as part of this project!

Idea: Expectations! an app that normalizes setting expectations - you have your daily list of to dos but you only get to one and the list keep growing - all this does is create stress. You should click a button and send expectation to stakeholder

Managers and other people should get used to seeing text or pings saying: Expectation update - new delivery blah because of blah etc. If they really care they can talk to you, which is what should always happen.

The goal would be to keep expectations low and overdeliver. Could gamify doing this which would be a culture change and reduce stress. Most deadlines are arbitrary and pointless.

Day 9: 10/20/2021

Setup the static sign up page: https://page.lad.fyi/sign-up

Day 8: 10/19/2021

Okay so now that Page! has a home, lets get rolling.

I am going to start setting up the static pages that I designed for Page!

Setup the homepage: https://page.lad.fyi

Day 7: 10/18/2021

Still attempting to get a page on the app loading to page.lad.fyi

okay so I have set custom locale and now lets test:

LAD

Whoooo! It works. Now I can add content for page right here! I'll probably change it but it makes dev easier and is cool to understand i18n stuff for the time being.

Here we go: page.lad.fyi

Day 6: 10/17/2021

Picking up where I left off with the wildcard domains.

Vercel has a perfect example project, which looks easy enough to replicate... But nothing is ever that easy when it comes to web development - mostly because are on a new frontier!

https://static.fun/

After I made the switch to Vercel DNS it appears that https://page.lad.fyi is rendering lad.fyi which is interesting...

It seems like using i18n routing is the most direct way to at least just add page.lad.fyi: https://nextjs.org/docs/advanced-features/i18n-routing

That mixed with useRouter to figure out which domain is loaded and showing content accordingly.

Day 5: 10/16/2021

Back at it, looking to setup wildcard subdomains on the fly for Page!

It seems like the only way I can utilzed these wildcard domains is if I setup my DNS through Vercel...

Its not too big of an issue... But I'd like to keep using cloudflare.

There is some documentation but it seems... messy. I know from experience how finicky SSL certs and verification can be so I just forsee this causing issues.

In researching it seems like there have been alot of issues just connecting a single cname to Vercel in the past.

Well, at this point I do trust Vercel. I don't pay for either service, so there is some inherent risk anyway... And frankly I am practicing a make it work and refactor mentality. Maybe someday it will seem more clear or neccessary to use cloudflare... And I will spend more time and go back and test that it will work.

For now I am deciding to switch to Vercel's custom nameservers.

Note: I just had a flood of a feeling that I sometimes have. For an issue like this, I often think that I am the only one in the world who can't figure this out. It just seems like every other indie hacker just has this solution figured out right out of the box. But its not true. And if it is true, oh well. There will always be these "things" that seem like they should just work, they aren't even a feature, but they are core to making the app experience the best possible. Maybe the next time I see a hacker seemingly just appear to have this figured out I will just ask them - how they set it up.

I made the switch to Vercel's DNS and things are up and running. Now time to make the wildcard domains work.

Day 4: 10/15/2021

Feeling good feeling great how are you?

Well I'm pumped today - just from staying organized and serious about this project and not giving myself too hard of a time if I get busy. It's all about consistency.

Ideas from today: A roadmapping application of Page! Could be its own product. Roadmap!

Ideas from today: A way to get my daily documentation setup as a Page! This would require adding custom forms. Log!

Started researching how to setup page.lad.fyi as the temporary domain to build out. An important note is that anyone should be able to create their own subdomain when they build their own page.

https://stackoverflow.com/questions/61248827/two-different-subdomains-in-one-next-js-routing

https://github.com/tomsoderlund/nextjs-multi-domain-locale

https://nextjs.org/docs/advanced-features/i18n-routing

https://nextjs.org/docs/migrating/incremental-adoption#micro-frontends-with-monorepos-and-subdomains

https://vercel.com/blog/wildcard-domains

Day 3: 10/14/2021

Okay product 1 product 1 product 1. A simple page on the internet that you can add text to

Lets get a visual:

There will be some details to figure out with pricing and upgrading downgrading, but this is the gist of it.

Oh and I've been calling this first product: Page! for now.

Ideas that came out of this:

How to price products - a directory of example products and success and modern patterns...

A plug-in able image upload connected to google, amazon, digital ocean etc... Allow for easy optimization and cropping and overall management. There has to be something out there like this...

Day 2: 10/13/2021

Oh how the days slip by. This will be the challenge. It has alwasy been the challenge. Solving this problem will be how I succeed.

Woke up at 7, got the kids to school at 8, first meeting at 9, coded till 3, family obligation till 6, put the kids to bed by 8, worked till 10.

I am writing this at 10:01pm and feel like I have not had control or a moment to myself. This is my problem - a perspective problem, and it needs to be solved.

Objectively I had a wonderful day... Its just that I really wanted to work on this, to have time to "process" for myself. But what does that really mean? I think it means nothing. I think it does nothing for me.

There is a differnece between intentional meditation or and what ever this "mode" that I think I need is.

Solution: Jam shit out. Set a mother fucking alarm and when it goes off do 20 minutes of productive fucking work, then stop.

Look at every moment with my family as the enrichment time I am striving for. I already have it. That will make succesess in building this system even easier.

Okay here we go, next task: Plan first product.

  • A page on the internet that you can add text to.
  • This platform will be built out by other ideas that come along
  • For example, if the next product is a to do list maker, I will use this first "platform" product to build it.
  • Lets get meta for a sec - that might mean that one of the products or one part of many products will be the monetization aspect of product 1... So the more I build that out, the better the value will be for any product that "sells" this built in ecommerce.
  • Product 1 is valuable becuase loads of people need to communicate something, a webpage is a great way to do that, but it is very hard to figure out how to get their communication on a webpage if you are not a webpage type person.
  • This will be the easiest way to do that on the web.
  • Someone will be able to connect their own domain.
  • Someone will be able to get messages through the page.

Day 1: 10/12/2021

Today I purchased the domain name lad.fyi via namecheap.com. I chose it because it's cheap, short and brandable.

I have decided to keep my information as private as possible because, well, there is really no need to know who I am and to be honest it is kind of freeing to be able to write and say and do what I want without worrying what other people will think. I have struggled with imposter syndrome and have accepted that I have been gatekept, gaslit and what ever else my whole life and still percerviered.

My personality also lends it self to decision peralysis. I need to just start and not look at what other people are doing or saying.

I've accepted that this will take me longer to do than other people who are smarter or more connected

To all of those notions, peopple, and energy I say: I love you but fuck off.

I then connected a new email address to my existing gmail. I wanted to sign up to services fresh.

  1. go to mailgun.com
  2. create account and add new domain as sending domain
  3. configure domain dns as specified by mailgun to verify domain
  4. Darn looks like mailgun no longer has the email routing featuer for the free tier... Okay well im not paying 36/mo just for that
  5. A quick google search gives me forwardemail.net
  6. created a free account and configured the DNS
  7. Followed their steps to mask/forward using my current gmail account
  8. Boom, works like a charm

Now to setup a twitter account. No idea how to use twitter but I figure it is the most direct channel to an audience of like minded people, so I'll give it a try. I intend to put out issue and questions I run into with the intention of helping others who run into this issue.

Cool, got the handle @ladfyi

Now I will setup a github account so I can store my code

Now I want to get this page live on the internet. There are a million and 1 ways to do that. Some very complicated, some very easy. I am going to choose the way that is easiest for me AND gives me the most power. I don't know if this is the right way to do it, but I just have to start.

This year I have been messing around with Vercel and Next.js because I randomly found this awesome dev named Lee Robinson. I took a class he created, React 2025, which definitley boosted my confidance and motivation to do this! If you ever see this, thank you Lee!

  • So I'll head over to vercel.com
  • create an account by connecting to my github
  • I'll get started with the fauna guest book solution. Just a simple example that can be modified. But again I don't really know all that much, so I just need to start somewhere.
  • It leads me through the setup...I connect github to vercel, github to fauna, vercel to fauna...automagically
  • When setup is finished I go over to the settings tab into domains and add my domain.
  • Go back into cloudflare to set the proper records and SSL to full
  • Load lad.fyi and boom, site is live
  • Even though this was a technical pathway, it was extremely fast

Now that I have content loading at my domain, I need to update that content to reflect this journal!

Currently it shows the default guestbook app connected to the fauna database

To change that, I need to edit the code and redeploy the code to vercel. To do that I can either copy the code to my desktop from github...but to be honest, I want more flexibility. I want to edit the code in a cloud editor.

the best way I know to do this right now is to use a service called gitpod. I go to gitpod.io and connect my github account and new repository. Within seconds I can edit the code.

I make a change and then in the terminal area of vscode on gitpod I run npm install and npm run dev to see my "cloudlocal" changes.

doh! An error is thrown saying I have an invalid database secret. I open my .env.local file and see that there is a missing FAUNA_CLIENT_SECRET... Okay I am assuming I need to go to fauna and find this sercet key.

I head over to fauna.com (cool domain!) and login via github. I really have

How I am feeling: Excited and hopeful. Have the usual pangs of discuragement and negativity that I will try to be vocal about - this feeling arrises from trying and failing with any technical task, and is especially noticable when I have some preconcieved notion that it should be 'easy' to do the task.

Some ideas that came up during this session:

  • Make email easier
  • Make a product called Just Start or Start Fast where all of these tasks can be done on one screen in a matter of minutes. Removing any barrier to starting is valuable.
  • Create a very simple roadmap to follow along with... For example right now I am on the task "Create online identity" which handles the issue of barriers of identity

Roadmap

Goals:
  • Freedom
  • Fresh start
  • No fear of personal failure
Goals:
  • Establish idea
  • Break "value" barrier - a mental block that tells you that you should not create or sell something unless it provides more value than something else in the market. This is bull shit.
  • Iron out platform idea
Goals:
  • Visualize idea
Build and launch v1 of first product
Goals:
  • bust through dev barrier
Tasks:
Setup static pages
Setup on the fly subdomain creation
Setup auth and user accounts
Goals:
  • Temporary domain for Page while its being built
  • Stay within whole platform
Setup design system
Goals:
  • Create an easy workflow for front end development
Setup ecommerce
Goals:
  • Complete the system
Add spellcheck to content!
Add affiliate links to the products I use and like.

Services in Use

  • Namecheap
  • Cloudflare
  • Forward Email
  • Gmail
  • Twitter
  • Github
  • Gitpod
  • Vercel
  • Fauna
  • Next.js
  • Tailwind CSS

Products

  • Lad's Website
  • Page!
  • Product 2: Project Roadmap!
  • Product 3: Daily Log!

Monthly Cost: $0.51

Monthly Revenue: $0.00