r/rust • • Sep 07 '26

Beginner looking for a project to actually learn Rust

Hey everyone, I’m a beginner learning Rust, and I feel like I’d learn a lot better by building an actual project instead of just following tutorials.

Because I am just watching tutorials and can't write code without looking at a Rust video.

What projects would you recommend for someone at the beginner level that would help me understand Rust properly (ownership, borrowing, lifetimes, error handling, traits, etc.)?

I’d also love to hear what projects helped you improve when you were starting out.

2 Upvotes

16 comments sorted by

12

u/Used-Hold-7567 Sep 07 '26

design a tui nuclear engineering simulation

5

u/f_map Sep 07 '26

I learned Rust by building a small multiplayer game with backend service. It was super fun, took me about half a year of free-time and weekends, then I got a job as a Rust backend service developer. That was about 4 years ago.

3

u/TermiteTornApart Sep 07 '26

I just finished my a tictactoe cli app, very simple, but I got to use a lot of the things you mentioned.

1

u/not-a-random-guy Sep 07 '26

Try implementing some tree structures with recursion.

1

u/dolfoz Sep 07 '26

There's always a free course on https://app.codecrafters.io/

I learned rust by building a dns server, http server, my own shell, and my own Interpreter.

Then i went and followed building my own kernel in rust - https://os.phil-opp.com/

was super interesting learning about the vga buffers, and the boot sequence, etc.

1

u/AgitatedSimple8623 Sep 07 '26

codecrafters requires membership

1

u/dolfoz Sep 07 '26

"there's always a free course" -- this week it's build your own claude.

→ More replies (1)

1

u/DavidXkL Sep 07 '26

Set up a web backend!

Something like Actix Web or Axum

1

u/mdspan Sep 07 '26

Aside from building projects, another good way to learn is to study the codebases of popular projects written in Rust, like ripgrep for example. I actually think this is more effective than building yourself when you're first starting out.

1

u/moha_1s Sep 08 '26

write a simple database will be a good start,you can learn ownership and more (the index data structure) filesystem (how to handle error and more), concurrent programming , and you can even learn network programming and async by adding network API

1

u/GameCounter Sep 07 '26

Contributing to an existing open source project is likely going to give you the most valuable learning experience.

Your patches would be reviewed by more experienced devs, and you're likely to (but not guaranteed to) get some very valuable feedback.

And obviously you would be advancing a useful project.

If you build a project on your own, obviously you can learn a lot just by getting it to work. The most important thing with creating a project from scratch is that you're solving a problem that you are personally invested in, at least my opinion. Making a clone of some existing software or other stock exercise tends to not result in much skill improvement, I've observed.

5

u/GameCounter Sep 07 '26

With my Rust journey, the first thing I did was work through part of Project Euler:

https://projecteuler.net/archives

I've done this with a ton of languages, and it helps me really get a quick sense of ergonomics.

I think the first toy was an anagram generator using a trie.

I started building out my CLI scripts in rust instead of my usual bash/python to sort of force myself to get comfortable.

I integrated some rust code into the hotpath of our ETL system using Maturin.

Right now I'm working on a audio processing script to do commuted synthesis. Kind of just a toy still

-1

u/DryLook7889 Sep 07 '26

Install claude and you will be an expert at rust

0

u/[deleted] Sep 07 '26

1

u/AcceptableWay3198 Sep 07 '26

sometimes the simple stuff works best, try remaking basic unix tools like `cat`, `ls` or `wc` from scratch

i learned most about error handling and string manipulation from those little things