
Ask HN: How do you find projects to work on? - itbeganwithvoid
Whenever I attempt to teach myself a programming language I get partway through the coursework and then lose a lot of interest because I&#x27;m not able to use it for anything relevant to me. Is it just a matter of grinding out the course and overcoming the monotony?<p>How would you recommend a thought process for coming up with beginning projects that have utility and aren&#x27;t complex enough to be intimidating?<p>Would helping work on open-source projects that I use be a good way to make what I&#x27;m learning relevant to learning language? Are there any good resources that beginners might not be aware of that will help that beginning hump?<p>Thank you
======
zeroego
I am still a beginner programmer myself, but I do have a couple small projects
under my belt. If you happen to have an office job, I would recommend trying
to automate anything you do that involves copying information from one source
to another. We have many different systems here and they do not communicate,
i.e. our complaint database and our POS. I've made programs that make it so I
don't have to retype information over and over again. My next project is to
make it so that certain weird text documents are easier to read by exporting
them to a excel document.

This solution doesn't work for everyone, as some of us don't work at
computers. But, if you can find a way to automate anything that you do,
whether at home or at work, you'll have a good project to work on.

~~~
blastbeat
Automating stuff and writing little helpers is a great idea. I would suggest
to start with the command line. I wrote a lot of tools for it. Basically
everything in daily life, which involves repetitive math, like tracking
finances, calculate taxes etc, has the potential to be transformed into some
tailored script in your favorite language. Also everything which transforms or
involves text, is appropriate. For instance, instead of using some random
smart phone app to train memory, I wrote a program to practice the mnemonic
peg system by using the shell. Once you start writing such a tool, you will
quickly run into practical problems, which need to be solved. Usually this
triggers creativity and a learning effect.

------
goqu
I tend to be a content oriented maker so as long as I have the content the
project gets formed around it. I used to like to play with logo designs
logominer.com was my website. You can still find my twitter account @logominer
that shows screenshot of the website. Basically I was looking for away to
present a break down of established logo designs such as DHL, Nike or Dropbox
and other so I created an app portfolio. Recently I came across a book author
that I made a contact with as I liked his books so much. After some email
exchanges we came up with idea of promoting his books on a website that I
would have to build [https://hundredfoot.com](https://hundredfoot.com). Later
I got a few other authors onboard but the point is that go and look for the
content to process and present in a different shape or form. Go after things
you like and make a product around it. It will often end up being just a side
project but you will enjoy the process not to mention learn new things. Good
Luck

------
sergiotapia
My go-to is to build a web scraper with the new language/framework. You touch
a little bit of everything and get a pulse on it's ecosystem.

\- HTTP requests \- JSON parsing \- XML parsing \- Iteration on lists \-
Persisting data to a database

And in between all that you get types, conditionals, loops, packaging system,
etc etc. It's a nice catch all.

------
stevesearer
I usually like to make projects which solve one simple problem or fill one
need.

For fun once I made a site where I categorized images of bouquets by the
flowers that were in them. This learning ended up being the basis of the photo
browsing functionality on my site
[https://officesnapshots.com](https://officesnapshots.com)

I also like to look at city government websites to see what parts of them are
terrible and then make my own, better version.

For instance, Santa Barbara posted their crime stats in tables on their
website as well as precinct boundaries on a different page. I then learned a
bit about combining those two things using CartoDB so you could visually see
where crime happened.

Lots of inspiration everywhere if the goal is learning or fun!

~~~
footchair
If you don't mind me asking, do you make money off affiliate links on your
site?

~~~
stevesearer
We sell advertising space which is not affiliate driven. Our readers are
primarily architects and designers who are purchasing products through
furniture dealers as opposed to online so affiliate stuff doesn't really work
(I've tried).

------
sandman007
[https://github.com/karan/Projects](https://github.com/karan/Projects)

A list of practical projects that anyone can solve in any programming
language. Fine for beginner's projects in various domains along with solutions
in many langs

