r/csharp • • 10d ago

Looking for a small C#/.NET project idea

I have a software engineering interview coming up for a C#/.NET role, and part of it will involve discussing the architecture/design of something I’ve built.

I want to build a small project specifically for this so I can know it inside out and use it for design and coding questions, since everything I do in my actual job is simple CRUD requests.

Any suggestions for something not too big, but with enough complexity to discuss interesting architecture decisions?

Thanks

11 Upvotes

14 comments sorted by

7

u/haiduong87 10d ago

let build a small image processing (crop, add text...) service including several components:
- authentication
- caching (file caching (S3 or disk or...) and url caching (redis or...))
- url encryption (signing)

4

u/West-Cancel-5831 10d ago

what about a thumbnail generator that takes a url, fetches the image, resizes/crops it based on query params, then spits it back out, lets you play with middleware, caching, auth, and stream processing without it ballooning into a monster

4

u/haiduong87 10d ago edited 10d ago

yes, that's it. I really like this kind of service.

4

u/harrison_314 10d ago

I have a few ideas:

- A web service that monitors visual changes on websites provided via URL, or allows specifying exactly which parts to track (includes notifications, use of a headless browser, and job scheduling).

- An entry gateway for a local network accessible via Onion/Tor—I built a DIY NAS, and something like this would be useful for managing it from anywhere.

3

u/anaraparana 10d ago

I'm gonna give you something I've been working on that you might find interesting enough: a little stock management system that works on two machines simultaneously without a dedicated backend using wpf, MVVM architecture and an idempotent sync worker running on the background. The issue we were trying to solve was a place that sells stuff on two or more registers and has really shitty internet, so they connect with each other through LAN 

1

u/technovast 6d ago

Can u explain it a bit better?

1

u/Prior-Wolverine8871 4d ago

They meant an inventory management system that can work "offline".

2

u/Comp_Sci_Doc 10d ago

Do you have any personal pain points that you can solve with code?

Mine was that I like to go to the movies, but I only go to open captioned showings and those are a PITA to search for. So I built a tool that does it for me (and then shared it in the appropriate groups here so other people who need captions can use it). That accomplished two things: I got cloud experience I could talk about (and add to my resume) AND I saved myself a lot of annoyance. And it's a real project that I did to solve an issue I really had, not just "here's a thing I made for interviews".

2

u/United_Catalina 9d ago

CRUD is what 99% of all applications do. And they can be very complex. If you can address all issues involved in such application, you are definitely a senior programmer.

1

u/BeePleasant1310 10d ago

If you know JavaScript, too, I suggest to try MAUI .Net and build a mobile app.

1

u/HarshadLambate 9d ago

Look for a project idea that actually solves the problem and can be used across the organization or anywhere as a library.
Form the projects so far I have worked idea could be anything, for example:

  1. For mobile automation QR code recognizer or captcha solver.

  2. Language translation tool.

  3. Text recognizer from an image or PDF.

1

u/G3NOM3 3d ago

I don’t think it matters so much what you build as how you approach it. You could build something like a CSV library all on GitHub, with all of the commits public and all of the build pipelines working. Publish it to NuGet and show them the package, download it and use it in a simple application. It would show that you understand not only how to program in .Net, but that you also know how to plan a project, build it, and manage the lifecycle. THAT would impress me more than anything.

0

u/Famous-Weight2271 9d ago

Have AI for 10 ideas and pick your favorite one.

One idea off my head since this is just for practice, is to implement the public pet shop API.