Domain
Software Engineering
Practical software engineering — full-stack web applications, CRUD systems, REST APIs, e-commerce platforms, distributed infrastructure, and developer tooling. Clean architecture, testable code, and explicit data flow.
Technical areas
Languages
Frontend
Backend
Databases
Infrastructure
Tooling
Web Applications
Full-stack web apps, e-commerce platforms, and collaborative tools built end-to-end.
Full-Stack Web App
E-Commerce Platform
A full-stack e-commerce web application with product catalogue, cart, checkout flow, order management, and an admin dashboard — built with Next.js and PostgreSQL.
Core flows complete, admin panel in progress
CRUD Web Application
Task Management App
A collaborative task and project management web app with workspaces, boards, assignments, due dates, and real-time updates using WebSockets.
MVP complete, real-time sync in refinement
Web Engineering
Developer Portfolio
This portfolio — a Next.js 14 App Router site with four domain-themed sections, MDX blog, inline SVG architecture diagrams, and a Tailwind CSS v4 design token system.
Active — continuously updated
Backend & APIs
REST APIs, data management services, and backend systems with a focus on clean resource design.
REST API · Backend
Inventory Management API
A RESTful inventory management API with product CRUD, stock level tracking, supplier management, low-stock alerts, and a CSV import/export pipeline.
Core API complete, webhook system in testing
Distributed Systems Infrastructure
RabbitMQ Messaging Layer
A production-style asynchronous messaging layer with typed exchange schemas, dead-letter queues, retry logic, and structured logging for distributed service communication.
Implemented and integrated into supporting projects
Developer Tooling
CLI utilities, scaffolding tools, and local environment helpers built around Unix conventions.
Engineering approach
Software projects here are built with deliberate architecture choices — schema-first APIs, layered data access, explicit validation boundaries, and infrastructure that handles partial failure gracefully. The goal is code that can be read, tested, and extended by someone other than the original author.