Is my first project idea too ambitious for a beginner?
Posted by EnigmaticCoder@reddit | learnprogramming | View on Reddit | 24 comments
Quick Intro-
I have a bachelor's in graphic design. I am 22 years old. I am doing a bootcamp course in Python. First few weeks of learning computer science.
I've read the FAQ and those learning resources are actually a ton of help, i should have found this subreddit before.
Hey guys, i know programming is learnt by doing, and i got an idea for an interactive notes app.
I watched a lot of videos and put down notes in my notes app, all sorted by titles and concepts and bullet points and extra information in brackets.
The text file is now super long, and i got the idea of making it more compact and readable, and turning the topics into clickable buttons on a grid and then when you click it, it basically opens up all the information you've written down and maybe allows attaching an image or 2 for visual help.
I intend to finish the bootcamp and create that as my first project. In my mind it looks do-able and will actually help me when i finish it.
Is it possible or do i make what I've seen others say, like a to-do app or a weather app.
TripHaunting1702@reddit
Just do it. You’ll quickly get an idea of your capabilities.
Dear-Environment-532@reddit
yeah that's actually perfect approach for first project. the interactive notes thing sounds way more useful than another todo app that you'll never touch after building it
i built something similar when i was starting except mine was for organizing cassette collection data - turned out way more complicated than expected but learned so much more than following tutorials. you'll hit walls but that's where real learning happens
your graphic design background is huge advantage too since most developers (myself included) make things that work but look like garbage
EnigmaticCoder@reddit (OP)
Okay thank you so much 🙏
appendixexploder@reddit
i mean, if anything that might be too trivial.
_sadboi69_@reddit
honestly calling it too trivial for op isnt helpful here.. too trivial relative to what?
hes just been learning, its sounds like a solid start and it can be dificifult depending on the features he wants to add.
he will defiently face challenges making it just like anyone else would beginner or not, and its not helpful to tell him this is a trivial project which will discourage him more once he encounters these challenges.
my opinion: Its a solid start and op will learn a lot and face difficulties and challenges and thats great for learning
appendixexploder@reddit
There are CS classes where the very first assignment is a lot more challenging than what OP described.
EnigmaticCoder@reddit (OP)
That's interesting, now that you've said that i hope i can do it otherwise I'll go back to graphic design 😭
spinwizard69@reddit
Well don't do that. A bit of creativity and good design goes a long way on apps these days.
That said you might bet better over all results targeting the platforms established development path. For say MAC OS that might be the compiler Swift and the graphical system SwiftUI. Don't mis understand Python is a great programming environment but that doesn't mean it is ideal for "native apps".
mizukagedrac@reddit
It's definitely a good way to start. I haven't done much UI/Web Dev via Python, but some elements you can definitely look into are things like "collapsible cards", whether you use a UI library or make your own, for reference and learning how to use something like Flexboxes to format organize things.
Fit-Original1314@reddit
you’re overthinking it, just build something.
EnigmaticCoder@reddit (OP)
Okay 👌 thank you
EnigmaticCoder@reddit (OP)
Also, someone also told me to do questions on leetcode after i do the bootcamp, but i opened leetcode on the website and got completely clueless on a problem called two-sum. I feel a little stupid because of it
TheProv1@reddit
LeetCode is kind off the developer improvement type of website - you need to be familiar with the basics and should have good-great subject knowledge
As of your writing, you really dont have to start off with LeetCode right now - all its going to do is tank your learning and make you doubt yourself
Instead try out simple programs - like a simple calculator without the UI which runs off a "while" loop
This should help you out a lot - then proceed to weather app which will teach you about using APIs
EnigmaticCoder@reddit (OP)
Okay yeah that makes me feel better
spinwizard69@reddit
Personally I see bootcamps as something suitable for people that already have some Computer Science back ground. Long term I really believe you would be better off just following a good CS program that stresses concepts.
Here is the thing your app might be the best done from a GUI standpoint ever, however if you can't come up with a solid file standard you will loose. Frankly I hate apps that use proprietary formats, as it makes personal use of your data far more difficult. So the first thing I see when reading your post is that you complain about a long text file. My question is why are you not using a established file standard, be it JSON or CSV or something else.
This tells me that you might be jumping the gun on app development. In fact if you want a distributeable app, I have to wonder why you are using Python. Generally if you intend to distribute an app, especially on app stores, you are better off using a Compiler and tool kit supported by the platform. Yes I've seen the arguments for Python and I don't buy them, unless you distribute the source I've yet to see a Python app that is worth the frustration.
By the way I use Python extensively as almost the only programming language I used at work and now in retirement. The thing is I don't have to ship those programs. Python is fine as long as you don't have to ship and maintain apps across a broad user base.
EnigmaticCoder@reddit (OP)
I'm not recreating any file standards, and i am also not fully focussed on app development or distribution, this is just something i wanna make to see how compatible i am with programming. This will be my first project. (idk what json and csv means)
Spare_Dependent6893@reddit
A notes app is not very difficult and you can split it in very specific steps starting by a simple page, to enter text, then a call to backend to write in file, then in database like sqllite and so on with test at each step. You will learn and you will do your app.
EnigmaticCoder@reddit (OP)
This is good info i will put this in the notes of my future notes app thank you
TurtleSlowRabbitFast@reddit
Build, build, and build you’ll learn as you go, solidify concepts you’ve already grasp, and find out about any knowledge gaps you can easily look up. Good luck!
jtdbrab@reddit
I would join the camp saying just go for it!
I think many people get stuck on finding the perfect project. Not too hard, not too easy, not too basic, not too whatever.
But it seems you have an idea of where you want to go and what you want it to do and that's the hard part.
If it turns out you get stuck on a part of the logic, great! You now know what to deep-dive into and then you can truck right on!
On the other hand, if it turns out to be a bit on the easy side, great! You now have an app you like that you can use, and you wrote some code while feeling more confident in what you can do!
ZuriPL@reddit
It feels like something on a similar difficulty level to a to-do app, so I think you will manage
DigitalHarbor_Ease@reddit
Honestly, that’s a way better first project than another basic to-do app. the best beginner projects are the ones you actually want to use yourself. Your idea is totally doable if you build it step by step start with clickable topics and text first, then add images and extra features later. Since you already have a design background, you’ll probably make the UI much better than most beginner projects too.
More_Ferret5914@reddit
honestly that’s a way better first project idea than forcing yourself to make “todo app number 100”
because you actually care about it and would use it yourself
just keep the scope small at first. don’t try to build Notion on week 3 lol. start with:
that’s already a real project honestly. and your design background will probably help a lot with making it feel usable instead of just functional
Kane_ASAX@reddit
If you mean an app for mobile devices, it shouldn't be that difficult. Mind you, the languages being used will be either react native(typescript/javascript), kotlin,java or swift. Maybe flutter.
The hardest hurdle will be actually getting it to a point where you are allowed to publish on the stores if you wish.
The logic and ui itself shouldn't be a big issue