continuously learning

A Digital Archive of Curiosity

Documenting the journey of building, exploring, and growing through code. Not a portfolio—rather, a living record of technical evolution.

currently exploring event-driven architecture · distributed systems · human-computer interaction
scroll
01

About

I believe in learning as a practice, not a destination. Every line of code, every system explored, every problem wrestled with—it's all part of a continuous process of becoming.

This archive documents that process. Not to showcase achievements, but to capture the evolution of understanding. The questions that led to insights. The experiments that failed and taught. The gradual accumulation of knowledge through doing.

Technology, to me, is a medium for thought. Building systems is how I understand complexity. Writing about what I learn is how I make that understanding durable.

Growth Over Goals

Progress measured in understanding, not output. The journey matters more than the destination.

Depth Over Breadth

Preferring to understand a few things deeply rather than many things superficially.

Documentation as Practice

Writing to think. Archiving to remember. Sharing to connect.

02

Current Focus

exploring since 2024

Event-Driven Architecture

Understanding how systems communicate through events. Exploring patterns like CQRS, event sourcing, and saga orchestration. Building mental models for distributed state management.

kafka event sourcing cqrs
deep dive since 2024

Distributed Systems

Studying consensus algorithms, distributed transactions, and failure modes. Reading papers on consistency models and building intuition for trade-offs in system design.

consensus cap theorem raft
learning since 2025

Human-Computer Interaction

Exploring how we interface with complex systems. Interested in cognitive load, interface design patterns, and the psychology of developer tools.

cognitive load ux patterns tooling
experimental ongoing

Productivity Systems

Building personal tools for thought. Experimenting with note-taking systems, knowledge graphs, and workflows that augment cognition rather than just organize tasks.

tools for thought knowledge graphs zettelkasten
03

Projects

Experiments, explorations, and things built along the way

active

Event Ledger

A lightweight event sourcing framework for understanding how state evolves through time. Built to learn, not to ship.

typescript event sourcing
view →
experimental

Distributed Sketchpad

A collaborative canvas exploring CRDTs and real-time synchronization. An exercise in understanding conflict-free replicated data types.

rust crdts websockets
view →
archived

Query Optimizer Visualizer

Interactive visualization of database query plans. Helped me understand how query engines make decisions about execution.

d3.js sql
view →
active

System Design Notes

A growing collection of architectural patterns, trade-off analyses, and design decisions documented while studying large-scale systems.

system design documentation
read →
experimental

Consensus Simulator

Visual simulation of the Raft consensus algorithm. Nodes, elections, log replication—made tangible through interaction.

go distributed systems
view →
archived

Personal Knowledge Graph

Early exploration into networked thought. A precursor to understanding how ideas connect and evolve over time.

graph databases neo4j
view →
04

Learning Archive

Quick notes, observations, and curiosity-driven explorations

observation 2 min read

On Eventual Consistency

The tension between availability and consistency isn't a bug—it's a fundamental property of distributed systems. Understanding when to embrace eventual consistency versus when to demand strong consistency is a key architectural skill...

read note →
architecture 3 min read

Sagas vs. Two-Phase Commit

Distributed transactions force us to choose between coordination overhead and failure complexity. Sagas offer a different model—compensating actions instead of locks. The trade-off is complexity in the failure path...

read note →
curiosity 2 min read

Why CRDTs Feel Like Magic

Conflict-free replicated data types seem to violate our intuition about distributed state. But they're really just mathematical structures with specific properties— commutativity, associativity, idempotency...

read note →
thought 1 min read

The Cost of Abstraction

Every abstraction leaks eventually. The question isn't whether to abstract, but when the cost of the abstraction is worth the simplification it provides...

read note →
exploration 4 min read

Backpressure in Stream Processing

When producers outpace consumers, something has to give. Backpressure is the mechanism by which systems communicate their limits. Understanding flow control is understanding system boundaries...

read note →
observation 2 min read

On Writing Documentation

Documentation isn't just for others—it's for your future self. The act of explaining forces clarity. If you can't explain it simply, you don't understand it well enough yet...

read note →
05

Journey

A chronological record of growth and exploration

2025

Exploring Distributed Systems

Deep dive into consensus algorithms, distributed transactions, and the theoretical foundations of reliable systems.

2024

Event-Driven Architecture

Discovered the power of events as a communication primitive. Built systems that think in terms of state changes rather than commands.

2023

System Design as Practice

Started studying how large systems are built. Learned that every design is a trade-off, and context determines correctness.

2022

First Full-Stack Deployment

Built and deployed something complete. Learned that shipping is a skill, and production teaches what development cannot.

2021

Backend Fundamentals

Started with the basics—HTTP, databases, APIs. Realized that simple concepts combine into complex systems.

2020

The Beginning

Wrote the first line of code. Discovered that programming is thinking made tangible, and was hooked.

06

Connect

Digital presence across the web

07

Philosophy

"The goal is not to build a portfolio of finished work, but to cultivate a practice of continuous learning. Every project is a question. Every line of code is an exploration. Documentation is how we make the journey visible."

On Learning

Learning is not linear. It's a spiral—revisiting concepts at deeper levels, connecting ideas across domains, building intuition through practice. The archive captures this spiral, making visible the invisible process of understanding.

On Experimentation

Not every experiment succeeds, and that's the point. Failed experiments teach what working code cannot. The value is in the attempt, the hypothesis, the discovery of what doesn't work.

On Consistency

Small, consistent efforts compound. A note here, a project there, a deep dive when curiosity strikes. The archive grows not through grand gestures but through the accumulation of small acts of learning.

On Building

Building is thinking. The act of creation forces clarity. When you build, you confront the gap between what you think you know and what you actually understand. That gap is where growth happens.