Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Tell HN: I Need Project Ideas
64 points by eballci on March 16, 2022 | hide | past | favorite | 45 comments
Hello everyone, I am Computer Science student which enthusiast about programming, software development techniques, project management and system design. I always read a lot of blog posts, cool stuff or techniques. Though, i can not find the way how to practise them. Sometimes i find an idea that i may accomplish. Afterwards next i'm thinking about the idea and i realize the idea is not fullfilled or not useful for humanity, community, at least for me. And i am here to discuss my issue. Every comment is welcome.

Note: This is my first post on HN so if i violated some rules by (or the way) posting this i am so sorry. And also sorry for that i am not fluent in english.



> the idea is not fullfilled or not useful for humanity, community, at least for me

Facebook, for all its faults, didn't start out as a social network to connect people and collaborate; it started out as some sexist objectifying bullshit to rank women based on their appearances.

If you ranked every project from most beneficial to humanity to least, Zuckerberg's original project was near the bottom, but the potential that Facebook had before it started destroying democracy for engagement metrics was near the top.

If a site that started out as just sexist trash could somehow morph into a giant, world-spanning social network connecting people with each other across the globe, then please don't think that your projects need to be fantastic right out of the gate.


> If a site that started out as just sexist trash could somehow morph into...

- an intrusive surveillance system that puts the FBI to shame

- a system of increasingly isolated and toxic echo chambers

- a disinformation and propaganda machine powerful enough to shape public opinion, influence elections, and facilitate civil unrest and extremism

- an "attention economy" where people are encouraged to scroll infinitely so they view more advertisements

- something that makes people feel worse about themselves and generally depressed

etc.


I think of any tech product as a tool similar to a knife. The way knife can be used for cutting vegetables as well as for stabbing someone, similarly a technology can be used for both productive and negative use-cases. It's upto the individual on how they want to use it. Having said that I agree facebook could have done a better job at solving above difficult problems.


> I think of any tech product as a tool similar to a knife.

Tools are designed for their use-case. A butter knife won’t be useful for stabbing, while a hunting knife will excel at it. An airliner delivers passengers, a bomber delivers destruction. Both are planes, both are tools, and both have wildly different applications.

If you knowingly keep developing a tech product which actively harms people at a societal and individual level, you don’t get to hide behind “it’s just a tool, it can be used for good or bad”. It will be used for whatever you designed it, and Facebook is designed to empower its creator with utter disregard for anyone else. You don’t use Facebook, it uses you.


Sounds good for virtue signaling, nice job.


> I always read a lot of blog posts, cool stuff or techniques.

You might try writing a blog post. If you're not used to thinking through writing, the results may surprise you.

Pick a topic you know well, or at least think you know well. Then write about it. You'll soon realize cracks in your understanding you never knew existed. Those cracks contain project ideas.

> Afterwards next i'm thinking about the idea and i realize the idea is not fullfilled or not useful for humanity, community, at least for me.

You can talk yourself out of any project idea. One way to deal with this problem is README-driven development.[1] You don't want to commit to a project because you don't know if it's worthwhile. You won't know if it's worthwhile until you spend some time on it. How to spend just the right amount of time? Write the README first.

[1] https://tom.preston-werner.com/2010/08/23/readme-driven-deve...


"I always read a lot of blog posts, cool stuff or techniques."

There, your problem.

Jump around everything shinny and Wonderfull, and jump again when something else steal the focus.

---

I have not cure for this, I'm the same. But after years I regret badly how much jumping around shinny delay the joy of actually do something.

So, read. Is fun.

But pick one major thing you wanna do, and the thing that, hopefully, you wanna do FOR LIFE (or a big chunk of it).

And focus on that.

P.D: I always tough on build a FoxPro/Access hybrid but never start it, then start it and get distracted or busy. Only lately putting actual focus.

This was 20 years ago!


When I was a student and recent grad I did a bunch of work for other students, volunteer organizations, hobby projects, and very small businesses run by a friend of a friend.

I'm suggesting this because in addition to practicing programming and running projects, it also exposes you to the most important part of being a professional developer: working with people, learning their problem, communicating across wildly different areas of expertise, and making a useful thing.

Of course, that was all a long time ago, and these days I only make things for myself (budgeting app, cookbook, personal library tracker, an RSS to newsletter service... some are more polished than others but they all scratch an itch). I'd recommend that too.


A few random ideas:

The world could use an open-source project to manage restaurants; content management backend, let people add in all of their menu items with photos, descriptions, etc. and then surface that to the website (or not). Mobile app support, iPad- or web-based ordering (for servers or customers), Skip/DoorDash/UberEats integration, or self-managed delivery could all be potential for-profit addons, as well as hosting and consulting. This is something that I could potentially see people liking and using, and could also turn into a potentially profitable business.

I play D&D a lot; it would be nice if there were an e.g. AndroidTV or AppleTV app that could display maps, including with fog-of-war, etc. I tried to do stuff like this with existing tools and had a really hard time lining up the existing grids on battlemaps with what the software understood to be the grids in the software (used for calculations). This one would require a GM interface to show/hide areas, active stuff, whatever. No idea if it would be fun to build (maybe use computer vision to detect battlemap grids?) but it's a thought.


