compiler pipelineboot
Bratik Mukherjee

Loading workspace

Source
portfolio graph
Parse
project symbols
Optimize
interactive surface
Emit
ready
 
Scrolling initiates tokenization...
main.rs
function compile(portfolio: Developer) {
  const projects = portfolio.getProjects();
  if (!projects.length) return "Keep coding!";
  
  return buildPipeline(projects);
}
 
// Projects become a draggable abstract syntax tree.
Program
VarDeclaration: projects
String: 'Ping'
String: 'bDoci'
String: 'Sizuka'
String: 'Bimagic'
String: 'MedCheck'
String: 'Traffic'

Phase 03

 

The compiler checks whether each symbol in the portfolio has a real type, scope, and purpose. Skills, education, systems work, and product goals resolve into one consistent developer profile.

Phase 04

 

Projects are lowered into a common IR so web apps, Android apps, CLI tools, and language runtimes can be compared in one pipeline.

Offset: 0x400
PROJECT
Density: 84%
Sizuka

Offset: 0x800
AlgoScope logo
PROJECT
Density: 84%
AlgoScope

Offset: 0xC00
bDoci logo
PROJECT
Density: 84%
bDoci

Offset: 0x1000
fyzenor logo
PROJECT
Density: 84%
fyzenor

Offset: 0x1400
creAItr logo
PROJECT
Density: 84%
creAItr
LexerRecursive Descent ParserASTVisitor Pattern

Phase 05

 

Optimization passes reshape the stack for the artifact being compiled, so frontend, Android, and systems work each get a different weight profile.

Core
TypeScript icon

TypeScript

Weight:[ 100% ]
Framework
Next.js icon

Next.js

Weight:[ 93% ]
Framework
React icon

React

Weight:[ 98% ]
Android
Kotlin icon

Kotlin

Weight:[ 84% ]
Runtime
Node.js icon

Node.js

Weight:[ 85% ]
CLI
Go icon

Go

Weight:[ 82% ]
CLI
Bash icon

Shell Scripting

Weight:[ 82% ]
AI/Data
Python icon

Python

Weight:[ 88% ]
Backend
Java icon

Java

Weight:[ 80% ]
OS
Linux icon

Linux (Arch Linux)

Weight:[ 85% ]
CLI
CLI tooling icon

CLI Tooling

Weight:[ 88% ]
Database
MongoDB icon

MongoDB

Weight:[ 75% ]
Database
PostgreSQL icon

PostgreSQL

Weight:[ 85% ]
Framework
Flask icon

Flask

Weight:[ 82% ]
Network
Socket.IO icon

Socket.IO

Weight:[ 86% ]
Ops
DevOps icon

DevOps

Weight:[ 80% ]
Systems
Assembly icon

Assembly

Weight:[ 75% ]
AI
Agentic AI icon

Agentic AI

Weight:[ 85% ]
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110
010110

Phase 06

 

The optimized portfolio IR emits a different artifact for each kind of work: web, Android, CLI, and language runtime.

codegen.vm
selected target
web.bundle

Ships interactive web experiences: algorithm visualizers, real-time communication, and this compiler-themed portfolio.

Phase 07: Global Linking

Global Impact

// Managed 35+ global contributors across timezones.

// Scaling open-source software to 50+ PRs and 51+ forks.

// Directing CI/CD pipelines for cross-continental delivery.

System Logs

Pipeline History

Trace the evolution of the architecture, from its foundational lexical analysis to its robust tree-walk interpretation and dynamic memory management.

Phase 00: Foundation

The Birth of Sizuka Runtime

System trace thumbnail

The architecture began with a single goal: creating a conversational, dynamically typed interpreted language running on the JVM. The initial lexer (Scanner.java) was hand-rolled to ensure maximum performance, zero-dependency operation, and complete control over the token stream.

"Syntax should feel like a command, not an equation."This mantra drove the creation of the first intermediate representation (AST), dropping traditional heavy boilerplate in favor of intuitive commands likeout and in, parsed cleanly by a custom recursive descent parser.

Phase 03: Control Flow

Mastering Lexical Scoping and Turing Completeness

System trace thumbnail

As the pipeline evolved, we introduced the Environmentengine to handle dynamic lexical scoping. The language moved beyond linear execution, deeply integrating complex AST structures to support conditional logic.

The results were immediate: by implementing the classic whileloop alongside the uniquely conversational from ... tostructure, Sizuka achieved Turing completeness, capable of handling infinite nesting and complex logical expressions safely within the JVM.

Phase 05: Data Structures

Dynamic Memory and the 'Pack' Engine

System trace thumbnail

To handle complex algorithms without relying on recursive call stacks, the architecture required a robust memory structure. The packdata structure was engineered—a highly flexible, heterogeneous array system backed dynamically by Java's ArrayList.

By hooking IndexGet andIndexSet operations into the highest precedence levels of the parser, Sizuka bridged the gap between high-level scripting and low-level memory mutation, allowing for real-time list allocation and dynamic indexing.

Phase 07: Execution

The Visitor Pattern Interpreter

System trace thumbnail

The final piece of the puzzle: real-time execution. By implementing the classic Visitor design pattern, the compiler traverses the deeply nested Abstract Syntax Tree in real-time.

The Interpreter.java acts as the beating heart of Sizuka, seamlessly mapping custom AST nodes to native Java bytecode operations. This architecture achieved highly optimized sub-100ms runtimes for manual-stack sorting algorithms, proving Sizuka as a capable, embeddable scripting engine.

Visual Buffer

Visual Rendering

Artifacts are not just code. The pipeline renders visual experiences using hardware-accelerated buffers and interactive distortion filters.

Interactive distortion
  • 01.Move cursor over the canvas to distort pixels.
  • 02.Swirl mode enabled with dynamic jitter.
  • 03.Adaptive dropout for high-contrast edges.
BIMBOKBIMBOKBIMBOK

// End of execution. Artifacts generated.