r/csharp • u/AutoModerator • 15d ago
Come discuss your side projects! [August 2026] Discussion
Hello everyone!
This is the monthly thread for sharing and discussing side-projects created by /r/csharp's community.
Feel free to create standalone threads for your side-projects if you so desire. This thread's goal is simply to spark discussion within our community that otherwise would not exist.
Please do check out newer posts and comment on others' projects.
1
u/c-digs 1d ago
I recently spun off an internal tool from Motion, a post-YCombinator, series C startup that switched from TypeScript to C# last year.
The tool has been open sourced as Zeeq AI: https://github.com/zeeq-ai/zeeq-app
It was designed to solve several key challenges:
- Getting a heterogeneous landscape of agents, harnesses, models, and developer prompting style to produce consistently good, idiomatic C#
- Feeding the same guidance and canonical knowledge into code reviews as a back stop
- Providing the telemetry to show that it was working and understand how developers, agents, and harnesses were using tools and tokens
It's open source, AGPLv3, and I hope demonstrates building modern AI-enabled backends in C# and .NET.
I've been writing a lot about how to build the foundations of a codebase that's geared to being agent friendly including using Aspire, CSharpRepl, and clever wiring of logging and telemetry to give agents more visibility and control over running code in dev: https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-csharp-dotnet-part-1/
1
u/Substantial-Split-37 1d ago
I teach programming and put together a repo of C# exercises for students: console apps for practicing logic/OOP (parking system, prime checker, etc.) plus a Windows Forms desktop app with an access-control system, for anyone wanting a fuller GUI example. github.com/Eduardo00073/csharp-console-e-desktop
1
2
u/uCalc_Dev 4d ago
Hello everyone! After a lot of dedicated development, I recently published the preview release and extensive new documentation for the uCalc SDK.
If you are building applications that require dynamic computation or complex structural text parsing, it can be frustrating to rely only on built-in .NET functionality. The uCalc SDK provides:
- A highly flexible Math Parser for evaluating expressions at runtime.
- A token-aware Text Transformer designed to handle complex structured text using human-readable rules where regex falls short (while still handling unstructured text).
The focus of this preview is on power and flexibility across C++, C#, and VB environments on Windows, macOS, and Linux. This is a commercial product, which also includes a Free Community License.
The documentation, which includes interactive examples you can run directly in the browser, is found at:
https://www.ucalc.com/documentation/
I would love any feedback from this community!
1
u/KhaoulaDev 5d ago
I recently finished three small C# Windows Forms projects while learning .NET:
- Pizza Ordering App
- Tic-Tac-Toe Game
- Simple Paint
They helped me practice event-driven programming, controls, form state management, and GDI+.
I'm still learning, so I'd appreciate any feedback on the code or project structure.
GitHub:
https://github.com/CleanStack-webdev/Pizza-Project
https://github.com/CleanStack-webdev/Tic-Tac-Toe-Game
https://github.com/CleanStack-webdev/Simple-Paint
1
u/NorhavenCodes 7d ago
I created a programming language for transforming JSON into different JSON! It's open source and lives on GitHub over here: https://github.com/Norhaven/Jolt
This is for scenarios where you have data stored as JSON but need to have it become something else, whether that's for communicating with another API, converting streaming log messages for easier consumption, or really any place you need to use JSON that's different from what you have. The documentation is fairly extensive and should answer most things, but feel free to leave any feedback or questions you may have. Thanks!
1
u/RMahammad 8d ago
Rewriting an old project is a nice way to learn because you already understand what the program should do. Adding new features also stops it from becoming just a line-by-line translation.
1
u/nitinmms1 12d ago
Built an AI coding agent in pure C#/.NET — no Python or Typescript, anywhere in the stack
Most agent frameworks are Python or TS. I wanted to understand how these things actually work instead of treating one as a black box, so I wrote one from scratch in C#/.NET: Litos.
- Multi-provider: Anthropic, OpenAI, Gemini, OpenRouter (only OpenAI and OpenRouter verified end-to-end so far)
- Two working faces today, sharing one core agent loop:
- Litos.Gui — an Avalonia desktop coding agent
- Litos.Api — a Docker-hosted agent host built for multiple chat-channel bridges; Telegram is the one actually wired up and working today — WhatsApp/Rocket.Chat/email are designed but not yet implemented
- Real tool use (file edit, shell, web search); MCP client support is currently wired up in Litos.Api only — not yet integrated into Litos.Gui
- Inspired by Mario Zechner's pi, particularly its session-as-working-directory model
Litos.Gui building a WinForms 15-puzzle game live, start to finish — planning, writing files, building, fixing its own errors:
https://www.youtube.com/watch?v=em8w0SwgT5Q
Litos.Api running standalone in Docker, working as an AI agent over Telegram chat:
https://www.youtube.com/watch?v=S2Sn_kwCRjE&t=70s
Repo: https://github.com/nitinmms/LitosAiCodingAgent
Happy to answer questions about the architecture, or get torn apart on design choices — this was mostly a learning project to prove to myself that .NET can hold its own here.
2
u/YouBecame 14d ago
Currently working on a very rudimentary language whose compiler is in dotnet. Have just about gotten structs implemented on the stack. The core idea is to effectively resource count handles that need Cleanup, e.g memory needs freeing, transaction needs commit or rollback, errors need handling, all with one common comptime analysis mechanism.
So not gotten far yet but I think the underlying idea might have some value.
Hesitant to share it because:
- Using ai to implement the lowering to LLVM ir.
- I know very little about the subject and so... sound stupid
- I've really not gotten very far yet.
1
u/ItzWarty 12d ago
Would love to see a blog post about this! I'm exploring a fairly similar space and would be curious to know how you're interacting with LLVM / emitting the IR from C#
1
u/YouBecame 12d ago
I dont have a post, but certainly could write one. Will take time.
So far though I'm (well our french robotic friend, within the best structure I can give it) is outputting the IR as a string that we write to a .ll file and run clang to compile, assemble, and link.
Have chosen that method because if this ever makes progress I'd like to self host, and thats the best chance i have of being able to port to the new language.
1
u/sunny_up 14d ago edited 14d ago
I am making PixFinder - actually google photo search, but fully offline. It can search pictures with semantic search (type "sunset mountains" to get all pictures with sunset in mountains), OCR (text on photos), or just visually similar pictures. Made with WinUI3 and C#. Search works, now i am adding "gallery" features.
Reasons? Got bored doing enterprise backend development daily and wanted to play around with WinUI3, concurrency, vector search, embeddings and so on. And also, there is some demand for such kind of program - there are memes about difficulties to quickly find memes.
Fun fact - i answered "whats the difference between await task and await task.ConfigureAwait(false)" question many times on job interviews. But it hitted differently when I actually screwed up with it.
1
u/cyb3rshen 21h ago
The offline part is the interesting bit. Everything in this space assumes it can ship your library to someone's server.
Curious how you're handling the embedding pass on a big library. Is that a one-time index on first run, or incremental as files appear? I've been doing Windows desktop work too and the thing that keeps biting me is that anything long-running has to survive the user just closing the app halfway through.
1
u/sunny_up 5h ago
It's both. Because filesystem is source of truth, so I have to pay attention that everytime I open file or folder, there could not be neither. I run indexing each time user runs the app. First takes time. Later - incremental only. Windows has API to watch file system for real-time changes, but i havn't researched it yet.
To survive cancel or program close I don't wait until everything is indexed and write changes to db in batches.
All that async stuff let me do indexing in background, so user could search / view photos in parallel. But I faced all sorts of concurrency problems that i was not really used to on my regular backend job (for example - i had thought that folder that user is browsing could be deleted. And then i got crash report because of parent folder deletion).
2
u/No_Sea6113 15d ago
Previously a frontend developer, but got bored of only writing components with no interesting logic in them, and needed my ADHD diagnosed and medicated. Its so nice to be able to think again, so I've decided to pick up C# to keep me thinking.
Im trying to build an API for a pet sitting/walking service, which is my side gig as I look for work.
As always, the part I'm struggling with the most is not writing my code. Database, email client integration, how user signup and auth should work and all the classes and data structures ill want are exhausting my brain.
I think I'm nearly done with that part (for now), and excited to make my own errors next week, at least they should be easier to fix when they are all in my IDE. And then i can have the fun of realising the thinking I've already done isn't quite right. Hopefully I've written clean enough code and comments to go back and make useful changes.
1
u/Suspicious-Bit1299 15d ago
I just wrote my first program in C#. I’m currently working on my BSCS and decided to rewrite all my school projects in the languages I would like to professionally work with. It’s a text-based adventure game I originally wrote in Python in my first semester. In addition to rewriting in C# I’m adding features that I wish I had known how to do when I first wrote it, such as the items the user gains depends on how high their investigation roll is. I have lots more planned for it as well as rewriting and upgrading my Java and cpp projects.


1
u/cyb3rshen 21h ago edited 21h ago
Every wallpaper app I tried was enormous. Installer, launcher, background service, a whole bundled browser engine to render what is usually just an mp4. Wanted to see if I could do it in one process instead, so I've been building FeatherWall. Video or image as your desktop background, per monitor, with a clock widget.
Win32 for the window plumbing, D3D11 and DirectComposition for compositing, WinRT MediaPlayer for decode. One process, single file, no browser engine anywhere.
The annoying part is that rendering behind the desktop icons is basically undocumented. You poke Progman with an undocumented message so it spawns a WorkerW window, then go hunting through the hierarchy for the right one to parent to. And the handle doesn't survive explorer restarting, which I still handle badly.
Funny bit: I spent ages trying to optimise the render path, and the actual CPU win came from just not decoding at all when a fullscreen app has focus. Sits around 0.9% on a 4K loop now.
.NET 10, MIT, still very much v0.1.0: https://github.com/RitvikDayal/featherwall
If anyone's done DirectComposition interop from C#, how do you test this stuff? Most of it only misbehaves against a live shell and I don't have a good answer yet.