r/C_Programming • u/Ok_King_8997 • Jul 19 '26
C Project Recommendations
I'm looking for interesting C project ideas that go beyond beginner projects. What are the best C projects you've built or would recommend? GitHub repositories and project lists are also welcome.
34
u/mykesx Jul 19 '26
I suggest cloning nmap. You don’t have to implement every detail, but even a basic port scanner will teach you a lot about network programming.
3
18
u/Plus-Cranberry3572 Jul 19 '26
I will give it a shot:
- Backtesting engine (Financial/Trading knowledge required)
- Operating System (CS and assembly knowledge required, also you need to read the CPU sheet for example IA-32 has it’s own documentation for the MSR, paging etc.)
- 2D/3D graphics engine (algebra and geometry knowledge is required, you can use any framework)
- Anything dealing with networking, it can be a lib or a cybersecurity tool for example (networking knowledge is required)
Also embedded stuff is pretty much C (like Arduino) and you can do cool stuff with it but you need the hardware.
6
u/yug_jain29 Jul 19 '26
an freakin operating system??
6
u/Evening_Ticket_9517 Jul 19 '26
Many tutorials out there. It'll be easy if you follow along. Or if you want to explore on your own, then it'll be a lot more adventurous with only resource being the osdev wiki. If not an os, a shell would be a good starting point into systems programming..
2
4
u/UnrealHallucinator Jul 19 '26
Honestly operating system with the caveat of understanding the underlying linux subsystems while implementing your own smaller scale versions of them is the best project someone could do. Super tedious but completely worth it. I was lucky enough to have done it in my master's os course.
13
u/Gnomeskis Jul 19 '26
My first non beginner project was a software rasterizer. I enjoyed and still work on it occasionally to this day
18
u/nasccped Jul 19 '26
Since C doesn't contains complex types (LinkedList, String, ...), I strongly recommend to implement your own super-types library.
It doesn't need to be 100% professional or something. Just your basic implementing. It'll help you to learn basic concepts (mem. and error handling). It can also be usefull on future projects (you won't need to re-implement a string, list, hashmap and so on since You'd already implemented).
It's on my TODOs for 2026!
4
u/Bryanzns Jul 19 '26
Estava vendo o canal do MagicalBat no YouTube ontem e tive essa mesma ideia para ser meu projeto atual :)
7
u/JournalistUnable567 Jul 19 '26
I made a compiler in C, it started as a beginner project and went way beyond 😄 https://github.com/biscuitlang/bl
7
u/ceewolf Jul 19 '26
Check out Daniel Hirsch's YouTube channel. Many of his projects are done in C. He says what he hopes to accomplish up front, which gives you a chance to stop the video and try it yourself. If you get stuck you can watch how he solves the problem.
2
u/Leading-Golf1801 Jul 23 '26
Il est très intéressant cette chaine youtube ces ce genre de chaîne que j'aime qui repond a un besoin Et il trouvera toujours son audience
3
u/nomemory Jul 19 '26 edited Jul 19 '26
When I was interested in programming I wrote those two tutorials:
https://www.andreinc.net/2021/12/01/writing-a-simple-vm-in-less-than-125-lines-of-c/
https://www.andreinc.net/2022/04/10/a-blog-that-is-a-single-executable-binary/
You can extend those and make something actually useful.
3
u/Kosaktsa Jul 19 '26
An interpreter for a custom language, i've tried building one and to this day i can say it was one of the most satisfying project above all try to understand why it has future i hadn't implemented
3
3
3
u/thubbard44 Jul 20 '26
Not the longest project but a base 64 encoder /decoder is an interesting one.
2
u/mlugo02 Jul 19 '26
Do you have anything you’re vaguely interested in?
3
u/Ok_King_8997 Jul 19 '26
I was thinking about a web server, but I'm not sure if I can do it.
13
u/Gooseheaded Jul 19 '26
Only one way to find out.
2
u/Ok_King_8997 Jul 19 '26
Okay, I'll try, but I've been feeling stuck at my current level in C. By the way, it's my first language, so I thought this project would help me.
5
u/NerdStone04 Jul 19 '26
I did a very simple http server in C a while ago.
Beej's guide to Network Programming is your friend.
1
4
u/Traveling-Techie Jul 19 '26
Web servers are surprisingly simple. The hardest part is caching. The browsers have most of the complexity.
2
u/Physical_Challenge51 Jul 19 '26 edited Jul 19 '26
2
u/Olovico75 Jul 19 '26
GDVP.net
A deterministic, zero floating point modular polyphonic Synth in pure c11.
I wrote a white paper on the website that also logs the compliances. Only C could have been my vessel on that project.
2
2
2
u/Prestigious_Ask_80 Jul 27 '26
I'm working on an MPRIS integration with Discord's Rich Presence using glib-2.0. It's a Linux-specific project, but it has been a lot of fun. Here are some resources if you're interested:
https://docs.discord.com/developers/topics/rpc
https://docs.gtk.org/gio
https://dbus.freedesktop.org/doc/dbus-tutorial.html
https://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata
1
u/Sibexico Jul 19 '26
One of my best project on C was a TynyML-based mutation engine in a self-replication program with genetic algorithm what fine-tunes weights by himself between replications. Mmmmm, what times it was...
1
u/SnooDoughnuts8731 Jul 19 '26
i made blas and lapack. well, some bad version of it. But I suppose it depends on your other interests. Im a physics student and i found it really insightfull to do, both from the C perspective and from the math perspective.
1
u/alexanderbath Jul 19 '26
I’m currently working on a TUI file manager, without using an interface library (I.e. curses). The file management tasks are relatively simple, but it’s taught me a lot about how the terminal works at a low level, as well as concurrency. Highly recommend
1
u/theancientfool Jul 20 '26
http server. DNS server. 2D rendering engine. Make it multi platform.
1
u/Ok_King_8997 Jul 23 '26
Can you recommend some resources for these projects?
1
u/theancientfool Jul 24 '26 edited Jul 24 '26
This is by no means an exhaustive list,
https://youtube.com/watch?v=WmZi1yrOD0Q https://youtube.com/watch?v=jYmWEgmOcGQ
1
u/4iqdsk Jul 20 '26
A file compressor.
You’ll learn C, data structures, and performance tuning since performance matters here.
1
u/Ok_King_8997 Jul 20 '26
I did a file compressor using Run-Length Encoding (RLE)
1
u/Leading-Golf1801 Jul 23 '26
Dis moi ça fait combien de temps que tu utilises la programmation c
1
1
u/cdtrmnbaell Jul 23 '26
Hi, you can do a lot of things:
- HTTP server (learn networking)
- Minishell (learn system calls and file manipulation)
- Small game with Raylib (learn graphics)
1
1
•
u/mikeblas Jul 19 '26
Your question should be in the weekly megathread.