New SaaS Project
I started building my own little saas project this morning. My aim is to build it a little each day and to see how far I can take it.
If that sounds like something you're interested in then follow along.
A thread
I started building my own little saas project this morning. My aim is to build it a little each day and to see how far I can take it.
If that sounds like something you're interested in then follow along.
A thread
This is a reboot of my previous attempt at something similar back in May (although that was a different concept). Life got in the way, as it often does for us all, but I'm dusting myself off and getting back on the horse! https://twitter.com/iamdavidhill/status/1256369378255306753?s=20
Inspired to start again by @mubashariqbal's recent @onehoursaas project. Thanks for the inspiration and kick up the backside Mubs! https://twitter.com/mubashariqbal/status/1297158604554895360?s=20
Day 1: Getting Started
Repo setup
Laravel
Jetstream
Unix Socket and Storage:Link quirks
It doesn't look like much, but I have auth, profiles and teams setup.
I'm still using MAMP as a local env, I've heard there are better alternatives. Any suggestions?
Repo setup
Laravel
Jetstream
Unix Socket and Storage:Link quirks
It doesn't look like much, but I have auth, profiles and teams setup.
I'm still using MAMP as a local env, I've heard there are better alternatives. Any suggestions?
Day 2: Stripe Integration (Part 1)
Cashier
Stripe account
Stripe products
Stripe Customer Portal (CP)
Redirect to CP
I have a "redirect" working via a POST Request and a Controller... set to redirect to Index because I can't figure out the redirect to CP.
Cashier
Stripe account
Stripe products
Stripe Customer Portal (CP)
Redirect to CP
I have a "redirect" working via a POST Request and a Controller... set to redirect to Index because I can't figure out the redirect to CP.
I'm using @stripe's Customer Portal for subscription management so that I can focus on the main app.
Stripe's docs are amazing, although they assume I have more experience than I do.
I understand the principles, I just need to keep watching @jeffrey_way to learn how to do it.
Stripe's docs are amazing, although they assume I have more experience than I do.
I understand the principles, I just need to keep watching @jeffrey_way to learn how to do it.
Day 3: Stripe Integration (Part 2)
Stripe PHP package
Tutorials and research
Reached out to mentors for help
Zoom with @dave_stewart
Added MySQL table for links
Still working on stripe integration
Small steps forward today, but steps nonetheless.
Stripe PHP package
Tutorials and research
Reached out to mentors for help
Zoom with @dave_stewart
Added MySQL table for links
Still working on stripe integration
Small steps forward today, but steps nonetheless.
Day 4: Stripe Integration (Part 3)
Stripe CLI
Stripe Checkout integrated
More tutorials
Stripe Customer Portal
I was integrating Portal before implementing Checkout, so I couldn't pass the Customer ID to the Portal. Checkout as simple as a snippet. Portal next...
Stripe CLI
Stripe Checkout integrated
More tutorials
Stripe Customer Portal
I was integrating Portal before implementing Checkout, so I couldn't pass the Customer ID to the Portal. Checkout as simple as a snippet. Portal next...
Day 5: Stripe Integration (Part 4)
Bought @phpstorm
Created @tuple account
Had first pairing session with Mentor
Refactored my code
Stripe Customer Portal working
Bug with the Stripe customer data
Really pleased with today's progress, I learned a lot.
Bought @phpstorm
Created @tuple account
Had first pairing session with Mentor
Refactored my code
Stripe Customer Portal working
Bug with the Stripe customer data
Really pleased with today's progress, I learned a lot.
I decided to hire a mentor who can help to up my developer game. My goal is to go from "Designer who hacks at things"** to "Developer who knows his shit".
Tutorials and courses are great, and I'll always use them, but I need faster feedback loops.
**Thank you @StackOverflow
Tutorials and courses are great, and I'll always use them, but I need faster feedback loops.
**Thank you @StackOverflow
Day 6: Stripe Integration (Part 5)
Setup @phpstorm
Learned new IDE features
Installed a @wesbos theme
Debugging
Checkout and Customer Portal connected. Just need to save subscriptions so that I can pass the customer_id to the Portal redirect.
Setup @phpstorm
Learned new IDE features
Installed a @wesbos theme
Debugging
Checkout and Customer Portal connected. Just need to save subscriptions so that I can pass the customer_id to the Portal redirect.
Day 7: Stripe Integration Complete
Stripe integration complete
Mentoring Lesson
One week since starting this little challenge, and I have an improved dev env, a mentor, and the basics of an app, inc. registration, subscription, and managing subscriptions.
Stripe integration complete
Mentoring Lesson
One week since starting this little challenge, and I have an improved dev env, a mentor, and the basics of an app, inc. registration, subscription, and managing subscriptions.
Day 8: Created Model
Link Model
Link Controller
Link View
Link Table
Setup @TablePlus
Created the working model for my links. I'm becoming more comfortable with Laravel. Still a ways to go though.
Link Model
Link Controller
Link View
Link Table
Setup @TablePlus
Created the working model for my links. I'm becoming more comfortable with Laravel. Still a ways to go though.
Day 9: Database Connected
Connected database
Dynamic views
Connected up the database, creating dynamic views based on content within the table, and routing to domain.test/{slug}. Incremental steps.
Connected database
Dynamic views
Connected up the database, creating dynamic views based on content within the table, and routing to domain.test/{slug}. Incremental steps.
Day 10: Learning
Mentor lesson
Solidifying more of the basics and my understanding of Laravel with another coding session paired on @tuple. Tuple is such an amazing experience and having a mentor is proving to be a very worthwhile decision.
Mentor lesson
Solidifying more of the basics and my understanding of Laravel with another coding session paired on @tuple. Tuple is such an amazing experience and having a mentor is proving to be a very worthwhile decision.
Day 11: Refactor and Test-Driven
Refactoring and clean up
Test-driven development
Started learning about TDD in my mentoring lessons. Setting up feature and unit tests. Really interesting concepts that I'm eager to build on.
Refactoring and clean up
Test-driven development
Started learning about TDD in my mentoring lessons. Setting up feature and unit tests. Really interesting concepts that I'm eager to build on.
Day 12: Test Test Test
Core user flows mapped
Digging deeper into TDD
Moving slow now by taking the time to learn these processes, in order to move fast later.
Who's wrote good documentation on testing in Laravel?
Core user flows mapped
Digging deeper into TDD
Moving slow now by taking the time to learn these processes, in order to move fast later.
Who's wrote good documentation on testing in Laravel?
Day 13: User Stories
Writing user stories
Reading documentation
Captured a full list of user stories in Notion. I'll use it as a simple checklist to make sure I build everything that I need to. Watching more Laravel tutorials.
Writing user stories
Reading documentation
Captured a full list of user stories in Notion. I'll use it as a simple checklist to make sure I build everything that I need to. Watching more Laravel tutorials.
Day 14: Tinkerwell
Exploring @Tinkerwellapp
Reading documentation
Digging into Tinkerwell. I need to get better at using this for tinkering with my database. Does anyone have any great resources for learning?
cc @marcelpociot
Exploring @Tinkerwellapp
Reading documentation
Digging into Tinkerwell. I need to get better at using this for tinkering with my database. Does anyone have any great resources for learning?
cc @marcelpociot
Day 15: Tinkering
Using @Tinkerwellapp
Cleaned up Notion
It wasn't the most productive day, but I tried to push forward with some things. @magicroundabout's YouTube video really helped me to wrap my head around Tinkerwell a little better -
Using @Tinkerwellapp
Cleaned up Notion
It wasn't the most productive day, but I tried to push forward with some things. @magicroundabout's YouTube video really helped me to wrap my head around Tinkerwell a little better -
Day 16: Extensions
Chrome extension research
I was unable to get much real work done today. I did manage to dig a little into Chrome Extensions though. They seem relatively straight forward. I think an extension may play an important role in my SaaS. Bookmarked for later.
Chrome extension research
I was unable to get much real work done today. I did manage to dig a little into Chrome Extensions though. They seem relatively straight forward. I think an extension may play an important role in my SaaS. Bookmarked for later.
Day 17: More Tests
Writing more tests
So this Test Driven Development approach really does involve a lot of writing tests
I’m still getting my head around the process. But between my mentor and @CodersTape’s help, I think I’m getting there.
Writing more tests
So this Test Driven Development approach really does involve a lot of writing tests
I’m still getting my head around the process. But between my mentor and @CodersTape’s help, I think I’m getting there.
Day 18: Still Testing
Super test-driven
Sketches
I fear these daily updates are going to be a little samey this week. I'm still learning test-driven development. More tests, more assertions. These are in my test project right now. Need to migrate to my SaaS project.
Super test-driven
Sketches
I fear these daily updates are going to be a little samey this week. I'm still learning test-driven development. More tests, more assertions. These are in my test project right now. Need to migrate to my SaaS project.
Day 19: Usernames
Adding usernames
Learning DB migrations
Learning Factories
Learning Seeders
Another day down, with more learnings in the bag. We keep going.
Adding usernames
Learning DB migrations
Learning Factories
Learning Seeders
Another day down, with more learnings in the bag. We keep going.
Day 20: More Learning
Social login
Learning Observers
Learning Events
Learning Listeners
Today was a huge step in understanding more fundamentals of Laravel. Can’t wait to put this into practice for real in my app.
Social login
Learning Observers
Learning Events
Learning Listeners
Today was a huge step in understanding more fundamentals of Laravel. Can’t wait to put this into practice for real in my app.
Day 21: Relationships
Learning relationships
The last two weeks have been spent learning the fundamentals of Laravel so that my approach going forward is less, “copy, paste, and hope” and more thoughtful and intentional.
On Monday we start building for reals.
Learning relationships
The last two weeks have been spent learning the fundamentals of Laravel so that my approach going forward is less, “copy, paste, and hope” and more thoughtful and intentional.
On Monday we start building for reals.
Day 22: Schema
Planned DB schema
Planned a first pass at my database schema. Looking at the relationships between tables based on what I learned the day before.
Planned DB schema
Planned a first pass at my database schema. Looking at the relationships between tables based on what I learned the day before.
Day 23: Schema
Develop schema more
Had to wrap up my company accounts today so it wasn’t the most productive of days for my side project. Although I did develop the schema a little more and registered the social handles.
Develop schema more
Had to wrap up my company accounts today so it wasn’t the most productive of days for my side project. Although I did develop the schema a little more and registered the social handles.
Day 24: Migrations
Setup Models
Setup Migrations
Setup the first pass at the models and table migrations. I learned about passing JSON to the table today which is super cool. I would love to spend all week on this, but I only have an hour or two a day to chip away.
Setup Models
Setup Migrations
Setup the first pass at the models and table migrations. I learned about passing JSON to the table today which is super cool. I would love to spend all week on this, but I only have an hour or two a day to chip away.
Day 25: Factories
Setup Factories
Fixed Migrations
Definitely starting to feel more comfortable with Laravel and with the concepts of TDD. A long way to go. But 25 consecutive days of learning, even if it’s only for 30 mins is making a huge difference.
Setup Factories
Fixed Migrations
Definitely starting to feel more comfortable with Laravel and with the concepts of TDD. A long way to go. But 25 consecutive days of learning, even if it’s only for 30 mins is making a huge difference.
Day 26: Post Types
Created post types
Tests for each type
Learning how the backend works is so empowering. Watching an application come together without even touching the front end is such a new concept for me, it’s so cool though.
Created post types
Tests for each type
Learning how the backend works is so empowering. Watching an application come together without even touching the front end is such a new concept for me, it’s so cool though.
Day 27: Validation
Added validation
Learned more about validation. Learned the “exists” rule which allows you to reference that a value appears in the column of another table. So cool.
Added validation
Learned more about validation. Learned the “exists” rule which allows you to reference that a value appears in the column of another table. So cool.
Day 28: Day to Forget
Multidimensional Array
Spent all of my allocated time struggling with validating data from a Multidimensional Array. Shouldn't be that difficult, but I made a right mess of it.
On the plus side...
Today marks 4 weeks of consistent daily commits.
Multidimensional Array
Spent all of my allocated time struggling with validating data from a Multidimensional Array. Shouldn't be that difficult, but I made a right mess of it.
On the plus side...
Today marks 4 weeks of consistent daily commits.
Day 29: Delete Posts
Added delete posts
I didn't have a lot of time to work on this today. So I switched gears from yesterday and implemented delete posts along with tests for it. Another little step forward, and one less step to take tomorrow.
Added delete posts
I didn't have a lot of time to work on this today. So I switched gears from yesterday and implemented delete posts along with tests for it. Another little step forward, and one less step to take tomorrow.
Day 30: Planning
Plan for the week
A busy day spent house remodeling so little time to jump into code today. Made a solid plan for the project for the week ahead though.
Plan for the week
A busy day spent house remodeling so little time to jump into code today. Made a solid plan for the project for the week ahead though.
Day 31: Pinning Posts
Pinning Posts
Learned new tricks
Learned about Refresh in Laravel today so that I can just pass my updated info to the database without needing to update it all. Super neat.
Pinning Posts
Learned new tricks
Learned about Refresh in Laravel today so that I can just pass my updated info to the database without needing to update it all. Super neat.
Day 32: Refactor
Refactored pinning
Refactored pinning and unpinning posts. Added additional tests. Not a huge day for feature work, but another small step.
Refactored pinning
Refactored pinning and unpinning posts. Added additional tests. Not a huge day for feature work, but another small step.
Day 33: Research
Researching docs
Not a productive day for the project (was anyone productive today?) Read some documentation that will be useful for the product though.
Researching docs
Not a productive day for the project (was anyone productive today?) Read some documentation that will be useful for the product though.
Day 34: Like Posts
Added Likes
Added likes feature and more tests. Really loving Laravel. Already excited to start more projects with it. So much fun.
Added Likes
Added likes feature and more tests. Really loving Laravel. Already excited to start more projects with it. So much fun.
Day 35: Debugging
Debugged post likes
A busy work week meant progress slowed down towards the end of the week. But tomorrow I’ve got a good chunk of time dedicated just to this in the morning, looking forward to it.
Debugged post likes
A busy work week meant progress slowed down towards the end of the week. But tomorrow I’ve got a good chunk of time dedicated just to this in the morning, looking forward to it.
Day 36: Comments
Update comments
Read comments
Delete comments
Hope
Update from yesterday - I got distracted with everything going on and forgot to update. It was such a great day yesterday!
Update comments
Read comments
Delete comments
Hope
Update from yesterday - I got distracted with everything going on and forgot to update. It was such a great day yesterday!
Day 37: Managing Comments
Owners managing comments
I made progress today on some challenging (at least for me) features. I feel like I wrote some of my best backend code yet. Although I couldn't quite get it all to work. I know what needs fixing so feeling pretty good.
Owners managing comments
I made progress today on some challenging (at least for me) features. I feel like I wrote some of my best backend code yet. Although I couldn't quite get it all to work. I know what needs fixing so feeling pretty good.
Day 38: Tutorials
Watched tutorials
Blocked by some permissions validation I watched some tutorials to unblock myself. It didn’t work But I did learn some other new tricks. We continue to validate comment owners today...
Watched tutorials
Blocked by some permissions validation I watched some tutorials to unblock myself. It didn’t work But I did learn some other new tricks. We continue to validate comment owners today...
Day 40: Still Blocked
Deleting comments
Yesterday's update: Still blocked authenticating that users AND post owners can delete comments on a post. I have my test written and it's behaving as expected, just need my controller to play nice now. Any suggestions?
Deleting comments
Yesterday's update: Still blocked authenticating that users AND post owners can delete comments on a post. I have my test written and it's behaving as expected, just need my controller to play nice now. Any suggestions?
Day 41: Research
List of users
I was still blocked on comments, so last night I made a list of potential users based on Twitter searches for competitor mentions. I’m going to draft some messages tonight and start reaching out to get feedback on what I have so far.
List of users
I was still blocked on comments, so last night I made a list of potential users based on Twitter searches for competitor mentions. I’m going to draft some messages tonight and start reaching out to get feedback on what I have so far.
Day 42: Research
Draft messages
Create Notion table
Yesterday was a busy Friday, so I couldn't do lots. Before bed, I drafted messages to send to potentials users today. I also set up my potential users in a Notion table so that I can track feedback better.
Draft messages
Create Notion table
Yesterday was a busy Friday, so I couldn't do lots. Before bed, I drafted messages to send to potentials users today. I also set up my potential users in a Notion table so that I can track feedback better.
Day 43: More Research
Contacted real people
I contacted people that I believe have used competitors and may have useful insights for me. Let's see if any reply, and if so, what they say.
Contacted real people
I contacted people that I believe have used competitors and may have useful insights for me. Let's see if any reply, and if so, what they say.
Day 44: Pin Collections
Pin Collections
Unpin Collections
My app has the concept of "Posts", and Posts can be grouped into Collections. You can pin and unpin a Post or a Collection to your profile. I just added pin and unpin Collections tonight in under an hour
Pin Collections
Unpin Collections
My app has the concept of "Posts", and Posts can be grouped into Collections. You can pin and unpin a Post or a Collection to your profile. I just added pin and unpin Collections tonight in under an hour
Day 45: Planning
Planning
It’s been one heck of a busy day, it’s too late to start anything meaningful now, so I’m just planning work for tomorrow, and writing some rough Sudo code so that I can hit the ground running.
Planning
It’s been one heck of a busy day, it’s too late to start anything meaningful now, so I’m just planning work for tomorrow, and writing some rough Sudo code so that I can hit the ground running.
Day 46: Like Posts
Built (kind of)
I just made a Like Posts feature... although... I'm not sure that I made it in the best way possible... and it has no validation for the amount of time a user can Like a Post. Time to put my mac down for the day and revisit tomorrow.
Built (kind of)
I just made a Like Posts feature... although... I'm not sure that I made it in the best way possible... and it has no validation for the amount of time a user can Like a Post. Time to put my mac down for the day and revisit tomorrow.
Day 47: Tailwind CSS
Research
Not a lot of time for dev work today. But I did watch an @adamwathan talk about how he uses @tailwindcss. Convinced me to give it a try.
Research
Not a lot of time for dev work today. But I did watch an @adamwathan talk about how he uses @tailwindcss. Convinced me to give it a try.
Day 48: PR's
Merged delete comment
Merged like/unlike posts
Merged issues that have been blocking me for days. Onto the next feature... Following.
It's been 48 days of continuously chipping away at this. Somedays only 30 mins, some days 2 hours.
Bit by bit.
Merged delete comment
Merged like/unlike posts
Merged issues that have been blocking me for days. Onto the next feature... Following.
It's been 48 days of continuously chipping away at this. Somedays only 30 mins, some days 2 hours.
Bit by bit.
Day 49: Following
Blocked Following
Tried adding a following model at lunch, where users can follow other users, Twitter-style. I got stuck and my tests keep spitting out an error. Tried to debug, but giving up for the day. Here's what I got, does this look ok?
Blocked Following
Tried adding a following model at lunch, where users can follow other users, Twitter-style. I got stuck and my tests keep spitting out an error. Tried to debug, but giving up for the day. Here's what I got, does this look ok?
Day 50: Design
High level flows
Initial designs
I attempted to learn notifications in Laravel, got too distracted, and so decided to design instead. I drafted user flows for different features, and also started to venture into visual a little. Felt good.
High level flows
Initial designs
I attempted to learn notifications in Laravel, got too distracted, and so decided to design instead. I drafted user flows for different features, and also started to venture into visual a little. Felt good.
Day 51: Design System
Design System
Spent some time putting together the beginnings of a design system. Still a ways to go, but I’ll share screenshots this week.
Also watched more @adamwathan videos on @tailwindcss. Looking forward to trying it out on this project.
Design System
Spent some time putting together the beginnings of a design system. Still a ways to go, but I’ll share screenshots this week.
Also watched more @adamwathan videos on @tailwindcss. Looking forward to trying it out on this project.
Day 52: Following
Following
Completed the Following feature today with some help. This is definitely one of those features I could launch without, but one of those that I wanted to learn and add to my bag of tricks
Following
Completed the Following feature today with some help. This is definitely one of those features I could launch without, but one of those that I wanted to learn and add to my bag of tricks
Day 53: View Follows
View list of followers
View list of following
Added views at lunch today to show a user's follower and following list. Need to refactor my naming conventions because follow, followed, following, followers... all got super confusing in my code
View list of followers
View list of following
Added views at lunch today to show a user's follower and following list. Need to refactor my naming conventions because follow, followed, following, followers... all got super confusing in my code
Day 54: Update Relationships
Posts belongsToMany Collections
Added Collection Observer
Refactored that Posts can belong to many Collections. Makes more sense that you can create a "post" once and then re-use it and add it to numerous Collections.
Posts belongsToMany Collections
Added Collection Observer
Refactored that Posts can belong to many Collections. Makes more sense that you can create a "post" once and then re-use it and add it to numerous Collections.
Day 55: View Posts
User can view pinned posts
In my app, a user can create "posts" and can pin those posts to their profile. Only the pinned posts are viewable by other users. I've just made the test, controller, route, and view. Test says it's working, I'm not so sure...
User can view pinned posts
In my app, a user can create "posts" and can pin those posts to their profile. Only the pinned posts are viewable by other users. I've just made the test, controller, route, and view. Test says it's working, I'm not so sure...
Day 56: View Pinned Posts
User can view pinned posts
Got this working with some help this morning. I was so close to getting it to work too. Definitely improving, but there's still lots to learn.
User can view pinned posts
Got this working with some help this morning. I was so close to getting it to work too. Definitely improving, but there's still lots to learn.
Day 57: View Liked Content
View Posts you've liked
View Collections you've liked
Worked on getting the backend tests and structure in place for these two features. I have a few more tests to write tomorrow. This gives me a great starting point.
View Posts you've liked
View Collections you've liked
Worked on getting the backend tests and structure in place for these two features. I have a few more tests to write tomorrow. This gives me a great starting point.
Day 58: Learning
Tutorials
Bought Laravel Nova
I reviewed last night's code and made improvements. Any free time I've had today has been spent watching tutorials and learning. I bought @brunocfalcao's, Mastering Nova. Looking forward to digging into it and using Nova.
Tutorials
Bought Laravel Nova
I reviewed last night's code and made improvements. Any free time I've had today has been spent watching tutorials and learning. I bought @brunocfalcao's, Mastering Nova. Looking forward to digging into it and using Nova.
Day 59: Notifications
Add notifications
I'm still wrapping my head around this feature, and still in the process of implementing it. Not many backend features left on my list now. Explored quite a few new concepts with this project. Can't wait to jump into front-end!
Add notifications
I'm still wrapping my head around this feature, and still in the process of implementing it. Not many backend features left on my list now. Explored quite a few new concepts with this project. Can't wait to jump into front-end!
Day 60: Collection Likes
Collection Likes
Collection Like Notification
You can group Posts into Collections, and users can like Posts, so I added the ability to like Collections too.
I also noticed that I hit 100 commits on my project today.
Slow but steady
Collection Likes
Collection Like Notification
You can group Posts into Collections, and users can like Posts, so I added the ability to like Collections too.
I also noticed that I hit 100 commits on my project today.
Slow but steady
Day 61: More Notifications
Collection Like Notification
New follower Notification
Added more notifications today. Started trying to implement notifications for when someone you follow posts a new post... but haven't managed to get it working so far.
Collection Like Notification
New follower Notification
Added more notifications today. Started trying to implement notifications for when someone you follow posts a new post... but haven't managed to get it working so far.
Day 62: New Post Notification
Still working on it
Trying to add a feature that notifies users that someone they follow just posted a new post. I have the event, listener, and notification setup, just need to understand why it’s not working now
Still working on it
Trying to add a feature that notifies users that someone they follow just posted a new post. I have the event, listener, and notification setup, just need to understand why it’s not working now
Day 63: New Post Notification
Working
Got yesterday’s feature working. User’s will receive a notification when someone they follow posts a new post. Learned more about eloquent relationships. One more task down.
Thanks for sticking with these extremely vague updates
Working
Got yesterday’s feature working. User’s will receive a notification when someone they follow posts a new post. Learned more about eloquent relationships. One more task down.
Thanks for sticking with these extremely vague updates
Day 64: Learning
More tutorials
It was a family day today, so no chance for feature development. I did sneak a couple of @DailyLaravel tutorials in whilst I was on baby duty this morning though
More tutorials
It was a family day today, so no chance for feature development. I did sneak a couple of @DailyLaravel tutorials in whilst I was on baby duty this morning though
Day 65: Learning
Notification tutorial
Custom domain research
Another great family day, so only one disrupted hour or so researching and learning new concepts. It seems that adding the ability for customers to use custom domains with my app, isn’t actually that hard
Notification tutorial
Custom domain research
Another great family day, so only one disrupted hour or so researching and learning new concepts. It seems that adding the ability for customers to use custom domains with my app, isn’t actually that hard
Day 66: Finished Notifications
New comment notifications
Install Laravel Telescope
Install Laravel Jetstream
I've wrapped up backend work on notifications for now. Installed Telescope and Jetstream. Moving closer towards front-end work.
New comment notifications
Install Laravel Telescope
Install Laravel Jetstream
I've wrapped up backend work on notifications for now. Installed Telescope and Jetstream. Moving closer towards front-end work.
Day 67: Custom Domain
Started work on allowing users to use a custom domain.
Need to decide how the custom domain feature works with Jetstream / Users/ Teams
Did you know you can link multiple domains to one local env for testing. This will be super handy.
Started work on allowing users to use a custom domain.
Need to decide how the custom domain feature works with Jetstream / Users/ Teams
Did you know you can link multiple domains to one local env for testing. This will be super handy.
Day 68: Custom Domain
Continued Development
I continued to work on this task during my lunch. Lots of new little challenges regarding verification to solve. Started with tests as usual. Lots more tests and development to go.
Continued Development
I continued to work on this task during my lunch. Lots of new little challenges regarding verification to solve. Started with tests as usual. Lots more tests and development to go.
Day 69: Stripe Integration
Verify domains must be unique
Stripe Cashier
Stripe Customer Portal
More custom domain work. Loving learning @laravel, and Jetstream. It would be cool if it had the option for a Stripe subscription built into the registration flow.
Verify domains must be unique
Stripe Cashier
Stripe Customer Portal
More custom domain work. Loving learning @laravel, and Jetstream. It would be cool if it had the option for a Stripe subscription built into the registration flow.
Day 70: Stripe Integration
Subscription middleware
Register then subscribe
Learned about Middlewares today and created one to check if the user has an active subscription or not. Learning basic stuff like this is going to open all kinds of possibilities for me.
Subscription middleware
Register then subscribe
Learned about Middlewares today and created one to check if the user has an active subscription or not. Learning basic stuff like this is going to open all kinds of possibilities for me.
Day 71: Research
Pricing research
A busy family day today, but managed to carve out an hour this morning to research pricing and give some thought as to the number of plans I’ll offer and how that relates to certain features. Then looked back and questioned it all
Pricing research
A busy family day today, but managed to carve out an hour this morning to research pricing and give some thought as to the number of plans I’ll offer and how that relates to certain features. Then looked back and questioned it all
Day 72: Update Like Count
Update Post Like Count
Attempted a little late-night tinkering. I have the test, controller, event, listener and service provider all set up. I just need to get the listener to update the count in the database. There's always tomorrow.
Update Post Like Count
Attempted a little late-night tinkering. I have the test, controller, event, listener and service provider all set up. I just need to get the listener to update the count in the database. There's always tomorrow.
Day 73: Update Like Count
Update Post Like Count
Small win. Fixed last night’s attempt at updating the Post Like Count in the database. It was a simple mistake to fix, that was very obvious with fresh eyes.
Update Post Like Count
Small win. Fixed last night’s attempt at updating the Post Like Count in the database. It was a simple mistake to fix, that was very obvious with fresh eyes.
Day 74: Subscriptions
Subscriptions
Subscription middleware
Stripe Customer Portal
Have the beginnings of a front-end. With registration that flows into select a plan and billing. Middleware that detects plans too.
Would anyone want a detailed blog post on this?
Subscriptions
Subscription middleware
Stripe Customer Portal
Have the beginnings of a front-end. With registration that flows into select a plan and billing. Middleware that detects plans too.
Would anyone want a detailed blog post on this?
Day 75: Rules
Subscription Rules
Started defining the rules for subscriptions in one clear multidimensional array. I can check to see if the user is subscribedToPlan AND rule is met. Just need to plug all my rules in now.
Hoping to start UI over the holidays.
Subscription Rules
Started defining the rules for subscriptions in one clear multidimensional array. I can check to see if the user is subscribedToPlan AND rule is met. Just need to plug all my rules in now.
Hoping to start UI over the holidays.
Day 76: Domain Verification
Domain verification
Refactoring the custom domain feature to be a redirect custom domain. Made it so that domains can be verified via a TXT token in the DNS records. Had lots of help with this one.
Domain verification
Refactoring the custom domain feature to be a redirect custom domain. Made it so that domains can be verified via a TXT token in the DNS records. Had lots of help with this one.
Day 77: Refactoring
Housekeeping
Just a little refactoring and cleaning up this evening. Wrapped up client work for 2020 today. Hoping to make more progress on this little project over the holidays. But also extremely mindful to relax too.
Housekeeping
Just a little refactoring and cleaning up this evening. Wrapped up client work for 2020 today. Hoping to make more progress on this little project over the holidays. But also extremely mindful to relax too.
Day 78: Name Edits
First and Last Names
I updated the registration and associated validation and views to use first_name and last_name, and to automatically create a name by merging the two.
First and Last Names
I updated the registration and associated validation and views to use first_name and last_name, and to automatically create a name by merging the two.
Day 79: Post Refactor
Fell asleep
Had a chilled family day, tried to sneak some work in at 11pm after watching The Christmas Chronicles (great Christmas movie), tried to finish some refactor work... fell asleep
Going to sneak work in before the day starts tomorrow.
Fell asleep
Had a chilled family day, tried to sneak some work in at 11pm after watching The Christmas Chronicles (great Christmas movie), tried to finish some refactor work... fell asleep
Going to sneak work in before the day starts tomorrow.
Day 80: Add New Post
Front end
Started work on the front end last night. Basic model saving to the database. Going to style it out over the next couple of days.
Front end
Started work on the front end last night. Basic model saving to the database. Going to style it out over the next couple of days.
Day 81: Design
Post Design
Made some real progress on designing posts and the post editor yesterday. It brought up questions around the relationships of accounts, profiles, and teams that I'd been putting off though. Need to figure that out before I can continue.
Post Design
Made some real progress on designing posts and the post editor yesterday. It brought up questions around the relationships of accounts, profiles, and teams that I'd been putting off though. Need to figure that out before I can continue.
Day 82: Has Many Profiles
User Profiles
Based on today's pivot I attempted to decouple user profile from user account, so that an account hasMany profiles. I updated, and made my models, migrations, and factories... but then boom! It all broke https://twitter.com/iamdavidhill/status/1341821390962515974?s=20
User Profiles
Based on today's pivot I attempted to decouple user profile from user account, so that an account hasMany profiles. I updated, and made my models, migrations, and factories... but then boom! It all broke https://twitter.com/iamdavidhill/status/1341821390962515974?s=20
Day 83: User Profiles
Users have many profiles
One profile is current
Posts belong to profiles
I was so close to getting this to work yesterday. I’m understanding lots more which feels good. Made a couple of small mistakes which I got some help to fix today.
Users have many profiles
One profile is current
Posts belong to profiles
I was so close to getting this to work yesterday. I’m understanding lots more which feels good. Made a couple of small mistakes which I got some help to fix today.
Day 84: Christmas
Christmas breakfast
Exchange presents
Woodland walk
Nigerian lunch
Christmas Dinner
Drinks and a movie
Not a single second was spent on my project today. It’s all about family.
Merry Christmas Everyone!
Christmas breakfast
Exchange presents
Woodland walk
Nigerian lunch
Christmas Dinner
Drinks and a movie
Not a single second was spent on my project today. It’s all about family.
Merry Christmas Everyone!
Day 85: Refactoring
Refactoring profiles
Yesterday I started refactoring all of my work so far so that everything belongs to the current profile of the auth user, not just the auth user.
Tests have really helped this process, they’ve given me complete visibility.
Refactoring profiles
Yesterday I started refactoring all of my work so far so that everything belongs to the current profile of the auth user, not just the auth user.
Tests have really helped this process, they’ve given me complete visibility.
Day 86: Refactoring
Refactoring profiles
This has been a real refactoring effort. Changing something as fundamental as accounts and profiles has set me back. Hopefully, it will make for a better user experience.
Working my way through tests to get everything working.
Refactoring profiles
This has been a real refactoring effort. Changing something as fundamental as accounts and profiles has set me back. Hopefully, it will make for a better user experience.
Working my way through tests to get everything working.
Day 87: Advanced Posts
Extra fields
Extra settings
Yesterday I was getting to grips with backend form validation based on dynamic form inputs, then traversing that data in JSON.
It feels powerful to know how to ask for data, validate it, store it, and then show it.
Extra fields
Extra settings
Yesterday I was getting to grips with backend form validation based on dynamic form inputs, then traversing that data in JSON.
It feels powerful to know how to ask for data, validate it, store it, and then show it.
Day 88: Templates
Advanced Post
Create Templates
After a fantastic family walk this afternoon, I worked on the post editor. I added design and preview settings. I think a user may want to save a post as a template to re-use it, so I started work on templates.
Advanced Post
Create Templates
After a fantastic family walk this afternoon, I worked on the post editor. I added design and preview settings. I think a user may want to save a post as a template to re-use it, so I started work on templates.
Day 89: Designs
Design System
Yesterday I spent a couple of hours revising the design language for the post editor. I had a wireframe to code from, and have basic HTML forms. But before jumping into Tailwind I wanted to have a clear solution for each of the elements.
Design System
Yesterday I spent a couple of hours revising the design language for the post editor. I had a wireframe to code from, and have basic HTML forms. But before jumping into Tailwind I wanted to have a clear solution for each of the elements.
Day 90: More Designs
Design iterations
After the family went to bed last night I spent an hour riffing on designs.
Feels like I should have a finished product after 90 "days", but I have to remind myself that they're far from full days. Working on it again tonight.
Design iterations
After the family went to bed last night I spent an hour riffing on designs.
Feels like I should have a finished product after 90 "days", but I have to remind myself that they're far from full days. Working on it again tonight.
Day 91: Post Editor
Post editor complete
I completed the designs for the post editor last night. There were more intricacies than I anticipated, with much more exploration than I probably should have given it.
Tonight, I'm working on the dashboard designs.
Post editor complete
I completed the designs for the post editor last night. There were more intricacies than I anticipated, with much more exploration than I probably should have given it.
Tonight, I'm working on the dashboard designs.
Day 92: Dashboard
Dashboard
Started working on rough Dashboard designs last night, and began questioning the number of features I had built in the backend. May decide to release with fewer features and release them over time.
Dashboard
Started working on rough Dashboard designs last night, and began questioning the number of features I had built in the backend. May decide to release with fewer features and release them over time.
Day 93: Create Collection
Select or create collection
I figured out and implemented how to select or create a collection for a post whilst creating the post itself. The CreatePostController can create multiple different model instances based on the posts settings.
Select or create collection
I figured out and implemented how to select or create a collection for a post whilst creating the post itself. The CreatePostController can create multiple different model instances based on the posts settings.
Day 94: Organised
Updating TODO‘s
I didn’t have much time last night to work on any feature stuff. I’ve been jumping around between tasks recently and so I took some time to update my todo list and prioritise it.
It’s crazy how a simple app can lead to so many tasks
Updating TODO‘s
I didn’t have much time last night to work on any feature stuff. I’ve been jumping around between tasks recently and so I took some time to update my todo list and prioritise it.
It’s crazy how a simple app can lead to so many tasks
Day 95: Tailwind
Read Docs
Bought Tailwind UI
Last night, I re-read the Tailwind docs to prepare for beginning to implement it today. Time to take my basic HTML, and sprinkle some CSS magic on it.
I also bought Tailwind UI so that I can learn best practices.
Read Docs
Bought Tailwind UI
Last night, I re-read the Tailwind docs to prepare for beginning to implement it today. Time to take my basic HTML, and sprinkle some CSS magic on it.
I also bought Tailwind UI so that I can learn best practices.
Day 96: Tailwind and Alpine
I love Tailwind CSS
I love Alpine JS
I started adding @tailwindcss and @Alpine_JS to my project this evening after my family went to bed.
It's now 2am, and I need to stop! First time using both and having so much fun learning them.
I love Tailwind CSS
I love Alpine JS
I started adding @tailwindcss and @Alpine_JS to my project this evening after my family went to bed.
It's now 2am, and I need to stop! First time using both and having so much fun learning them.
Day 97: Post Editor
Post editor reactive
Really getting to grips with Alpine JS and adding lots of reactive elements to the post editor. It's really starting to take shape now.
Post editor reactive
Really getting to grips with Alpine JS and adding lots of reactive elements to the post editor. It's really starting to take shape now.
Day 98: Post Editor
Post editor details
Calling it a day at 3.30am. Fine tuned a lot of the details today. Feeling good about things. Started making a mess of things at about 2am though. Definitely time for bed.
Post editor details
Calling it a day at 3.30am. Fine tuned a lot of the details today. Feeling good about things. Started making a mess of things at about 2am though. Definitely time for bed.
Day 99: Post Editor
Post editor details
More fine tuning of the post editor this evening. This really is the core of the app so I’m sweating the details.
Day 100 tomorrow! That’s crazy to me. Focus and consistency for the win.
Post editor details
More fine tuning of the post editor this evening. This really is the core of the app so I’m sweating the details.
Day 100 tomorrow! That’s crazy to me. Focus and consistency for the win.
Day : AJAX and JSON
WIP
I have their lists of a user's templates displayed in the editor so that they can select one to save time. Tonight I tried to make it so that if a user selects a template the editor updates with data via AJAX. I failed. We go again tomorrow...
WIP
I have their lists of a user's templates displayed in the editor so that they can select one to save time. Tonight I tried to make it so that if a user selects a template the editor updates with data via AJAX. I failed. We go again tomorrow...
Day 101: Nightmare with NPM
Builds failing
I spent hours this evening trying to figure out why my "npm run dev" commands were failing. I figured it out by creating a new branch and copying suspects in line-by-line. Turns out I messed up Tailwind Forms and Colors config.
Builds failing
I spent hours this evening trying to figure out why my "npm run dev" commands were failing. I figured it out by creating a new branch and copying suspects in line-by-line. Turns out I messed up Tailwind Forms and Colors config.
Day 102: Post Editor
Fine-tuning
Spent the last couple of hours fine-tuning the post editor. Added the beginnings of a custom made icon-picker, and delete/ reset functions for some fields.
Used the group-hover class in Tailwind for this which worked neatly.
Fine-tuning
Spent the last couple of hours fine-tuning the post editor. Added the beginnings of a custom made icon-picker, and delete/ reset functions for some fields.
Used the group-hover class in Tailwind for this which worked neatly.
Day 103: Icon Picker
Custom Icon Picker
Spent the last two hours trying to figure out why 'x-for' wouldn't work for my objects. Then stumbled upon @hugo__df's awesome writeup. This should help me, but I'm too tired to figure it out now. https://codewithhugo.com/alpinejs-x-for-with-objects/
Custom Icon Picker
Spent the last two hours trying to figure out why 'x-for' wouldn't work for my objects. Then stumbled upon @hugo__df's awesome writeup. This should help me, but I'm too tired to figure it out now. https://codewithhugo.com/alpinejs-x-for-with-objects/
Day 104: Icon Picker
Still trying to make it work
After many hours of trying I can't get one little bit of my picker to work with @Alpine_JS. I need to improve my JS.
Does anyone know how to set the class of the span if the radio is checked? https://codepen.io/iamdavidhill/pen/gOwZxGj
Still trying to make it work
After many hours of trying I can't get one little bit of my picker to work with @Alpine_JS. I need to improve my JS.
Does anyone know how to set the class of the span if the radio is checked? https://codepen.io/iamdavidhill/pen/gOwZxGj
Day 105: Icon Picker
Close to finishing
Almost wrapped this little feature up. It’s taken longer than I thought. Learned some neat tricks though thanks to @hugo__df and @ibrahimmumcu.
Added some other little interactions to the editor, mainly conditional classes.
Close to finishing
Almost wrapped this little feature up. It’s taken longer than I thought. Learned some neat tricks though thanks to @hugo__df and @ibrahimmumcu.
Added some other little interactions to the editor, mainly conditional classes.
Day 106: Icon Picker and More
Icon Picker
Conditional max char limits
Lots of UI updates
Spent a couple of hours working my way through my todo list before bed. Tomorrow evening I'll tackle the Style component of the editor, set colours, etc
Icon Picker
Conditional max char limits
Lots of UI updates
Spent a couple of hours working my way through my todo list before bed. Tomorrow evening I'll tackle the Style component of the editor, set colours, etc
Day 107: Design Tab
Design Tab
Spent a couple of hours redesigning the design tab and implementing it this eve. I'm starting to move faster, repetition is certainly playing an important factor. I should have this tab wrapped up after another couple of hours tomorrow eve.
Design Tab
Spent a couple of hours redesigning the design tab and implementing it this eve. I'm starting to move faster, repetition is certainly playing an important factor. I should have this tab wrapped up after another couple of hours tomorrow eve.
Day 108: Switching Classes
Color Swatches
Have been trying to figure out how to pass classes from an array to the view, whilst also passing conditions to those classes using @Alpine_JS. After much head-scratching this answer saved me... https://stackoverflow.com/questions/65012738/multiple-class-bindings-in-alpinejs
Color Swatches
Have been trying to figure out how to pass classes from an array to the view, whilst also passing conditions to those classes using @Alpine_JS. After much head-scratching this answer saved me... https://stackoverflow.com/questions/65012738/multiple-class-bindings-in-alpinejs
Day 109: Design Tab
Design Tab semi-working
Spent a couple of hours tonight making the design tab functional. So many tiny details to account for.
Nice work today 'Merica! Go Joe!
Design Tab semi-working
Spent a couple of hours tonight making the design tab functional. So many tiny details to account for.
Nice work today 'Merica! Go Joe!
Day 110: Small Factor
Failed refactor
I promised myself that I'd try and do at least one constructive thing a day on this. Try as I might for the last 45 mins, I'm just going in circles.
Learning my lesson from last week... walking away and coming back to it tomorrow.
Failed refactor
I promised myself that I'd try and do at least one constructive thing a day on this. Try as I might for the last 45 mins, I'm just going in circles.
Learning my lesson from last week... walking away and coming back to it tomorrow.
Day 111: Design Tab
Edit Design Details
It's 2.45am and it's time to call it a night. So many great break throughs this evening. Definitely time for a big refactor though, I've been doing everything in the same file for the sake of ease. I need to start using templates
Edit Design Details
It's 2.45am and it's time to call it a night. So many great break throughs this evening. Definitely time for a big refactor though, I've been doing everything in the same file for the sake of ease. I need to start using templates
Day 112: Design Tab
95% Complete
It's 3am and the Design tab is 95% complete. Tomorrow I'll finish it and hopefully finish the settings tab too.
I know this is all still wishy washy, and 112 days is looong. But this daily commitment is real. Improving every day.
95% Complete
It's 3am and the Design tab is 95% complete. Tomorrow I'll finish it and hopefully finish the settings tab too.
I know this is all still wishy washy, and 112 days is looong. But this daily commitment is real. Improving every day.
Day 113: Design Tab
96% Complete
I went around in a few circles this evening. Implemented things that I should have designed first. It works, but I can already see better ways to do it, so I jumped back into Figma.
96% Complete
I went around in a few circles this evening. Implemented things that I should have designed first. It works, but I can already see better ways to do it, so I jumped back into Figma.
Day 114: Design Details
Visual Details
I went back to Figma last night for an hour to solve some niggling design details around "Add Image or Upload URL", as well as some other things. In a good place to wrap up those changes tonight after work and family duties.
Visual Details
I went back to Figma last night for an hour to solve some niggling design details around "Add Image or Upload URL", as well as some other things. In a good place to wrap up those changes tonight after work and family duties.
Day 115: Design Tab
Niggling details
Designing and building great software takes time and effort. The designs I worked on last night didn’t feel right this evening. So I stayed in design mode to get them working.
Another hour clocked up.
Niggling details
Designing and building great software takes time and effort. The designs I worked on last night didn’t feel right this evening. So I stayed in design mode to get them working.
Another hour clocked up.
Day 116: Font Selector
Select a custom font
I decided to allow users to choose from 8 pre-selected fonts. I'm trying to give users the ability to customise their posts, but without so much control that they look awful. I need to get feedback on this from early testers.
Select a custom font
I decided to allow users to choose from 8 pre-selected fonts. I'm trying to give users the ability to customise their posts, but without so much control that they look awful. I need to get feedback on this from early testers.
Day 117: Theme Switcher
Switch Theme Dropdown
Made a neat little theme switcher dropdown. Being able to move from Figma to code and implement it in under an hour is such an awesome feeling. @tailwindcss and @Alpine_JS have changed the way I work. Simply amazing.
Switch Theme Dropdown
Made a neat little theme switcher dropdown. Being able to move from Figma to code and implement it in under an hour is such an awesome feeling. @tailwindcss and @Alpine_JS have changed the way I work. Simply amazing.
Day 118: Overlay Editor
Show/hide overlay
Apply theme color
Didn't have the energy to do an awful lot tonight. I added a little overlay editor. Quick 30 mins of work. Moved the needle forward a nudge. Hoping to push the whole project forward lots this weekend.
Show/hide overlay
Apply theme color
Didn't have the energy to do an awful lot tonight. I added a little overlay editor. Quick 30 mins of work. Moved the needle forward a nudge. Hoping to push the whole project forward lots this weekend.
Day 119: Bug Fixes
Overlay bug fixes
Footer bug fixes
I almost skipped today, but @AndrewFerguson kept me on track. I promised myself I'd do one thing every day to move this project forward, so I filed some bug fixes before bed.
Full day on this tomorrow, can't wait!
Overlay bug fixes
Footer bug fixes
I almost skipped today, but @AndrewFerguson kept me on track. I promised myself I'd do one thing every day to move this project forward, so I filed some bug fixes before bed.
Full day on this tomorrow, can't wait!
Day 120: Improvements
Themes
Editor panel validation
Overlay color switcher
Today was a really great day for my project. Added some cool features. So many small details and responsive issues to catch. Finishing early for today... 12.30am
We go again tomorrow.
Themes
Editor panel validation
Overlay color switcher
Today was a really great day for my project. Added some cool features. So many small details and responsive issues to catch. Finishing early for today... 12.30am
We go again tomorrow.
Day 121: Settings
Bug fix
Settings tab
Settings sections
Today was a long day, I had no time for my project. I've just spent 30 mins before bed putting some markup in place so that tomorrow night after work I can connect things up quicker. Another nudge forward.
Bug fix
Settings tab
Settings sections
Today was a long day, I had no time for my project. I've just spent 30 mins before bed putting some markup in place so that tomorrow night after work I can connect things up quicker. Another nudge forward.
Day 122: Settings
Added settings content
Settings validation
Added content to each of the sections. Validation still left to do, but that will have to wait for tomorrow night. I'm finished for the day.
One less hour to do. One step closer to finishing.
Added settings content
Settings validation
Added content to each of the sections. Validation still left to do, but that will have to wait for tomorrow night. I'm finished for the day.
One less hour to do. One step closer to finishing.
Day 123: Settings
Settings validation
Other settings stuff
It's 2am, I'm calling it a day. I started passing Blade components through Alpine expressions tonight which was fun to try.
Still working within one file I definitely need to refactor this into templates.
Settings validation
Other settings stuff
It's 2am, I'm calling it a day. I started passing Blade components through Alpine expressions tonight which was fun to try.
Still working within one file I definitely need to refactor this into templates.
Day 124: Visual Tweaks
Tweaks here and there
Honestly not the most productive 45 mins tonight. I made a few edits. Went back and forth on some decisions and wasted a bunch of time. Going to think about a solution whilst I sleep
Tweaks here and there
Honestly not the most productive 45 mins tonight. I made a few edits. Went back and forth on some decisions and wasted a bunch of time. Going to think about a solution whilst I sleep
Day 125: Upload / URL Switcher
Still a WIP
A user could previously upload an image or a video, but I also wanted to support adding an image or video URL, so I added that in. Needs a little touch up tomorrow, but it's working.
Still a WIP
A user could previously upload an image or a video, but I also wanted to support adding an image or video URL, so I added that in. Needs a little touch up tomorrow, but it's working.
Day 126: Upload / URL Switcher
Still a WIP
This feature shouldn’t have taken as long as it has, but I really only managed to spend an hour on it this morning. The rest of my day was out of my hands. Will hopefully wrap it up tomorrow. Hoped for more progress this weekend.
Still a WIP
This feature shouldn’t have taken as long as it has, but I really only managed to spend an hour on it this morning. The rest of my day was out of my hands. Will hopefully wrap it up tomorrow. Hoped for more progress this weekend.
Day 127: Fiddled
Fiddled with things
Couldn't find my groove today. Blocked on lots of little things because of NPM giving me a headache. Need to resolve that this week so that I wrap up this damned editor. By the far the trickiest thing I've ever coded. Having fun still.
Fiddled with things
Couldn't find my groove today. Blocked on lots of little things because of NPM giving me a headache. Need to resolve that this week so that I wrap up this damned editor. By the far the trickiest thing I've ever coded. Having fun still.
Day 128: Overlays
Overlay Editor
Tried to work on some small tasks tonight. Got completely distracted by Bitcoin. Wild.
Overlay Editor
Tried to work on some small tasks tonight. Got completely distracted by Bitcoin. Wild.
Day 129: Overlays
Overlay Editor
2am. Calling it a day. Almost finished what I was working on last night. Figured out lots of little quirks. Just one tiny detail left for tomorrow night. Happy with how this feature is turning out.
Overlay Editor
2am. Calling it a day. Almost finished what I was working on last night. Figured out lots of little quirks. Just one tiny detail left for tomorrow night. Happy with how this feature is turning out.
Day 130: Fixing NPM
@dave_stewart helped me some NPM issues
Figuring out JS libraries
Does anyone have a better solution to this problem below? It's not working and I think there must be a better way than a nested ternary operator.
@dave_stewart helped me some NPM issues
Figuring out JS libraries
Does anyone have a better solution to this problem below? It's not working and I think there must be a better way than a nested ternary operator.
Day 131: Style Fixes
Fixing Tailwind
Recent NPM issues were related to Tailwind setup using v2, UI, and Forms. Turns out you don't need UI with v2, and so that broke some styling when I removed it. So tonight has just been fixing styles. Slowly creeping forward.
Fixing Tailwind
Recent NPM issues were related to Tailwind setup using v2, UI, and Forms. Turns out you don't need UI with v2, and so that broke some styling when I removed it. So tonight has just been fixing styles. Slowly creeping forward.
Day 132: Style Fixes
Fixing Tailwind
No major updates today. Grabbed 30 mins before bed to fix a few styling issues. That’s all I could manage today, better than nothing. The weekend brings another chance to move things along faster
Fixing Tailwind
No major updates today. Grabbed 30 mins before bed to fix a few styling issues. That’s all I could manage today, better than nothing. The weekend brings another chance to move things along faster
Day 133: Style Fixes
Still Fixing Tailwind
No major updates today, a busy day parenting. Managed to sneak in an hour of fixing Tailwind issues at the very end of the day. The never-ending project continues to be never-ending
Still Fixing Tailwind
No major updates today, a busy day parenting. Managed to sneak in an hour of fixing Tailwind issues at the very end of the day. The never-ending project continues to be never-ending
Day 134: Style Fixes
Fixing Tailwind
Adding more colour options
Tonight was quite productive. Made lots of fixes and improvements to the editor. Hoping to have the editor finished by next Sunday.
That’s the goal
Fixing Tailwind
Adding more colour options
Tonight was quite productive. Made lots of fixes and improvements to the editor. Hoping to have the editor finished by next Sunday.
That’s the goal
Day 135: Styles Fixed
Settings tab style fixes
Worked on the last of the CSS fixes tonight. Back on track. Too tired for any kind of update
Settings tab style fixes
Worked on the last of the CSS fixes tonight. Back on track. Too tired for any kind of update
Day 136: Icon Picker
Added icons to the icon picker
Booked demo
Added icons to the icon picker instead of dummy data. Not a lot this eve, but one less thing to do tomorrow night.
Added icons to the icon picker
Booked demo
Added icons to the icon picker instead of dummy data. Not a lot this eve, but one less thing to do tomorrow night.
Day 137: SVGs
Refactored icon picker
SVGs for themes
SVGs for position editor
@hugo__df gave me a neat tip to use x-html to insert SVG's from an array, rather than use SVGs as background images. The result is awesome and allowed me to close some tickets. Boom
Refactored icon picker
SVGs for themes
SVGs for position editor
@hugo__df gave me a neat tip to use x-html to insert SVG's from an array, rather than use SVGs as background images. The result is awesome and allowed me to close some tickets. Boom
Day 138: Responsiveness
Still fixing responsive issues
Spent a couple of hours fixing low hanging responsive fruit. This product definitely has the trickiest amount of responsive considerations that I’ve ever made. All fun challenges though.
Go Mars!
Still fixing responsive issues
Spent a couple of hours fixing low hanging responsive fruit. This product definitely has the trickiest amount of responsive considerations that I’ve ever made. All fun challenges though.
Go Mars!
Day 139: Form Submission
Form submission WIP
Worked on things for about 4 hours tonight. Added a bunch of improvements using ‘nextTick’, thanks to @ryatkins for help with that. Working on the form submission experience. Calling it a day at 2am.
Form submission WIP
Worked on things for about 4 hours tonight. Added a bunch of improvements using ‘nextTick’, thanks to @ryatkins for help with that. Working on the form submission experience. Calling it a day at 2am.
Day 140: Resizing Issues
Refactoring
Spent about 3 hours refactoring some resizing issues. Had my wife give it a go... mixed results Some useful feedback and low hanging fruit which I could add in and fix real quick.
Refactoring
Spent about 3 hours refactoring some resizing issues. Had my wife give it a go... mixed results Some useful feedback and low hanging fruit which I could add in and fix real quick.
Day 141: Theme Issues
Theme styling
There are so many fiddly little UX and UI things to fix. Spent all evening on it. I did not think I’d still be on this editor at day 141. When I finish this and release it please say something nice, even if you don’t mean it
Theme styling
There are so many fiddly little UX and UI things to fix. Spent all evening on it. I did not think I’d still be on this editor at day 141. When I finish this and release it please say something nice, even if you don’t mean it
Day 142: Collections
Select or add a collection
Didn't manage to wrap this feature up tonight as I was too distracted. Will need to wrap it up tomorrow night. There were a couple more states than I anticipated.
Select or add a collection
Didn't manage to wrap this feature up tonight as I was too distracted. Will need to wrap it up tomorrow night. There were a couple more states than I anticipated.
Day 143: Collections
Select or add a collection
Wrapped up this feature and tweaked a bunch of other things tonight. I'm going to work on integrating the editor with the database again next, I lost that ability when I worked on styling the frontend.
Select or add a collection
Wrapped up this feature and tweaked a bunch of other things tonight. I'm going to work on integrating the editor with the database again next, I lost that ability when I worked on styling the frontend.
Day 144: Meh
A few error states
Upgrade states
Didn't do a massive amount tonight. Added a couple of error states. Fixed a couple of bugs. Added Upgrade badges for when a user's account doesn't allow for a feature.
A few error states
Upgrade states
Didn't do a massive amount tonight. Added a couple of error states. Fixed a couple of bugs. Added Upgrade badges for when a user's account doesn't allow for a feature.
Day 145: Preview Controls
Still a WIP
Started adding the ability to change the preview. This is going to be a responsive nightmare, I already know it. But, I did get to a place i'm happy with tonight. So I'm knocking off early.
Still a WIP
Started adding the ability to change the preview. This is going to be a responsive nightmare, I already know it. But, I did get to a place i'm happy with tonight. So I'm knocking off early.
Day 146: Preview Controls
WIP
User can click desktop, tablet and mobile views and the view adapts. Need to work out what happens when that browser is smaller than the device you’re on. Eg. How do I view a desktop preview on mobile. Assuming it’s a viewport setting.
WIP
User can click desktop, tablet and mobile views and the view adapts. Need to work out what happens when that browser is smaller than the device you’re on. Eg. How do I view a desktop preview on mobile. Assuming it’s a viewport setting.
Day 147: Preview Controls
Finished Preview Controls
Wrapped up the preview controls and tweaked some layout issues this evening. Said I’d go to bed at 12am... here I am still working at 2.30am again.
I’m getting so drunk when I finish this bloody thing
Finished Preview Controls
Wrapped up the preview controls and tweaked some layout issues this evening. Said I’d go to bed at 12am... here I am still working at 2.30am again.
I’m getting so drunk when I finish this bloody thing
Day 148: Preview Controls
Responsive Preview Controls
Had to add fake-responsive classes to my previews to fake what breaks points would look like. It's been an interesting challenge. I can't say that I've solved for it in the cleanest way, but it's working, so
Responsive Preview Controls
Had to add fake-responsive classes to my previews to fake what breaks points would look like. It's been an interesting challenge. I can't say that I've solved for it in the cleanest way, but it's working, so
Day 149: Responsive and Bugs
Fixed overlay bug
Responsive WIP
Still working on responsive bugs. So many edge cases to account for. Happy with some of the bugs I fixed tonight. Another 1% better tonight.
Fixed overlay bug
Responsive WIP
Still working on responsive bugs. So many edge cases to account for. Happy with some of the bugs I fixed tonight. Another 1% better tonight.
Day 150: Responsive Bugs
Responsive preview bugs zapped
Finished what I needed to do fairly quickly tonight. The responsive preview feature works nicely, even id the javascript is ugly. I could start on a new task, but instead I'm heading for my earliest night in weeks
Responsive preview bugs zapped
Finished what I needed to do fairly quickly tonight. The responsive preview feature works nicely, even id the javascript is ugly. I could start on a new task, but instead I'm heading for my earliest night in weeks
Day 151: Small Refactors
Small refactors
By the time I got to sit down this evening it was 11.45pm, I've shuffled some things around, cleaned up some bits, swapped out some icons and added a back button. Nothing impressive, but 1% better than last night.
Small refactors
By the time I got to sit down this evening it was 11.45pm, I've shuffled some things around, cleaned up some bits, swapped out some icons and added a back button. Nothing impressive, but 1% better than last night.
Day 152: Small Refactors
Small refactors
More teeny tiny tweaks because I could only start late tonight. Cleaned up the way a user can select or create a collection (category). Getting these small tasks out of the the way so I can tackle bigger tasks at the weekend.
Small refactors
More teeny tiny tweaks because I could only start late tonight. Cleaned up the way a user can select or create a collection (category). Getting these small tasks out of the the way so I can tackle bigger tasks at the weekend.
Day 153: Livewire
Watched tutorials
Refactor
Project plan
Watched tutorials in preparation for next chunk of work. Refactored a small file upload feature. Made a todo list for the weekend... doubt I'll be able to finish half of it.
Watched tutorials
Refactor
Project plan
Watched tutorials in preparation for next chunk of work. Refactored a small file upload feature. Made a todo list for the weekend... doubt I'll be able to finish half of it.
Day 154: Submit Form
Form submission
Started trying to get my editor to submit all the data to the database again. I used to have this working when my editor was static and unstyled, it's stopped working since I made certain elements dynamic though.
Form submission
Started trying to get my editor to submit all the data to the database again. I used to have this working when my editor was static and unstyled, it's stopped working since I made certain elements dynamic though.
Day 155: Submit Form
Form submission
Still trying to get my form submission, and it’s server side validation to work again. Struggling due to dynamic inputs, tiredness, and that I’ve forgotten half of my Laravel learnings from last year
What my project feels like...
Form submission
Still trying to get my form submission, and it’s server side validation to work again. Struggling due to dynamic inputs, tiredness, and that I’ve forgotten half of my Laravel learnings from last year
What my project feels like...
Day 156: Submit Form
Validation
Made a mess of getting this to work. So I switched tasks to tweaking visuals... although that didn’t move the needle forward at all.
Frustrated this evening, hitting a dip, so I’m setting a deadline... day 200... I’ll have beta users.
Validation
Made a mess of getting this to work. So I switched tasks to tweaking visuals... although that didn’t move the needle forward at all.
Frustrated this evening, hitting a dip, so I’m setting a deadline... day 200... I’ll have beta users.
Day 157: Looong Day
Built one baby's cot
Re-prioritised features
After a long day of client work and Dad duties I didn't have the energy to be beaten by code today. So I re-evaluated my feature list, keeping the essentials, and removing the non-essentials.
Built one baby's cot
Re-prioritised features
After a long day of client work and Dad duties I didn't have the energy to be beaten by code today. So I re-evaluated my feature list, keeping the essentials, and removing the non-essentials.
Day 158: Like Counter
Like Post
Added a little like counter. Toggles Like icons, will add an animation later. Currently set so that only registered users can like an item, but thinking of opening this up so that anyone can like. Need to think this through in more detail.
Like Post
Added a little like counter. Toggles Like icons, will add an animation later. Currently set so that only registered users can like an item, but thinking of opening this up so that anyone can like. Need to think this through in more detail.
Day 159: Errors
Styled errors
I hardcoded all the error messages and their styles for the editor. Just need to get validation and old values working properly and it should all come together.
Progress has been slow this week. 41 days to get this in the hands of testers.
Styled errors
I hardcoded all the error messages and their styles for the editor. Just need to get validation and old values working properly and it should all come together.
Progress has been slow this week. 41 days to get this in the hands of testers.
Day 160: Research
Pricing
Landing
I did not have the energy for any code this evening, so I updated my pricing plan notes, researched competitors, and browsed inspiration. I’m going to try and do as much design work as I can this weekend so I have tasks for the week.
Pricing
Landing
I did not have the energy for any code this evening, so I updated my pricing plan notes, researched competitors, and browsed inspiration. I’m going to try and do as much design work as I can this weekend so I have tasks for the week.
Day 161: Dashboard
Wireframes
Wireframe exploration for the dashboard. Trying to keep things as simple and as clean as possible. Also trying to make a big table of data not look like a big table of data. Whilst it looks simple, the dev behind it will be more challenging.
Wireframes
Wireframe exploration for the dashboard. Trying to keep things as simple and as clean as possible. Also trying to make a big table of data not look like a big table of data. Whilst it looks simple, the dev behind it will be more challenging.
Day 162: Dashboard
Wireframes
Spent the majority of my day looking after our son whilst my wife worked, and celebrating Mother’s Day afterwards. I squeezed an hour of design in at the end of the day. Continuing to strip out features in order to get to market quicker.
Wireframes
Spent the majority of my day looking after our son whilst my wife worked, and celebrating Mother’s Day afterwards. I squeezed an hour of design in at the end of the day. Continuing to strip out features in order to get to market quicker.
Day 163: Dashboard
Designs
Continued with design work tonight, still not happy with the flows that I’ve put together. I know I’m fussing over this particular interaction, but I believe it to be one of the most important parts of the app, so it’s worth getting right.
Designs
Continued with design work tonight, still not happy with the flows that I’ve put together. I know I’m fussing over this particular interaction, but I believe it to be one of the most important parts of the app, so it’s worth getting right.
Day 164: Validation
Code cleanup
Old Values
Adding Validation
Adding AJAX
Received help today with getting Laravel's old values function to work with my Alpine components... turns out you can use Blade components in JS within a Blade file
Code cleanup
Old Values
Adding Validation
Adding AJAX
Received help today with getting Laravel's old values function to work with my Alpine components... turns out you can use Blade components in JS within a Blade file
Day 165: Validation
Cleanup
Adding Validation
Adding AJAX
Jumped back into writing Laravel Tests this evening. I'm so rusty after having not wrote any tests since December! They're not all passing yet so I've definitely got some work to do tomorrow night.
Cleanup
Adding Validation
Adding AJAX
Jumped back into writing Laravel Tests this evening. I'm so rusty after having not wrote any tests since December! They're not all passing yet so I've definitely got some work to do tomorrow night.
Day 166: Validation
Validation
AJAX
Select Template
Realised I didn't need to fetch template data using Alpine, I could just pass a Laravel Collection to a JS array and access the data I needed. Learning little tricks each day.
Validation
AJAX
Select Template
Realised I didn't need to fetch template data using Alpine, I could just pass a Laravel Collection to a JS array and access the data I needed. Learning little tricks each day.
Day 167: UX
Create Post UX
Success UX
Share
I’ve been so focussed on the editor, that tonight I started focussing on the UX design before and after the editor. Tried to challenge all of my preconceptions. Definitely a bit of over-thinking going on
Create Post UX
Success UX
Share
I’ve been so focussed on the editor, that tonight I started focussing on the UX design before and after the editor. Tried to challenge all of my preconceptions. Definitely a bit of over-thinking going on
Day 168: Sketches
Sketching flows
I sat down this evening after a long day, opened my laptop, then realised I’d left my charger in the office yesterday. Not wanting to skip a day, I reached for paper and pen, and sketched out the flows I’ve been thinking through
Sketching flows
I sat down this evening after a long day, opened my laptop, then realised I’d left my charger in the office yesterday. Not wanting to skip a day, I reached for paper and pen, and sketched out the flows I’ve been thinking through
Day 169: Visuals
Dashboard Visuals
Spent the day walking in the woods near our house with my wife and son, but I did pop back to the office to pickup my laptop charger, and spent an hour working up my sketches into visual designs.
Big development push coming this week.
Dashboard Visuals
Spent the day walking in the woods near our house with my wife and son, but I did pop back to the office to pickup my laptop charger, and spent an hour working up my sketches into visual designs.
Big development push coming this week.
Day 170: Visuals
Dashboard Visuals
Axios
Wrapped up the dashboard design tonight, going to code the front end tomorrow. Watched some Axios tutorials, going to try and get that working too this week.
30 days until Beta users... there’s a lot left to do.
Dashboard Visuals
Axios
Wrapped up the dashboard design tonight, going to code the front end tomorrow. Watched some Axios tutorials, going to try and get that working too this week.
30 days until Beta users... there’s a lot left to do.
Day 171: Axios
Dashboard
Validation
Validation still giving me a headache. Refactored my validation rules in the backend, added alternative strings for errors, still working on getting Axios to work.
Starting tinkering on the front end of the dashboard.
Dashboard
Validation
Validation still giving me a headache. Refactored my validation rules in the backend, added alternative strings for errors, still working on getting Axios to work.
Starting tinkering on the front end of the dashboard.
Day 172: Vali-stupid-ation
Validation
Still working on making validation work for the editor. Not making as much progress as I would like this week.
Still showing up and trying though.
Validation
Still working on making validation work for the editor. Not making as much progress as I would like this week.
Still showing up and trying though.
Day 173: Vali-bloody-ation
Validation
Validation is now working thanks to @abdelilahlbardi. There is no way I would have figured this out on my own. It wasn’t a straight forward Laravel implementation and needed a little bit of magic
Thank you Abdelilah!
Validation
Validation is now working thanks to @abdelilahlbardi. There is no way I would have figured this out on my own. It wasn’t a straight forward Laravel implementation and needed a little bit of magic
Thank you Abdelilah!
Day 174: Vue Tutorials
Watched Vue JS Tuts
Intrigued by Vue. At this point I’m unsure if it will speed me up or slow me down. Probably slow me down. I should just finish what I’ve started
Watched Vue JS Tuts
Intrigued by Vue. At this point I’m unsure if it will speed me up or slow me down. Probably slow me down. I should just finish what I’ve started
Day 175: Validation is Back
Error Messages
Validation is back Still getting error messages to show for the dynamic fields. Simple inputs are showing but looping through arrays of dynamic is tripping me up.
Error Messages
Validation is back Still getting error messages to show for the dynamic fields. Simple inputs are showing but looping through arrays of dynamic is tripping me up.
Day 176: Validation
Error Messages
Reverted back to some previous code that seems to have solved my conditional validation rules. But having trouble displaying Axios error messaged for nested arrays.
Developing can be extremely frustrating at times.
Error Messages
Reverted back to some previous code that seems to have solved my conditional validation rules. But having trouble displaying Axios error messaged for nested arrays.
Developing can be extremely frustrating at times.
Day 177: Errors
Error messages
Dynamic error messages
I won! I figured out my error message problem after a little debug help session with @dave_stewart. Learned more about optional chaining operators, which was key in helping solve this problem.
Error messages
Dynamic error messages
I won! I figured out my error message problem after a little debug help session with @dave_stewart. Learned more about optional chaining operators, which was key in helping solve this problem.
Day 178: Errors
Dynamic error messages
So so close to wrapping this up. Could have done it tonight, but have had a really long day and so the sweet feeling of putting this one to bed will have to wait until tomorrow.
Dynamic error messages
So so close to wrapping this up. Could have done it tonight, but have had a really long day and so the sweet feeling of putting this one to bed will have to wait until tomorrow.
Day 179: Errors Finished
Validation
Error messages
Woo! Finally wrapped up displaying errors! I have a little trickery to implement so that error messages disappear when a user starts to correct the error (before form submission). Chuffed to have this part working.
Validation
Error messages
Woo! Finally wrapped up displaying errors! I have a little trickery to implement so that error messages disappear when a user starts to correct the error (before form submission). Chuffed to have this part working.
Day 180: Flexbox
Flexbox issue
Spent two hours tonight trying to get a Flexbox issue to work. 90% of the way to fixing it. I just know I’ll wake up in the morning and the answer will hit me in the face.
20 days until beta users
Flexbox issue
Spent two hours tonight trying to get a Flexbox issue to work. 90% of the way to fixing it. I just know I’ll wake up in the morning and the answer will hit me in the face.
20 days until beta users
Day 181: 201 Success
Flexbox issue
First 201
Validation bugs
Worked so late last night and got distracted by the the baby that I forgot to post an update. Shout out to @abdelilahlbardi who jumped on a call with me at 11pm on a Friday night to help troubleshoot.
Flexbox issue
First 201
Validation bugs
Worked so late last night and got distracted by the the baby that I forgot to post an update. Shout out to @abdelilahlbardi who jumped on a call with me at 11pm on a Friday night to help troubleshoot.
Day 182: JSON Formatting
Formatting
Update for yesterday, fell asleep as I was working last night. Working on formatting my JSON response so that only the data I want gets saved and bad guys can’t just submit anything to the DB.
Hoping to finish this task tonight.
Formatting
Update for yesterday, fell asleep as I was working last night. Working on formatting my JSON response so that only the data I want gets saved and bad guys can’t just submit anything to the DB.
Hoping to finish this task tonight.
Day 183: JSON Formatting
JSON formatting
Sounds weird, but I just love JSON. Still working on the backend formatting of it for the database. Managed to sit down at 10.30pm and give it 90 minutes - interrupted a few times by the baby. Still more to do tomorrow night.
JSON formatting
Sounds weird, but I just love JSON. Still working on the backend formatting of it for the database. Managed to sit down at 10.30pm and give it 90 minutes - interrupted a few times by the baby. Still more to do tomorrow night.
Day 184: Image Store
Image Store
Saved Templates
Laravel’s image store seems to have broken when using Axios. Trying to figure that out. I have a buggy version of saved templates working. Feels good to finally have it working (sort of). My bug fixing is improving!
Image Store
Saved Templates
Laravel’s image store seems to have broken when using Axios. Trying to figure that out. I have a buggy version of saved templates working. Feels good to finally have it working (sort of). My bug fixing is improving!
Day 185: Success (kinda)
Saved Templates
Success screen
Still putting out fires on the saved templates. Got my success screen working when a user creates a post. Just need to get the URL passed back and displayed now.
Saved Templates
Success screen
Still putting out fires on the saved templates. Got my success screen working when a user creates a post. Just need to get the URL passed back and displayed now.
Day 186: Bug Fixes
Saved Templates
Still working on bug fixes for saved templates. I almost have everything working for this feature. There are some nice to haves that I've made a note of but I need to park these for later.
Two weeks until my beta user deadline!
Saved Templates
Still working on bug fixes for saved templates. I almost have everything working for this feature. There are some nice to haves that I've made a note of but I need to park these for later.
Two weeks until my beta user deadline!
Day 187: Bug Fixed!
Fixed templates bug
Added share options
I've been trying to fix a bug for 3 days, figured out where it was, and kind of why it was breaking but couldn't figure out how to fix it. Then @abdelilahlbardi came in and fixed it in 30 mins! Hero.
Fixed templates bug
Added share options
I've been trying to fix a bug for 3 days, figured out where it was, and kind of why it was breaking but couldn't figure out how to fix it. Then @abdelilahlbardi came in and fixed it in 30 mins! Hero.
Day 188: Saving Files
Fixed saving files
Small bug fixes
Fixed a bug for saving files that are uploaded this evening. Made some other small bug fixes too. I need to move on to viewing posts now. I should be able to recycle lots of the editor code.
Fixed saving files
Small bug fixes
Fixed a bug for saving files that are uploaded this evening. Made some other small bug fixes too. I need to move on to viewing posts now. I should be able to recycle lots of the editor code.
Day 189: View Posts
Editor bug fixes
View Post
Laravel converts empty strings to null by default, which broke some of my editor. I fixed it and moved to coding viewing posts.
Feels good to have a change of scene and to not work on the editor.
Editor bug fixes
View Post
Laravel converts empty strings to null by default, which broke some of my editor. I fixed it and moved to coding viewing posts.
Feels good to have a change of scene and to not work on the editor.
Day 190: Copy Link
Investigated view post
Copy link
Investigated if my editor and view post be controlled by the same JSON so that they can use the same codebase. Ongoing.
Made a custom "Copy Link" feature using:
document.execCommand("copy");
10 days to Beta!
Investigated view post
Copy link
Investigated if my editor and view post be controlled by the same JSON so that they can use the same codebase. Ongoing.
Made a custom "Copy Link" feature using:
document.execCommand("copy");
10 days to Beta!
Day 191: https Check
Check for https://
Timeout on copied links
I spent far too long checking for "https://" on entered URLs. Still not fully working. And then I spent far too long getting a timeout function to work... turns out all I needed was to read the docs
Check for https://
Timeout on copied links
I spent far too long checking for "https://" on entered URLs. Still not fully working. And then I spent far too long getting a timeout function to work... turns out all I needed was to read the docs
Day 192: Custom Domain
Custom Domain research
https:// fix
I’m not moving things forward as much as I would like. It’s difficult to get into anything meaningful in one hour at the end of a long day. Especially when you’re learning, that hour disappears fast!
Custom Domain research
https:// fix
I’m not moving things forward as much as I would like. It’s difficult to get into anything meaningful in one hour at the end of a long day. Especially when you’re learning, that hour disappears fast!
Day 193: Beginner JS
http://BeginnerJavascript.com
Decided to take a step back for a couple of days and go through Wes's course. Going slow now to go faster later. Hoping that it improves the speed of my work, because I need to go faster with the limited time that I have.
http://BeginnerJavascript.com
Decided to take a step back for a couple of days and go through Wes's course. Going slow now to go faster later. Hoping that it improves the speed of my work, because I need to go faster with the limited time that I have.
Day 194: Continued JS
Continued JS Course
Learning so much about the basics of JS. It’s sinking in and making sense this time. For years I’ve just fudged things, but taking time to step back and actually learn the basics is going to really allow me to move faster.
Continued JS Course
Learning so much about the basics of JS. It’s sinking in and making sense this time. For years I’ve just fudged things, but taking time to step back and actually learn the basics is going to really allow me to move faster.
Day 195: Continued JS
Continued JS Course
Another 45 mins of learning on my lunch break. Hoping to finish the course this weekend, whilst also applying the learnings to my app. Big weekend push required.
Also need to do accounts for two of my companies though. Urgh.
Continued JS Course
Another 45 mins of learning on my lunch break. Hoping to finish the course this weekend, whilst also applying the learnings to my app. Big weekend push required.
Also need to do accounts for two of my companies though. Urgh.
Day 196: Continued JS
Continued JS Course
Another module down. Getting to grips with the DOM. A whole new world is opening up.
Slightly distracted by Prince Phillip’s funeral. What an incredible life he lead.
Continued JS Course
Another module down. Getting to grips with the DOM. A whole new world is opening up.
Slightly distracted by Prince Phillip’s funeral. What an incredible life he lead.
Day 197: Continued JS
Continued JS Course
Underestimated how long this course is, so I didn’t finish it this weekend as hoped.
It didn’t help my project that I spent last night with friends, and all day today with my fam. No regrets, this was the best wknd in a year!
Continued JS Course
Underestimated how long this course is, so I didn’t finish it this weekend as hoped.
It didn’t help my project that I spent last night with friends, and all day today with my fam. No regrets, this was the best wknd in a year!
Day 198: Dashboard
Started front end
Learning a lil JS was great for a few days, it’s given me more confidence to push on. Started putting together the dashboard views this evening. It was literally 40 mins of work after a very long day, but at least I started.
Started front end
Learning a lil JS was great for a few days, it’s given me more confidence to push on. Started putting together the dashboard views this evening. It was literally 40 mins of work after a very long day, but at least I started.
Day 199: Dashboard
Continued front end
Worked on the dashboard view these evening. Lots of UI coded up, just need to get some of the dynamic elements to work. Still not used to fetching data when required on the fly. Need to understand this more.
Tomorrow is day 200.
Continued front end
Worked on the dashboard view these evening. Lots of UI coded up, just need to get some of the dynamic elements to work. Still not used to fetching data when required on the fly. Need to understand this more.
Tomorrow is day 200.