Personal projects: Finding an idea that you’ll be motivated to complete


View this email in your browser (or share it with a friend!)

PRE-S: I’m going to be doing a free, live Responsive Layouts workshop on YouTube this upcoming Friday. You can get the time, in your time zone, and set a reminder by clicking on that link to the YouTube page.


Hello Reader,

Last week, I talked about taking challenges from sites like Frontend Mentor and doing more with them (and because of an issue with a video I’d planned for last week, I also did that in YouTube form as well).

I also mentioned how, even better, is creating personal projects.

There is a reason sites like Frontend Mentor and iCodeThis are so useful though:

  • You don’t have to think up ideas for the project
  • The design is done

When people start getting into web dev, and CSS specifically, they sometimes get discouraged when their sites don’t look good, but creating a design and making a design with code are two very different skills.

Next week, I’ll talk more about how to make sure your designs don’t suck, but for today, the most important thing, coming up with an actual idea!

Some people, frustratingly, seem to come up with project ideas super easily, while a lot of us struggle.

Of course, sometimes you’ll have an idea, start working on it for a day or two, and then never touch it again.

If that’s the case, hopefully you didn’t buy the domain first 😉.

There are two important parts to creating personal projects:

  • Finding an idea
  • Staying motivated to complete it

So, really, the trick is finding an idea that you’ll be motivated to complete!

There’s a bit more to making these types of things easier to complete as well, but let’s start by talking about getting ideas to work on in the first place.

Lean into your interests

Every personal project that I’ve ever started working on that I didn’t abandon has been centered around an interest or hobby of mine.

If the only motivation is the challenge of creating it, for most of us, that will just lead to failure.

By leaning into things I’m already excited by, it helps because I can think of things that I will find useful in that interest or hobby of mine.

As an example of this, I’ve started working on something to track my bouldering sessions, which is a hobby I picked up a few months ago (it’s a type of rock climbing).

There are existing apps out there that had the functionality I’ve created so far, but they were bloated with a bunch of other things they want you to pay for and I just wanted something simple, so I decided to build it!

It started off very simple: It simply had a way to create an account, log in, and enter the date of a session that I completed.

After that, I added a few features, like tracking how long each session is, the ability to take notes on each session, and a few small quality of life things.

I have more features that I want to continue to add to it, like using markdown for the session notes, setting up a todo for my next session, and some more things that I’d like to track.

Because I created something that I’m actively using, I’m motivated to keep working on it, and I also keep coming up with new features and improvements.

I could have set out to make a very similar type of web app. I just asked AI for some project ideas, and it said a weather app, and a task manager, among other things.

I could make those, but everyone has made them already, and I couldn’t care less about them. It’s not motivating at all!

But if I was really into weather, that might be something I would want to create, and even better, because it’s an interest of mine, I’d probably think of a lot of cool features and things to track that the “standard” ones you find in tutorials don’t bother with, and I’d also know of improvements I’d want to make over the things I see in most weather apps.

And that’s just like how if I told you to create the exact same project I’m working on now, you probably wouldn’t be nearly as motivated as I would be to make it!

You’d have no interest in actually using it, and you wouldn’t have any ideas for other features or improvements either. It might be a learning experience, but nothing else, whereas I have an extra layer of motivation to keep me working on it.

So, don’t Google or YouTube ideas for side projects or personal projects, start making something that you’d actually want to use.

It could be for a hobby of yours.

It could be an extension to solve something that’s always bugged you.

It could be that there are sites or apps out there that already do it, but don’t work the way you think they should.

Focus on trying to solve a problem you run into or make something that you’ll enjoy and it becomes a lot easier to come up with something.

Starting small

One issue that happens often—and I’m guilty of this as well—is getting very excited for an idea and planning out a very big project.

When you aim too big, once you get past the initial excitement, it can seem like you’ll never get to the end of it.

When that happens, you lose motivation.

Start with small, achievable goals, like I did with my tracker.

All I could do at the start was make an account, log in to that account, and have one form field to enter a date and submit.

Once I’d done that, I felt like I’d accomplished something, and after logging a few sessions, I’d started coming up with ideas for other things I’d like to track along with the date, and I slowly started adding those in too.

Keeping things achievable

You might start off with loftier goals than what I did, but if you do, make sure you break things down into smaller goals.

You might have a super long list of features that you think would be cool, but start with an MVP (minimum viable product) to get you going.

By keeping each feature you want to add a list of separate goals, you’ll feel like you’re making a lot more progress than if the only goal is to build out the entire, giant project you’ve planned out.

It’s silly, but acheiving a lot of small goals is a great way to keep momentum going, even if it leads to the same end result as that one big goal.

Sometimes it can stay small

Another project of mine that was based on a hobby was this force carb calculator.

I make my own beer, and when I keg it, to get the right level of carbonation there’s a math formula for how long it’s been kegged, at what pressure, and at at what temperature.

There’s a Google Sheet out there that you can use to calculate this, but I hated having to open up my Google docs and look for the spreadsheet. On top of that, I’d usually be on my phone and spreadsheets on a phone are annoying.

So, after being annoyed with it for long enough, I made the site so that I could get to it quickly.