While you’re a student your job is to learn and practice, humanity will do just fine without your immediate efforts, so sharpen up your skills first.

Start by making a store and get payment processing working, this will teach you heaps about abstraction, interfaces, integrating third party APIs, error handling, logging, debugging and deployments.

You don’t have to finish it (but you should try, discipline is important) and you’ll likely find other areas of interest as you go along. Make notes, just Text files organised in folders is fine to start

It’s really important that you just start something, it doesn’t matter what, but you need practice and stuff to talk about and SHOW employers, don’t get analysis paralysis.


Making a storefront is a great project.


Look for problems. There’s a lot out there.

Then see if you can solve the problem or part of it with your skills and knowledge.

This is the approach I’ve followed.

I’m currently working on an app that helps visually impaired people be more independent. Reach out if tou want to join this project.


Submit FOIA requests for data of your local government. You'll find it way more interesting than it sounds, I promise.


Don't wait for the perfect project. It's not likely to come. Decide what you want to learn, look for a top app in that space and copy it. Don't give up until you have something that resembles it. Focus on the code development. Graphics are easy to fiddle with without moving forward so focus on the code with the idea that you will fix the graphics later. As you move forward, read up on the best practices on the particular area you need to deal with.

So if you don't know how to start. Read up on general software engineering. Then read up on the top development programming tools in that area. Then setup a development environment using the most common tools. As you move forward look for forums you can frequent to get help and give help. Be relentless and develop as if it is a job. Set a deadline on when your product will be done. If you don't set a deadline it will never be delivered. Successful developers deliver on time and with the best code possible. Don't get hanged up on finding the best. Once you have some experience then you can decided on the best. By the way, the "best" is wishful thinking. There's no such thing. They are just tools with advantages and disadvantages.

Deliver a few copied projects done and on time. Once you do that you can start to decide what your life's work will be. Think about a year(at least) of constant development before you get to that point.


I'm going to guess you are typical college student age 18-22ish so I will throw out an opinion from someone double that age that you don't have a lot of experience yet to know what problems need solving. I would suggest sticking with things that are of interest to you. Or in web dev circles there are typical projects people use to demonstrate a language/framework: the to-do/task list and a blog.

Idea list:

- write a blog about writing a blog software, see its recursive kinda. You can't start out hosting this blog on your own software because your blog platform doesn't exist yet.

- write a to-do/task list in each cool language/framework that was interesting to you. This could also apply to non-web languages - write one for mobile, on Windows/Mac, etc.

- write software to track a scrum project, story points/estimates, burn down chart, velocity, etc. As much hate as Scrum gets, there are solid project mgmt principles in there and if you are learning this in school (or another PM framework) then writing software for it might help solidify what you learn

- You could actually write a blog about your journey doing these things in your native language. A lot of the "tech" world's new stuff comes out of the US and the majority of people on Earth are non-English speakers. Reading thru translated API docs is probably not the best way to learn.


It's more fun to read about idea's instead of actually turning them into reality, it sounds like a discipline issue. Then again it's not like you need to spend time doing something you don't really want to do anyway, you'll learn plenty in school. If you really want to learn more you can always do the bonus assignments that some classes have.



Why does the thing you build need to be useful? All of my side projects are essentially useless. Its more fun that way.


Usefulness makes it more interesting and motivating.


I work on useful stuff all day, my side projects are way more interesting.

To say useless doesn't mean it doesn't work for it's intended purpose. Just that the purpose isn't trying to change the world.

Origami is pointless but would you really get more fulfillment making paper plates?


Write down all of your strongest interests and skills in rank order. Think up project ideas which combine the most of those interests and skills. This is your sweet spot where you have something special to offer the world just as a matter of sheer statistics.


> Sometimes i find an idea that i may accomplish. Afterwards next i'm thinking about the idea and i realize the idea is not fullfilled or not useful for humanity, community, at least for me

So what? There are plenty of really cool projects that aren't actually "useful" to anyone. The important part is actually accomplishing something that you can show to others. Just build things that you're interested in - you'll gain skills that way and build up a portfolio of work that you can show employers down the road. If you want to contribute to something that actually provides value to people, consider contributing to open source projects.


I personally like to make small video games, and I use the game as an excuse to learn some other technology by incorporating it. I've been doing this to learn Rust [0].

If you want to do something similar, I have a huge list of video game ideas you can pull from [1].

[0] https://github.com/Syn-Nine/rust-mini-games/tree/main/2d-gam...

[1] https://github.com/Syn-Nine/four-emoji-concepts


I'd recommend easing yourself into an existing technical community organized around something you use or find interesting. (This will probably be software/hardware, but it could honestly be any field of knowledge you find interesting--there are inevitably anthropologists, biologists, painters, photographers, etc. out in the world who wish they had some tool they don't know how to build.)

To start, just explore, learn, and help others. (If you find this boring, it's a good sign to pick another community.) Sooner or later, you'll bump into real bugs and missing features/tools, and you'll have an excuse to start learning how to implement them. If you feel like you are understanding very well (perhaps you're able to regularly help people from memory) and no good opportunities have presented themselves, you could also start asking around. I would focus on people who are visibly working on their own projects; ask for any standalone projects on their todo lists that they don't have time/energy for.

