5 (More) Rust Project Ideas ~ For Beginners to Mid Devs 🦀
Tags: rust
Published: 2024-05-26 12:34:08

---
title: 5 (More) Rust Project Ideas ~ For Beginners to Mid Devs 🦀
published: true
date: 2024-05-25 11:03:08 UTC
tags: Rust
canonical_url: https://eleftheriabatsou.hashnode.dev/5-more-rust-project-ideas-for-beginners-to-mid-devs
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0bm879bs0wq7a2hipw47.jpeg
---

Hey there, welcome back to my blog! 👋

If you're learning Rust and want to practice your skills I want to introduce you to 5 (more) practical projects that will help you in real-world projects. I wrote three more similar articles, one for [**complete beginners**](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-absolutely-beginners-devs-2706), one [**for beginners**](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-beginner-devs-1am3) and one for [beginners to mid level](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-beginner-to-mid-devs-3de1). This article is also for beginner to mid Rust devs and the focus is on building games! 🎯

Below you'll find: the 5 project ideas, the posts (tweets) or articles where I'm explaining step-by-step how you can build these projects and a link to the corresponding GitHub repo!

## Project Idea 5: CLI Video Downloader

{% embed https://twitter.com/BatsouElef/status/1771839694105419980 %}

You can create a CLI video downloader and cover things such as parsing command-line arguments, making HTTP requests, and handling errors. By the end, you'll have a deeper understanding of Rust's powerful features and how to apply them in real-world scenarios.

Read my tutorial [here](https://dev.to/eleftheriabatsou/cli-video-downloader-in-rust-a-step-by-step-tutorial-132f).

{% embed https://dev.to/eleftheriabatsou/cli-video-downloader-in-rust-a-step-by-step-tutorial-132f %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/cli-yt-downloader-rust/tree/main).

## Project Idea 4: Port Scanner

{% embed https://twitter.com/BatsouElef/status/1781277854711378230 %}

How about creating an IP sniffer/port sniffer! You'll learn how to build a basic network tool that can scan ports on a specified IP address to see which ones are open.

This is a practical project that can help you understand network programming, asynchronous Rust with Tokio, and handling command-line arguments using Bpaf. By the end, you will have a clearer insight into network operations and Rust's powerful asynchronous features.

Read my tutorial [here](https://dev.to/eleftheriabatsou/tutorial-building-a-port-scanner-in-rust-5fa0).

{% embed https://dev.to/eleftheriabatsou/tutorial-building-a-port-scanner-in-rust-5fa0 %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/port-sniffer-cli-rust/tree/main).

## Project Idea 3: Snake Game

{% embed https://twitter.com/BatsouElef/status/1784178606752645130 %}

Let's start building some games! How about the "Snake Game"?! Well, I built it myself and I need to mention that it was not an easy task but in the end you'll learn a lot!

Read the 1st part of the tutorial [here](https://dev.to/eleftheriabatsou/tutorial-snake-game-in-rust-part-12-23gc) and the 2nd one [here](https://dev.to/eleftheriabatsou/tutorial-snake-game-in-rust-part-22-1khf).

{% embed https://dev.to/eleftheriabatsou/tutorial-snake-game-in-rust-part-22-1khf  %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/snake-game-rust).

## Project Idea 2: Chat Application

{% embed https://twitter.com/BatsouElef/status/1788949895014932776 %}

Chat applications are something many common and also many applications use. In the version that I built (and you can find a tutorial below), the application has two parts: 1. Client, 2.Server. You're able to type something on the client side and the server will receive it.

Read my tutorial [here](https://dev.to/eleftheriabatsou/tutorial-chat-application-client-server-in-rust-121f).

{% embed https://dev.to/eleftheriabatsou/tutorial-chat-application-client-server-in-rust-121f %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/chat-app-client-server-rust/).

## Project Idea 1: Pong Game

{% embed https://twitter.com/BatsouElef/status/1791392429288898693 %}

How about building a Pong game using the [**piston engine**](https://docs.rs/piston/latest/piston/) as well as the [**OpenGL graphics library**](https://blog.logrocket.com/understanding-opengl-basics-rust/). You can create a board with 2 paddles, one on the left and one on the right side, and one ball. You can have 2 players who will be able to handle the left and the right paddles with Y and X keys and the up and down arrows.

Read my tutorial [here](https://dev.to/eleftheriabatsou/tutorial-pong-game-in-rust-4hkm).

{% embed https://dev.to/eleftheriabatsou/tutorial-pong-game-in-rust-4hkm %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/pong-game-rust/tree/main).

* * *

## **Notes**

I'm new to Rust and I hope these small projects will help you get better and improve your skills. Check here [**part 1**](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-absolutely-beginners-devs-2706), [**part 2**](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-beginner-devs-1am3) **and** [**part 3**](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-beginner-to-mid-devs-3de1) of Rust project ideas and if you need more resources I'd also like to suggest [**Akhil Sharma**](https://www.youtube.com/@AkhilSharmaTech)'s and [Tensor's Programming](https://www.youtube.com/@TensorProgramming) YouTube Channels.

* * *

👋 Hello, I'm Eleftheria, **Community Manager,** developer, public speaker, and content creator.

🥰 If you liked this article, consider sharing it.

🔗 [**All links**](https://limey.io/batsouelef) | [**X**](https://twitter.com/BatsouElef) | [**LinkedIn**](https://www.linkedin.com/in/eleftheriabatsou/)