It didn’t take too long to throw together, I learned a few things in creating it, and best of all, it made my life easier and I use it every time I keg a beer 🍻.

The reason I bring all of that up is because, while it’s a very small example, it’s something I threw together in less than a day that’s completely unique to me and that I was motivated to create.

They’ll give you more talking points as well

I’ve talked with a lot of people who hire, and they all tell me how it can be very impactful when the person being interviewed leads the discussion.

If you’re porfolio is all projects you’ve found online, or even Dribbble designs you’ve made come to life, or clones of real world projects, you’ll be able to talk about the technical challenges of each one, but that’s it.

And that might sound like enough, but if you built something cool and useful that your passionate about, that passion will come through.

Those same technical challenges will be in there, but you’ll be able to talk about why you added a feature, how that lead to other issues and how you solved those, and so on. It will be much more of a story than a dry explaination of the tech stack you used.

Plus, it helps bring the “human” side to things as well, and connecting with the person interviewing you is so important.

🙋‍♂️ What I’ve been up to this week

Very small CSS tweaks for better forms

video preview

I actually made this as a Short this week as well, but I often run into an issue with Shorts, where the hard 60 second cap on them means I have to cut out some things I’d have liked to have kept, so I also made an extended edition, which let me talk about an alternative version that has better browser support.

I’m going to experiment with this “short” format more going forward, making a 2-3 minute long video with more depth for the times I have to make extra cuts to my Shorts. I’ll see how they do, but if people like them, I’ll continue making them.

I’m also not too worried about the overlapping content, as the large majority of people only watch one format anyway. In the last 90 days, only 17% of my audience watched both my shorts and long-form, with a close to 40/40 split for only long-form, or only Shorts.

“Smart” Layouts with Container Queries

I wrote a thing! 😅

Geoff Graham, who’s helped me with pre-production work on my channel, has also been a driving force in bringing CSS-Tricks back to life.

When he saw my video exploring “smart” layouts, he said he learned a few things and asked if I’d make an article exploring that idea as well.

Unlike the video I linked above, I went a little deeper in the article into the basics of how container queries are more aware of units than media queries are, and the implications of that, and I also took a look at how we can use it with Flexbox instead of only focusing on Grid.

🔗 Other awesome stuff around from the web

🏁 </newsletter>

I’m sure some people are curious about what I used to build my climbing session tracker thingy (I need to come up with a better name for it 😅), so if you’re one of those people, I used SvelteKit for the front-end and Supabase for the database and auth.

I’ve debated doing live streams of myself building it, but the problem is I do it at random times, and often for short little bits here and there whenever I have a free moment instead of long sessions.

I’m also doing work on it on my laptop most of the time, since I’m working on it outside of my “office hours”, and I don’t have that set up for streaming.

If ever I find myself with a block of time to work on it during my regular days, I’ll think about it, but I have a lot of other things I need to be focusing on instead of that, at least for now 🙂.

Have a fantastic week!
Kevin

P.S. If you are interested in the responsive layout workshop, don't forget to hit "remind me" over on the YouTube page for it so you get a reminder when I go live 🙂.

P.P.S. I'm going to be emailing you again tomorrow. I try to stick with one email a week at the most, but I've got a special announcement coming 👀.


Are you looking to step up your CSS? I've got both free and premium courses to help with that! They cover a range of skill levels too 👇

Beginner friendly (and free)

Conquering Responsive Layout

A free course to help you approach responsive layouts with the right mindset.

Enroll →

Intermediate

CSS Demystified

For those who've been writing CSS for a little bit now, but want to step up their game and start writing CSS with confidence!

Enroll →

Advanced

Beyond CSS

An advanced course that dives into project architecture, theming, design systems, and more.

Enroll →

Unsubscribe · Preferences
113 Cherry St #92768, Seattle, WA 98104-2205

Hi! I'm Kevin

Every week I share what I've been up to over on YT (and elsewhere), and also my general musings.

Read more from Hi! I'm Kevin

View this email in your browser (or share it with a friend!) Hello Reader, A short newsletter this week as I’ve been spending almost all my time working on finishing my course Beyond CSS. The end is in sight, and it’s been head down for me trying to get across the finish line. About two more weeks to go and I think that final module will be wrapping up. And if you're interested, the top tier is on sale, but that sale will end once it's finished! 🙋♂️ What I’ve been up to this week Outside of...

View this email in your browser (or share it with a friend!) Hello Reader, This week I put out a video where I showed a few modern CSS features that can be useful in a CSS reset, and it resulted in a lot of comments asking about what reset I use. The interesting thing about resets is how their purpose has changed over time. Originally, we used them to help us make sure all browsers were behaving in the same way, but thanks to how much parity we have in them now, for the most part, resets...

video preview

View this email in your browser (or share it with a friend!)Add your content ere... PRE-S: The State of CSS 2024 survey is out now! The more people who take it, the more representative it is, so please, take a few minutes to go through it! When you’re done, you can watch me go through it and talk about a lot of the features it asks about. Hello Reader, The last 3 week’s newsletters have been really long ones, so we’ll keep this one a little shorter 😅. We'll get to the <article> and why HTML...