Share
Preview
 

What's up Pythonista, hope your week is off to a good start.

What are you working on?

If you have something interesting to share, hit reply or share it in our Slack community (https://pybit.es/community/ - did you know we have a #checkins-and-wins channel?) or Facebook group (http://facebook.com/groups/pybites)

Maybe no need to read further then :)

If, however, you do have an itchy finger to code some Python but you lack ideas or inspiration, let us give you 10 ideas for cool things you can do:

1) Build an API.

The last one we built was to create code images (https://www.codeimag.es) that wrapped two of our command line tools.

Josh built a music API using Spotify, really cool.

Plus this is a good opportunity to learn FastAPI, a modern and performant framework (we also have a learning path here).

2) Manage your money.

We like a frugal life style and Peter Drucker's what gets measured gets managed goes a long way towards this.

Use Python to safe yourself money by building your own budgeting or expense tracker system.

Or track something else? Are you into fitness? What about managing your caloric intake and workouts?

3) A game or website with gamification.

Here you have to work with state which is a nice usecase for OOP / classes (https://pybit.es/articles/when-classes/).

I learned a lot from building Free Monkey for Android (https://bobbelderbos.com/2015/04/my-first-android-game-free-monkey/) and re-using Miguel Grinberg's Flask mega tutorial to to add some gamification to it (https://bobbelderbos.com/2016/12/learning-flask-building-quote-app/) which (backstory!) formed the basis of what became the Ninja belt gamifation we use on our coding platform these days.

A quizzing app might be a cool idea, it offers nice practice in relational databases. See one of our community's first opensource projects: https://github.com/PyBites-Open-Source/questionnaire-api

4) Build a command line app.

We just interviewed Russell Helmstedter about his Eatlocal app. He (and Erik) used Typer to make a nice CLI interface to download exercises (via Selenium), and then he used the amazing rich library to make it really slick (interview available on our YouTube channel later this week...)

5) Web scraping.

Talk to friends or family and see if they do boring things repeatedly on the web. Then offer them a script to automate this. This does not have to be web scraping, maybe there is an API available you can consume.

I built a scraper to look for cheap flights when the prices went up (frugal lifestyle remember?). One of our clients saved his friend a ton of time by automating manual data retrieval this way. It's really exciting to help out a friend with your code, specially when you save them a ton of time!

6) In that sense any task you can automate is a candidate for a project idea.

Are you doing the same manual thing over and over again (e.g. photo editing, certain file system operations, watching for certain notifications, etc) - automate it!

This got us through the 100 days of code 5 years ago: https://github.com/pybites/100DaysOfCode/blob/master/LOG.md

7) A reminder app.

Not coincidentally this app was built three times inside PDM, it's a common need and the nice thing about is that you can make it as simple or complex as you'd like (email, SMS, recurring reminders, how to do the scheduling in Python / in the cloud?, etc.)

8) A video editing tool.

Our main aim with IronScribe was to aid in transcribing videos, but as we went we added a clipping feature that lets us create short (transcribed) video clips. It uses ffmpeg. Really useful for posting to social media. This category has a lot of potential, Aaron built a video transcoding service with us.

Or work with audio. Jeff used pydub and GTTS to built his apg (audio_program_generator), a tool that generates an audio program from text, with option to mix in background sound. We integrated this into our alarm app: https://github.com/PyBites-Open-Source/pybites-alarm

9) A search database.

Look at a topic you are passionate about and start to collect data. Again, maybe there is an API you can consume which is always more ideal (more standardized data / better guarantees).

Or simply look at podcast RSS feeds? You can load those into a DB and build a web app around it (Bob says go Django, Julian says go Flask, tabling that discussion for now lol ...)

Use a nice CSS framework like Bootstrap or Tailwind CSS. Tim did exactly this with his QuietLinks.com website: https://www.pybitespodcast.com/1501156/10146429-060-the-quietlinks-search-database-and-the-importance-of-an-mvp

10) An app to parse logs or telemetry data.

The collection of parsed data over time opens opportunities for nice data visualization.

This was actually my ticket into becoming a developer! https://www.linkedin.com/feed/update/urn:li:activity:6923603695519584257/

---

Note that some of these ideas might look advanced, but to that we'll say:

- Start really simple, then build it out over time. People overestimate what they can do in one year, but underestimate what they can do in 10 years (thanks Bill Gates and/or Tony Robbins, we definitely found this to be true for our platform and Pybites overall)

- The only remedy against tutorial paralysis is building real world projects, it leads to grasping software development holistically, more on this here: https://www.linkedin.com/feed/update/urn:li:activity:6923159783428517888/

- Ideally you get into the habit of shipping soon and getting user feedback, that will give you a lot of insights.

- Mindset wise, you'll have to go outside of your comfort zone, and that's the exciting part, on the other part of fear is growth. Get going, it gets easier with practice, but you cannot shortcut the practical skill building phase.

- Again, helping out a friend, scratching your own (big) itch is magical, it will keep you motivated. You will enrich your portfolio and the next interview you'll be passionately talking about this cool thing you built. Sure, you probably still need to do some live coding (which you'll do better the more experience == muscle memory you gained), but showing your newly gained experience this way is a plus.

---

We hope this gives you some inspiration to start implementing.

If you need help building your idea, or just want to pick our brain, reply to this email or if you prefer chatting, hit us up in our Slack.

Also we're working on some exciting content around this, we'll present soon in our FB group, so make sure you join us there too: http://facebook.com/groups/pybites

Happy coding!

Bob


Email Marketing by ActiveCampaign