Projects

BlogDevelopment: Started - Ongoing

This bilingual blog and portfolio stores English and Persian content in Markdown, then builds static HTML with TypeScript and editable templates. It publishes posts, projects, feeds, localized routes, and a sitemap without a CMS.

The build validates front matter and translation links, renders Markdown safely, and generates diagrams as static SVGs. The repository keeps authoring content and presentation templates in the same small codebase.

Read more ...

PulseDevelopment: Started - Updated

Pulse checks whether a service behaves correctly from different networks, not merely whether one monitor can reach it. A central ASP.NET control plane distributes definitions to deployable agents, which return measurements over HTTP.

HTTP, ping, and TCP checks record latency and failures; the dashboard compares recent results and agent health. SQLite keeps the first deployment simple, while shared contracts keep the server, agents, and Blazor UI aligned.

Read more ...

cowork-serverDevelopment: Started - Updated

cowork-server is a C# API for shared coworking meeting rooms. It checks access, room availability, opening hours, booking windows, duration limits, conflicts, and price snapshots before saving a reservation.

Commands and queries stay separate inside one application and database. The booking lock coordinates competing requests only within one process, so a multi-instance deployment would need another concurrency mechanism.

Read more ...

Tab VaultDevelopment: Started - Updated

Tab Vault is a TypeScript Manifest V3 browser extension for saving selected open tabs and restoring them later. It runs on Chromium-based browsers and keeps saved sessions in browser-managed storage.

Users can select tabs, export a session as JSON, import it again, and restore saved URLs. The extension keeps the workflow local rather than depending on a server or account.

Read more ...

Sequential GuidDevelopment: Started - Updated

Sequential Guid is a .NET Standard 2.1 NuGet package that generates GUIDs in SQL Server comparison order. It targets tables where random GUID inserts can scatter index pages and reduce locality.

The package supports sequential and comb-style generation while preserving a GUID value at the API boundary. It is a small utility for a specific database ordering concern, not a general identifier strategy.

Read more ...