~ whoami

Ruven Witzig

Developer who thinks in algorithms recursion logic automation efficiency _

Building everything from backends to mobile apps to neural networks.
If it can be automated, I've probably already built it.

01

About Me

// who I am

I'm a developer who lives for logic. While my room might look like chaos, my codebase is immaculateโ€”every variable named, every function documented, zero redundancy. // ironic, I know

Sure, a beautiful UI is niceโ€”but nothing compares to a perfectly optimized, fully automated algorithm. That moment when O(nยฒ) becomes O(log n)? Gorgeous. I build across the entire stack: web, mobile, APIs, neural networksโ€”but my heart belongs to the logic underneath.

What I love about coding is the freedom. No barriers. Build something as big as Google from your bedroomโ€”no money, fame, or permission required. Everyone starts equal. In your own codebase, you're basically a god of your own universe, shaping reality one function at a time.

Outside of code, I'm probably debating the Ship of Theseus, questioning whether true randomness exists, or going down a rabbit hole about the universe. I'm a firm believer that everything has an explanationโ€”we just haven't found the right math yet. // determinism.exe loading...

โšก My Philosophy

  • Find structure in chaos โ€” There's always a pattern
  • Automate everything โ€” If you did it twice, script it
  • Efficiency matters โ€” O(n) is nice, O(log n) is better
  • Everything is explainable โ€” We just need better tools
ruven.ts
interface Developer {
  name: "Ruven Witzig";
  passion: "Optimized Algorithms";
  loves: [
    "Problem Solving",
    "Automation",
    "Philosophy",
    "The Universe"
  ];
  believes: "Everything is explainable";
}

const me: Developer = {
  // Simulating the Big Bang...
};
02

Skills

// what I work with

๐ŸŽจ Frontend

JavaScript
โ”œโ”€โ”€ TypeScript daily driver
โ”œโ”€โ”€ React
โ”‚ โ”œโ”€โ”€ Next.js
โ”‚ โ””โ”€โ”€ Vite โšก fast
โ””โ”€โ”€ Angular
CSS/SCSS
โ””โ”€โ”€ Tailwind
โ””โ”€โ”€ Bootstrap
JavaScript TypeScript React Next.js Vite Angular Tailwind

๐Ÿ“ฑ Mobile

Native
โ”œโ”€โ”€ Swift iOS
โ””โ”€โ”€ Kotlin Android
Cross-Platform
โ””โ”€โ”€ React Native
โ””โ”€โ”€ Expo daily driver
โ””โ”€โ”€ Ionic
Swift Kotlin React Native Expo

๐Ÿ—„๏ธ Data

SQL
โ”œโ”€โ”€ PostgreSQL daily driver
โ””โ”€โ”€ MySQL
NoSQL
โ”œโ”€โ”€ MongoDB
โ””โ”€โ”€ Firebase
Vector DBs exploring
โ”œโ”€โ”€ Pinecone
โ”œโ”€โ”€ Sevalla
โ””โ”€โ”€ Supabase
PostgreSQL MongoDB Firebase Vector DBs

๐Ÿง  AI & ML

// how machines think fascinates me

Neural Networks โ™ฅ
โ”œโ”€โ”€ TensorFlow
โ””โ”€โ”€ PyTorch exploring
LLMs & RAG daily driver
โ”œโ”€โ”€ OpenAI API
โ”œโ”€โ”€ Embeddings
โ”œโ”€โ”€ LLama
โ””โ”€โ”€ Custom KBs
Neural Networks LLMs RAG TensorFlow PyTorch

๐Ÿš€ DevOps & Infra

Version Control
โ””โ”€โ”€ Git daily driver
Deployment
โ”œโ”€โ”€ Docker
โ”œโ”€โ”€ CI/CD
โ”œโ”€โ”€ Heroku
โ”œโ”€โ”€ Deploio ๐Ÿ‡จ๐Ÿ‡ญ Swiss
โ””โ”€โ”€ Sevalla
Git Docker CI/CD Sevalla

๐Ÿ”ญ Currently Exploring active

// the rabbit holes I'm currently in

๐Ÿงฌ LLM Training & Finetuning Making models actually useful
๐Ÿฆ€ Rust Why not
โš›๏ธ Quantum Computing Because why not
๐Ÿค– What Else? Automating things, obviously

๐Ÿฆ• Legacy ancient

// yes, someone still knows these exist

The Dinosaurs
โ”œโ”€โ”€ JavaFX 2014 vibes
โ””โ”€โ”€ ColdFusion sorry
JavaFX ColdFusion
03

Playground

// see algorithms in action

I love visualizing the beauty of algorithms. Here are a few interactive demosโ€”tap to play!

Sorting Algorithm

Neural Network

Live

Pathfinding

04

Projects

// things I've shipped

๐Ÿ“ฑ Mobile Apps

๐Ÿข Professional Work // with enginess & clients

๐Ÿ› ๏ธ Developer Tools // open source utilities

05

What I Build

// areas of expertise
๐Ÿง 

Neural Networks

