Default language is English; your choice is saved in this browser.

Publications

Technical articles on algorithms, data structures, cryptography, and software design from Making Code, my technical blog.

Why I'm Rebuilding a Fintech Core — From Zero, Slowly

Why I'm Rebuilding a Fintech Core — From Zero, Slowly

A public series on rebuilding a fintech reference backend from scratch — NestJS, hexagonal boundaries, PostgreSQL, Redpanda, outbox/idempotency, and honest trade-offs after sprinting the Arkano banking challenge.

NestJSFintechArchitectureEvent-DrivenHexagonal
How to Build a Multi-Tenant SaaS Application in NestJS Without Duplicating Your Code

How to Build a Multi-Tenant SaaS Application in NestJS Without Duplicating Your Code

If onboarding a new customer requires deploying a new application or duplicating an entire database, your SaaS architecture probably is not ready to scale. Multi-tenancy in NestJS, done cleanly.

NestJSArchitectureSaaSMulti-tenant
Your API Doesn't Need More Services, It Needs Events

Your API Doesn't Need More Services, It Needs Events

If every new feature forces you to modify five different services, you probably have a coupling problem. Event-Driven Architecture to decouple NestJS modules.

NestJSArchitectureEvent-DrivenCQRS
CQRS in NestJS: Stop Mixing Reads and Writes in the Same Service

CQRS in NestJS: Stop Mixing Reads and Writes in the Same Service

When your UserService handles POST and GET, optimizations on one side break the other. Commands, queries, and handlers with @nestjs/cqrs.

NestJSArchitectureCQRS
Why Your NestJS Service Becomes a Mess (and How Hexagonal Architecture Fixes It)

Why Your NestJS Service Becomes a Mess (and How Hexagonal Architecture Fixes It)

Controllers that know too much, entities full of ORM decorators, and tests that need a database. A practical guide to ports and adapters in NestJS.

NestJSArchitectureHexagonalClean Architecture
HeapSort Implementation in Golang

HeapSort Implementation in Golang

Step-by-step implementation of the HeapSort sorting algorithm in Go, including heap construction and in-place sorting.

Data StructuresAlgorithmsGo
MergeSort Implementation in Golang

MergeSort Implementation in Golang

Divide-and-conquer MergeSort implemented in Go with recursive splitting and merging of sorted subarrays.

Data StructuresAlgorithmsGo
QuickSort Implementation in Golang

QuickSort Implementation in Golang

QuickSort in Go using partition-based recursion, a practical example of average-case efficient sorting.

Data StructuresAlgorithmsGo
Insertion Sort Implementation in Golang

Insertion Sort Implementation in Golang

Simple insertion sort in Go: building a sorted array one element at a time, ideal for small datasets.

Data StructuresAlgorithmsGo
Bubble Sort Implementation in Golang

Bubble Sort Implementation in Golang

Classic bubble sort implemented in Go, comparing adjacent elements and swapping until the list is ordered.

Data StructuresAlgorithmsGo
Pattern Recognition with Neural Networks

Pattern Recognition with Neural Networks

An artificial neural network is a massively parallel distributed processor that has a natural tendency to store experiential...

AINeural NetworksJava
Sorting Methods Implementation in Python

Sorting Methods Implementation in Python

Implementation and comparison of classic sorting algorithms in Python, from simple methods to more efficient approaches.

Data StructuresAlgorithmsPython
RSA Encryption

RSA Encryption

Public-key RSA cipher explained and implemented in Java, covering key generation, encryption, and decryption.

CryptographySecurityJava
Rabin Encryption

Rabin Encryption

Rabin cryptosystem based on modular arithmetic and prime factorization, with a practical Java implementation.

CryptographySecurityJava
Hill Cipher

Hill Cipher

Polygraphic substitution cipher using linear algebra and matrix multiplication, implemented in C++.

CryptographySecurityC++
Sorting Methods Complexity Analysis

Sorting Methods Complexity Analysis

In computer science and mathematics, a sorting algorithm is an algorithm that puts elements of a list in a sequence given by an...

Data StructuresAlgorithmsJavaAnalysis
Playfair Cipher

Playfair Cipher

Digraph substitution cipher using a 5×5 key square, with encryption and decryption logic in C++.

CryptographySecurityC++
Vernam Cipher (One-Time Pad)

Vernam Cipher (One-Time Pad)

Perfect secrecy with the Vernam one-time pad: XOR-based encryption when key length matches the message.

CryptographySecurityC++
Vigenère Cipher

Vigenère Cipher

Polyalphabetic substitution cipher using a repeating keyword, implemented with modular arithmetic in C++.

CryptographySecurityC++
Affine Cipher

Affine Cipher

Monoalphabetic substitution combining multiplication and addition modulo 26, with encrypt and decrypt routines.

CryptographySecurityC++
Caesar Cipher

Caesar Cipher

Classic shift cipher rotating letters by a fixed offset, implemented in Java with wrap-around for the alphabet.

CryptographySecurityJava
Analysis and Design of Algorithms - Introduction

Analysis and Design of Algorithms - Introduction

A human being thinks and behaves as such following a logical sequence of actions. This same association could be coupled as far a...

AlgorithmsDesignData Structures

Need a senior backend engineer?

Available for backend architecture, microservices, and AWS delivery — from design reviews to production rollouts.

Get in touch