Oğuzhan KARAGÜZEL

OĞUZHAN KARAGÜZEL

Software Developer

Projects

Things I have
built myself

Work I have taken from an idea all the way to something that actually runs. One is a product restaurants use every day, one is the content management system this site runs on, and one is a .NET library anyone can install from NuGet.

01ByteCraft · ProductLive

VectoPos

A restaurant's till, floor and kitchen in one system.

The product of ByteCraft, the company my friend Ali Ozan Özkul and I started. It follows an order from the moment it is taken, through the kitchen, to the table or the door, all in one place. Restaurants have been using it since January 2026.

  • A guest scans the QR code on the table and the menu opens on their phone. Change a price and the menu changes with it.
  • Orders written on WhatsApp land in the system by themselves, and takeaway, pick-up and delivery never get mixed up.
  • Every order prints at the right station, and a screen in the dining room shows which orders are ready.
  • Stock goes down when a sale is closed, and you hear about it when something runs low.
  • QR menu
  • Table management
  • Quick sale
  • WhatsApp orders
  • Stock tracking
  • Kitchen and bar tickets
  • Live order screen
  • 15Modules
  • Web + mobileOne platform
  • 2026Went live
ORDER STATUSLIVE

PREPARING

A3B4B1#9570B2#E45A

READY · ENJOY

#2BAE#F100#7AD3#8E69B10A16
FREE TURKISH COFFEE WITH EVERY ORDER BETWEEN 13:00 AND 15:00!

WhatsApp order

2 cheeseburgers and 1 ayran, please

Added to your basket. Total: ₺680

02Open source · CMSThis site runs on it

Elevare

A content management system for building and running a site without writing code.

An open-source CMS on .NET 9, with a drag-and-drop page builder, approval workflows, multi-language content and SEO tools. I wrote it for my own site first, and opened it up once it had matured. The page you are reading was made with it.

  • Pages are built by dragging GrapesJS blocks around, and a preview link can be shared before anything goes live.
  • Permissions are set per role and checked on the server on every request.
  • When a page moves, its redirect writes itself, and dead targets and loops show up on screen.
  • On a machine with Docker, it starts with three commands.
  • .NET 9
  • Blazor Server
  • ASP.NET Core MVC
  • PostgreSQL
  • GrapesJS
  • Docker
  • .NET 9Blazor and MVC
  • 730+Automated tests
  • MITLicence
The Elevare page builder: blocks on the left, the page in the middle, settings on the right
This page was made with Elevare too
03Open source · NuGetv3.0.0

SpectraUtils

A small library for what every .NET app built for Turkey ends up needing.

Turkish ID, tax number and IBAN validation, name formatting that follows Turkish rules, PBKDF2 password hashing and secure code generation. On NuGet since 2023, and reviewed from top to bottom in version 3.0.

  • Validation comes as DataAnnotations attributes: put [TCIDValidation] on the model and you are done.
  • "ismail" in capitals becomes "İSMAİL", not "ISMAIL", whatever the server's language settings.
  • Passwords are stored with the settings OWASP recommends, and old hashes upgrade themselves when the user signs in.
  • TCKN
  • VKN
  • IBAN
  • PBKDF2
  • OTP
  • .NET 8 · 10
  • 1,800+NuGet downloads
  • 298Tests
  • MITLicence
RegisterRequest.cs
public class RegisterRequest
{
    [TCIDValidation]
    public string? IdentityNumber { get; set; }

    [IbanValidation("TR")]
    public string? Iban { get; set; }

    [MinimumAge(18)]
    public DateOnly? BirthDate { get; set; }
}

names.FullNameCorrection("oğuzhan", "karagüzel");
// "Oğuzhan KARAGÜZEL"
dotnet add package SpectraUtils

Have a project in mind?

Tell me about your idea and we can work out where to start together. If you would rather read the code first, it is all on GitHub.