Fascinated by how AI actually thinks. Not just using modelsโ€”understanding architectures, activation functions, and why backpropagation works.

๐Ÿ”

Vector DBs & RAG

Building intelligent search with embeddings and retrieval-augmented generation. Making AI actually useful with your own data.

๐Ÿ‡จ๐Ÿ‡ญ

DSGVO-Conform Solutions

Privacy-first development with Swiss-hosted infrastructure. Using DSGVO-compliant LLMs and serversโ€”because data protection isn't optional.

โšก

Workflow Automation

If it can be automated, I've probably already built it. Turning manual processes into scripts that run themselves.

๐Ÿ› ๏ธ

Developer Tools

Building tools that make development faster, easier, and more accessible. Good DX isn't a luxuryโ€”it's a multiplier.

06

Tech Explained

// complex ideas, simple words

I believe truly understanding something means you can explain it simply. Here's how I'd explain some fascinating concepts to a friend over coffee.

Imagine your brain as billions of tiny switches connected by wires. Each switch decides whether to pass a signal forward based on the signals it receives. That's essentially what a neural network doesโ€”but with math.

Input
Hidden
Output

โšก Neurons

Each circle is a neuron. It takes numbers in, does some math, and spits a number out. Simple as that.

๐ŸŽš๏ธ Weights & Biases

The connections between neurons have weightsโ€”like volume knobs. They control how much influence one neuron has on another. These are the numbers the network learns.

๐Ÿ”ฅ Activation Functions

After summing inputs, neurons use an activation function (like ReLU or Sigmoid) to decide: "Should I fire or stay quiet?" This adds non-linearityโ€”letting networks learn complex patterns, not just straight lines.

๐Ÿ“š Learning (Backpropagation)

The network makes a guess, checks how wrong it was (the loss), then works backwards adjusting weights to be less wrong next time. Repeat this millions of times and it "learns."

TL;DR

Neural networks are layers of math functions that adjust their internal numbers through trial and error until they get good at recognizing patterns.

Traditional search looks for exact words: search "car" and it finds "car"โ€”not "automobile" or "vehicle." Vector search understands meaning. It knows these words are related, even if spelled completely differently.

Traditional Search "fast car" โ†’ LIKE '%fast%' AND '%car%' โŒ Misses "speedy automobile"
โ†’
Vector Search "fast car" โ†’ [0.8, -0.2, 0.5, ...] โœ“ Finds similar meanings

๐Ÿ“ Embeddings

Text gets converted into a list of numbers called a vector (or embedding). Words with similar meanings end up with similar numbers. "King" and "Queen" are close together; "King" and "Banana" are far apart.

๐Ÿ“ Vector Distance

To find similar content, we measure the distance between vectors. Closer vectors = more similar meaning. It's like comparing coordinates on a map, but in hundreds of dimensions.

๐Ÿ—„๏ธ Vector Databases

Regular databases aren't optimized for "find the 10 closest vectors." Vector databases (Pinecone, Weaviate, Qdrant) use special indexing to make this lightning-fast, even with billions of vectors.

๐Ÿค– RAG (Retrieval Augmented Generation)

LLMs have a knowledge cutoff and can hallucinate. RAG fixes this: before answering, we search a vector database for relevant documents, then give those to the LLM as context. Now it answers based on your actual dataโ€”not just what it memorized during training.

TL;DR

Convert text to numbers, store in a special database, search by mathematical similarity. RAG uses this to give AI assistants access to your own documents.

To understand recursion, you must first understand recursion. // This is the only acceptable recursion joke

Seriously though: recursion is when a function calls itself to solve smaller pieces of the same problem until it hits a simple case it can solve directly.

factorial.ts
function factorial(n: number): number {
  // Base case: stop here!
  if (n <= 1) return 1;
  
  // Recursive case: call yourself
  return n * factorial(n - 1);
}

// factorial(4) = 4 * 3 * 2 * 1 = 24

๐Ÿ›‘ Base Case

The base case is your exit door. Without it, the function calls itself forever (stack overflow!). It's the simplest version of the problem that you can solve directly.

๐Ÿ“ฆ The Call Stack

Each recursive call adds a "frame" to the stackโ€”like stacking plates. When a base case is hit, the plates start coming off: each call returns its result to the one that called it.

โœจ When to Use It

Recursion shines for problems that are self-similar: tree traversal, nested structures, divide-and-conquer algorithms (merge sort, quicksort), mathematical sequences. If the problem contains smaller versions of itself, recursion is your friend.

โš ๏ธ The Catch

Recursion can be memory-hungry (each call uses stack space) and sometimes slower than loops. But for the right problems, it's so elegant that it's worth it. // readability > micro-optimization

TL;DR

Recursion breaks big problems into smaller identical problems until they're trivial to solve, then combines the answers back up. Elegant, powerful, and occasionally mind-bending.

07

Let's Connect

// get in touch

Got an interesting problem to solve? A system to architect?
Or just want to chat about the beauty of recursive algorithms?

$ send_message --to ruven
โ†’ Say Hello