---

As an aside, the right project probably depends on what motivates you. Not what motivated you to post this--but what motivates you to keep waking up on this side of the dirt each day. I.e.:

- If you are motivated by learning more than building, you may be able to get away with picking something at random.

- If you are more motivated by building things (a good test--does leaving things unfinished weigh heavily on you?), you'll probably do best if you can find something that will scratch an itch of your own. When you're scratching your own itch, it's easier to avoid analysis-paralysis over the needs of users that you don't have yet. Unfortunately, there's a chicken/egg problem here. It's easier to find itches when you're already working on some kind of project (of your own, or with others). I regularly bump into little things that could make a good project.

- If you are indeed more motivated by helping other people, it's good to start preparing now for the possibility that you are in for a rough ride. There are a lot of missing little tools out in the world that would be useful for other developers or the general public--but there's also a vast sea of interesting little tools that've already been built that have somewhere between 0 and 100 users. You will not only have to solve the problem, but to help others you'll probably have to promote your own work. (Pay attention to whether this sounds boring, exciting, or horrifying. You can overcome boring/horrifying if you are really committed, but it may be a grind if you aren't...)


Find a way for people to more easily open-source things.

See: https://news.ycombinator.com/item?id=30714506

(Google open sources solar atmospheric water generator)

People can even pledge funds for something to go open-source. Once it does, people can then cooperate together to make it work. Help build groups to cooperate on things already open for that purpose.

... a more business-oriented GitHub.


Here's one idea: creating support pods for people, especially those in one-person households, so the members of a pod all automatically check on each other on a daily basis. And if something awful happens to any, a series of processes get kicked off (like calling family, local police/hospital, work, etc.) I have at least two friends who are single, who live on their own, and don't seem to have much of an immediate support system.


depends on what kinda specialization you are interested in, at least for me it’s mobile app development. I have been making apps since college, I was interested in Japanese language so I made a kanji learning app [0], then because I’m a bodybuilder, I made a workout log app [1], recently because I started reading hacker news, I made a Hacker News reader [2]. I learnt a lot from the process, from architecture, design pattern to code quality control. I would say learning is the key, usefulness is secondary.

[0] https://github.com/Livinglist/Manji [1] https://github.com/Livinglist/Dumbbell [2] https://github.com/Livinglist/Hacki


I have an idea log on my website. The content is in Portuguese, but I think you can use a web translator to get readable text. In case you find something of your interest and want to discuss it on detail, let me know.

https://rodolphoarruda.pro.br/ideias/


I'd welcome you to come hang out on discord.multiprocess.io where you'll find no end of project ideas (and I'm happy to brainstorm with you too) on compilers, databases, networking, emulators, etc.


I think you should just set a goal and keep moving. The "useful for humanity, community" can be adjusted along the way. The tactics can always be changed, but as long as you set a clear goal, things will move forward as you go.

Hope this helps


Have you considered making camera path mods?

A lot of games don’t natively support campaths so modders make their own to make videos like this https://youtu.be/ptPtpr6g1n8


Can you use deep learning to do beat detection and music visualization? I find that Fourier transform methods are not good enough to do really good music vis.


Here are my ideas that I have collected over the years - https://goo.gl/nhHKzc


I had the same problem too. But I later found out that I want programming topics (i.e. concurrency, scalability) more than project ideas.


I need a way to sort through the many dozens of project ideas I have and commit to one or two that are actually worth doing. ;-/


You could obtain a small metal disc etched with distinct patterns on each face, designate one of those patterns to represent doing a project and the other not doing a project, perturb the disc in such a way that it violently upends in the air, then wait to see which pattern is displayed when the disc comes to rest on a surface, repeating as necessary as you proceed down the list of potential projects until the desired number have been selected.


Try https://ideasfilter.com/

I build it some tíme ago


These are mostly spammy-type clone apps


I think you should add some form of contact info in your profile. In case somebody wants to connect with you directly.


Make a website that connects people with ideas and people with skills needed to implement said ideas.


Most software development doesn't fulfill any of those criteria, and merely contributes to the engine of capitalism. After graduating myself, sticking to my conception of what purposeful work meant, meant I sacrificed too much of myself for no good reason. Therefore, I'd just do something for the sake of it, and maybe it works out or maybe it doesn't, but you'll eventually find that what you spend most of your time doing has a negligible effect on improving the world in remotely as meaningful a way as you'd hope to.

This is hacker news, where people either work on esoteric projects for the sake of intellectual curiosity alone, or they make a shit ton of money and reason backwards from that into how much they contribute to society so they don't feel bad walking past the person shitting on the street outside their $5k/month apartment. Or you're in the third or fourth camp, where you're a fresh grad with hopes, or someone who makes a modest amount of money that they doesn't really change their class in much of a meaningful way


Tom Brady is probably practicing throwing a ball right now. Is it useful to society?


Write your own programming language and then go solve a bunch of leetcode with it


Make a website that connects people who have common interest


Make an AI which can automate accounting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: