Coming up with good personal projects - Part 1: Inspiration
Tags: sideprojects, beginners, management
Published: 2023-04-04 14:00:00

## Approaching the crux of the project

Contrary to popular belief, a project need not be helpful to other people. If creativity is one of your core personality strengths, tossing aside the notion of usefulness now and again in favour of joy would do you good.

Let's get into it.

### What makes a project *good*?

A good project is one that properly serves its purpose. So first things first:

- Why are you doing this project?
- Who is the audience?
- What are you communicating to them?

Explicitly specifying the reason is essential as that'll dictate the type and scope of the project you undertake. You may want to:  

- Demonstrate capacity: strengths, variety, upskilling, etc. These often go into portfolios.
- Satisfy an emotional need of yours; perhaps you enjoy a challenge and find it fulfilling. 'Because I can' is an attitude plenty of creators have.
- Generate income; whether it's for stability or fuck-you money, both are still valid.

You could end up with something like:
- As an unemployed designer, I want to showcase what I'm capable of so potential employers understand the breadth of my skill set.
- As a junior developer, I want the ability to build a robust authentication system so I can aim for specific roles above my experience level.
- As a homeowner baited by the very tech I love yet hate so much, I want to program my blinds to open in the afternoon to quell my desire for an anti-hustle culture rebellion.

Did I just user-story a project idea? Yes.

(Did I just use user-story as a verb? Also, yes.)

((Do you need to do that? Ye - No. You do not.))

Tailoring those projects will involve scoping and adjusting the technical depth. Scoping should include 'termination' criteria; when would the project be considered acceptably finished, and when would this be? Detailing this will be approached in Part 2.

**Side note:** If you intend to make money, validate that potential opportunity against customers from your market segment, i.e. you'll need to treat it like a business project, not a portfolio or passion-only piece. When they say 'execution is everything,' that includes making practical business decisions and solving problems in a way that eventually generates revenue.

## Finding inspiration for projects

### Solve your own problems

In other words: if you find something inherently annoying or inconvenient, see if there's a way to fix it. Even something small and niggling is a great place to start. Look at your daily routine, hobbies, and other things you may enjoy - or *really* don't enjoy. It's okay if you chuck this onto GitHub and it fades into oblivion over the next ten years, forkless and lifeless. It served its purpose.

### Look for patterns of problems

Finding these patterns requires being observant of the people around you, what annoys or inconveniences them en masse, and some level of knowledge on a specific topic or field. You need that combination to figure out what makes their lives easier.

Don't solve problems other people have by solving problems for yourself. Pick one.

### Project-based courses and tutorials

There's no shame in it: pick something new to learn and follow along. Ensure you're actually paying attention instead of going through the motions. You could:

- Summarise content in your own words
- Blog your progress
- Struggle through tasks before you go for the solutions
- Play videos at normal speed to consider more deeply

Additionally, consider customising the project enough so that you don't end up with a cookie-cutter project in your portfolio if that's where it's going.

### Idea generators and online lists

Go ahead and try out a bunch of them to spark ideas. Remember you'll need to flesh it out and scope it appropriately before embarking on the project. Many of these lists online are general; find a way to customise the project to your needs.

### May the force be with you

Thanks for reading! I'll see you in Part 2 for planning and scoping. Feel free to catch me on [my streams](https://twitch.tv/ladyofcode) or in [Atlantis](https://inatlantis.io/community) if you'd like to chat about your projects. Good luck!

#### Useful resources

- [Awesome lists about all kinds of interesting projects](https://github.com/sindresorhus/awesome)
- [Build your own x](https://github.com/codecrafters-io/build-your-own-x)
- [Collective list of free APIs](https://github.com/public-apis/public-apis)
- [Public APIs](https://github.com/n0shake/Public-APIs)
- [Web development resources](https://web-dev-resources.com/#/)
- [Sharpen: Open-ended project prompts](https://sharpen.design/)
- [App idea generator](https://appideagenerator.com/)
- [Designercize](https://designercize.com/)
- [What should I design](http://www.whatshouldidesign.com/)
- [Daily UI](https://www.dailyui.co/)
- [Daily Logo Challenge](https://dailylogochallenge.com/)

### Special thanks to:
- [Mahmood](https://twitter.com/MoodyHikmet) for the link to [Build your own x](https://github.com/codecrafters-io/build-your-own-x)
- [Alom](https://twitter.com/Alomoadev), [Colin](https://twitter.com/vonExplaino), Adam, and Mom for feedback on my writing