Tuesday, July 28, 2026

San Francisco Experience Overall So far! 20 days In! Part 1

It has been exactly 20 days since I came to San Francisco, and I intend to stay for 40 more. The decision itself was an expensive one to make in the first place. The older I become, the more I think in terms of ROI (return on investment) and taking bets I should be able to navigate. But someone told me that if those are the only kinds of bets I will make, then what is the difference between me and AI? This sparked anger in me, as I wholeheartedly believe that risk and hustle are native to human endeavour.

I have been to the Bay Area before and was truly inspired by the people hustling so hard. The decision was very difficult to justify from an ROI standpoint, given I was paying no rent and living a very easy life back home. So, with no plans and no idea where my career was going, I took the step to be in SF to find other people who are in the same place as me. A little ambitious, a lot hopeful, and ready to take plunges into darkness and come out holding the shining torch that lights the way, it was a VERY BIG STEP, but right now I am so glad I made that choice.

During my flight, I was half-minded to start job hunting the moment I landed. Now, reflecting back after 20 days, that was a dumb idea. I don't know if 2 months is enough time to come up with something and execute it with full rigor. I am going to try my best, and hope that's all it takes.

It is truly inspiring to meet amazing builders, and this journey was no different. I met my cofounder, who urged me to stop thinking of myself as a human being with the potential for emotion, and instead as an MBA who treats everything as a resource. Given that I had done nothing but move from idea to idea in the last 12 months without following through, it felt like surprising advice.

The only thing I could think of before the journey was to build something that was hard to build, a product with deeptech capabilities. But my experience in SF over the last 20 days has been quite different. The takeaway is that any simple consumer startup with a content calendar is far more valuable than a startup building with a "deeptech moat." Deeptech moats aren't really moats in the future. They are going to be part of a level playing field, as intelligent models can understand and augment users' needs much better. The real game, however, is always about a different business model, and how free, uninterrupted intelligence helps people do a lot more than they are used to. Any B2B startup is just waiting for an open-source GitHub repo with a Claude prompt, and fighting it is very hard as more people or agents contribute to building it, making it secure, and maintaining it.

So what is the moat for early stage company? Let me take a step back on someone curious and deeply passionate. The younger me. 

It reminded me to try to become more like the old me rather than the new me. There was a time when I used to write daily blogs on life and tech. What inspired me was not writing or books, it was storytelling, and storytelling has changed its forms. I am not chasing views or followers, I am sharing an idea I am passionate about. The whole perspective shifts when you start thinking from the principles of creating value. You may end up with fewer tech ideas, but your ability to sustain your own motivation through the journey stays much longer. I think storytelling is the biggest moat a startup can have, because the right ideas reiterated across platforms give you the distribution that is the key to unlocking success. If you can be heard and be seen, then 90% of the work is done. The remaining 10% is building a great product.

My next 30 days look like content calendar and community engagements at a deeper level, I want to push for a product that I truly enjoy. 

During my first 2 weeks here, I was working on CSS for Voice, basically a programming language for voice where you can code the voice language for creating voice output. I was able to fine-tune a model called SparkTTS with Qwen architecture where, instead of using emotion tags for entire paragraphs, it applied them to specific words, creating the right emotion and tone for each word. It was a lot of fun, and the results compounded quickly.

The next week, was largely covered with attending hackathons, I built, 

  • a chrome extension where you can vibecode any page after it's loaded with custom database, resulting frontend being created as template, which can load on any page. 
  • a luma MCP server which would register to LUMA event and also send me details of people who are planning to attend the event, helping me make better choices. 
  • a voice agent that would nag me about something 

I found talking to a voice agent about my problems and growth particularly helpful, and decided to move that forward as the project I would prefer to work on full time for a longer duration. I have shown the product to multiple people, created a Google Keep note with a list of signups, and drafted video scripts for the first two videos I intend to publish once the product is in a more polished state.




Wednesday, July 1, 2026

OmniVoice Deep Dive

This is a deep dive explainer on the OmniVoice Research Paper / Repo and will help you understand OmniVoice TTS Deep Learning Systems.

  1. Dataset and understanding the data
  2. Training and how it works
    • Inputs
    • Masking
    • Bidirectional Transformer
    • Predict
    • Loss function
  3. Inference
    • Duration Estimation
    • Time Step Schedule
    • Iterative Loop and Unmasking

There are two jobs this paper asks one model to do:

  • Voice design — conjure a voice from an instruction in plain text.
  • Voice cloning — reproduce a specific person's voice from a handful of samples.

Both ambitions live or die on the corpus. So that's where we start.

Dataset and Understanding the Data

The dataset was built from open source data and totals approximately ~581,000 hours of audio across many languages. Each entry in the dataset had an instruct field describing the sample.

Only id, audio_path, and text were strictly required — the rest of the instruct metadata came from the underlying source datasets:

Emiliaopenxlab.org.cn/datasets/Amphion/Emilia
ParaSpeechCapsgithub.com/ajd12342/paraspeechcaps
NvSpeechgithub.com/open-mmlab/NvSpeech
NonVerbalSpeech-38Kgithub.com/zhourongleiden/NonVerbalSpeech-38K

{"id": "EN_B00000_S00001_W000001", "text": "The quick brown fox jumps over the lazy dog.", "text_pinyin": null, "language_id": "en", "instruct": "A young female speaker with a clear American accent, medium pitch, moderate speaking rate", "audio_duration": 4.21, "clean_start_token_idx": null}

The Corpus Is Deeply Uneven

English alone brings 206,061 hours. Mandarin adds another 111,343. By the time you reach Swedish at the tail of the top 20, you're down to 2,453 — and the other 626 languages sit below even that. Train naively on this and the model simply learns to be fluent in English and mumble everything else.

Flattening the Curve With Upsampling

High-resource languages drown out everyone else. The goal isn't to make the distribution uniform — that throws away genuine signal — but to let low-resource languages be seen often enough to matter.

The paper borrows a LoRA-style upsampling trick: compute a repetition factor for each language and repeat its data that many times per epoch.

ri = max( 1, round[ (Dmax / Di)1−β ] )

  • ri — repetition factor for language i, how many times its data repeats
  • Di — total audio hours for language i
  • Dmax — largest corpus = English, 206,061 h
  • β ∈ [0,1] — smoothing knob, β = 0.8 in practice

How it behaves. For the biggest language, Dmax/Di = 1, so ri = 1 — no repetition. For smaller languages the ratio climbs, and raising it to the power (1 − β) dampens how aggressively it climbs.

For example, with β = 0.8 and English as the biggest language (206,061h):

  • English (206,061h): ratio = 1, so r = 1, seen once.
  • Swahili (418h): ratio = 493, raised to 0.2 → r ≈ 3, repeated 3×.
  • Afrikaans (4.4h): ratio = 46,832, raised to 0.2 → r ≈ 9, repeated 9×.

Code — omnivoice/data/dataset.py

Training and How It Works

Inputs

There are two streams of input for the voice to be cloned:

  • Acoustic token matrix [T × C]
  • Text tokens — instruction and transcript

Acoustic token matrix [T × C]

The acoustic token matrix carries the details of the voice to be cloned. The audio tokenizer is HiggsAudioV2 (eustlb/higgs-audio-v2-tokenizer). It produces 8 codebook layers (C) with a vocabulary of 1025 per layer (1024 codes + 1 mask token). T is the number of time steps.

File: omnivoice/scripts/extract_audio_tokens.py:228–247

# HiggsAudioV2 tokenizer encodes raw audio into 8 codebook layers
audio_tokens = worker_tokenizer.encode(
    inputs["input_values"],
).audio_codes.squeeze(0)   # Shape: [8, T]

assert audio_tokens.size(0) == 8   # 8 codebook channels

""" Each of the 8 codebooks has a vocab of 1025 (IDs 0-1023 for audio codes, 1024
= mask token). The result is stored as int16 .npy arrays in WebDataset tar
shards. """

Text Tokens

The text tokens represent something like "male, in 30s, high pitch" along with the transcript to be synthesized, e.g. "Hi, I am Vaibhav, thanks for reading my blog."

Text uses a standard HuggingFace tokenizer (Qwen-based).

File: omnivoice/data/processor.py:109–127

# Style/instruction prefix
style = "<|lang_start|>EN<|lang_end|><|instruct_start|>None<|instruct_end|>"
style_inputs = self.text_tokenizer(style,
return_tensors="pt").input_ids.repeat(num_channels, 1)
# Shape: [8, N1] - same text token IDs duplicated across all 8 channels

# Transcript text
text_inputs = self.text_tokenizer(
    f"<|text_start|>{text}<|text_end|>", return_tensors="pt"
).input_ids.repeat(num_channels, 1)
# Shape: [8, N2]

The embedding input layer is constructed as:

[style tokens | text tokens | audio tokens]

Style tokens are repeated 8×1 so they share the same shape as text tokens and audio tokens.

File: omnivoice/data/processor.py:151–163

# Concatenate along the sequence dimension
input_ids = torch.cat([style_inputs, text_inputs, audio_inputs], dim=1)
# Shape: [C=8, style_len + text_len + audio_len]

# audio_mask marks which positions are audio vs text
audio_mask = torch.zeros(total_length, dtype=torch.bool)
audio_mask[audio_start_idx:] = True

These are then coalesced into a single embedding, since the model expects one unified embedding input (see the _prepare_embed_inputs function).

The audio matrix [8, T] is split into two parts (the "audio tokens" segment in the flow diagram below):

[ prompt (unmasked) | target (masked with prob p) ]
←prompt_length→ ←──maskable_region──→

Masking

Every cell in the target gets independently hidden with probability p. Random masking is chosen over deterministic masking, as it improved overall performance.

During training, mask_ratio is simply random.uniform(0.0, 1.0) per sample.

Config (omnivoice/training/config.py:48):
mask_ratio_range: Tuple[float, float] = field(default_factory=lambda: (0.0,
1.0))

Sampling per sample (omnivoice/data/processor.py:90,143):
mask_ratio = random.uniform(*self.mask_ratio_range)          # line 90:
uniform from (0.0, 1.0)
token_mask = torch.rand(maskable_region.shape) < mask_ratio  # line 143: each
cell masked independently

The overall probability of masking is 0.5.

During inference, the model progressively reveals tokens — unmasking few at first (when predictions are uncertain) and more later (when the model has more context to be confident).

# _get_time_steps with t_shift > 1 produces a concave curve:
# Early steps: small intervals → unmask few tokens (conservative)
# Later steps: large intervals → unmask many tokens (confident)
timesteps = t_shift * timesteps / (1 + (t_shift - 1) * timesteps)

Bidirectional Transformer and LLM Initialization

Once the unified embedding layer exists — with randomly masked audio tokens — instead of starting from random weights, OmniVoice initializes from the Qwen 0.6B model. This gives it prior knowledge of world structure and relationships, and avoids training from scratch.

File: omnivoice/training/config.py:37

llm_name_or_path: str = "Qwen/Qwen3-0.6B"

File: omnivoice/training/builder.py:95–116

# Load Qwen's pretrained weights
resolved_llm = _resolve_model_path(config.llm_name_or_path)

llm_config = AutoConfig.from_pretrained(resolved_llm)
# Wrap it inside OmniVoice (adds audio_embeddings + audio_heads)

ov_config = OmniVoiceConfig(
    audio_vocab_size=1025, # 1024 + 1
    num_audio_codebook=8,
    llm_config=llm_config,
)
llm = AutoModel.from_pretrained(resolved_llm, attn_implementation=config.attn_implementation)
model = OmniVoice(config=ov_config, llm=llm)

# Resize text embeddings for new special tokens (<|text_start|>, etc.)
model.llm.resize_token_embeddings(len(tokenizer))

So OmniVoice takes Qwen's full transformer (attention layers, FFN, layer norms) with pretrained weights intact, then wraps it with new audio-specific layers (audio_embeddings and audio_heads).

Making It Bidirectional

Standard LLMs like Qwen are autoregressive (AR) — each token can only attend to previous tokens. Masked audio prediction, however, needs bidirectional attention (non-autoregressive, NAR): to predict a masked token at position 50, the model should see context from both position 30 and position 70.

attention_mask = valid[:, None, None, :].expand(B, 1, max_len, max_len).contiguous()

This copies data from future positions and makes it available as part of the input during training — creating the bidirectional attention mechanism.

llm_outputs = self.llm(
    inputs_embeds=inputs_embeds,
    attention_mask=attention_mask, --> the 4D [B, 1, Seq, Seq] mask goes here
    return_dict=True,
    position_ids=position_ids,
)

Instead of input_ids, the model uses input_embeds, since the embeddings are passed directly. Rather than using the LLM's weights for lookup, they're used as the underlying engine for training and inference (all attention layers, all FFN layers, all layer norms).

Predict

After the bidirectional transformer processes the full sequence, every position gets a hidden state vector of size [Hidden]. The model then needs to predict what audio token should sit at each masked position, across all 8 codebook layers.

File: omnivoice/models/omnivoice.py:225–228

self.audio_heads = nn.Linear(
    hidden_size,                              # e.g. 1024
    num_audio_codebook * audio_vocab_size,    # 8 * 1025 = 8200
    bias=False,
)

A single linear layer projects each hidden state into 8200 logits — 1025 possible token IDs for each of the 8 codebook layers, predicted simultaneously.

File: omnivoice/models/omnivoice.py:423–432

# hidden_states from LLM: [B, Seq, Hidden]
logits_flat = self.audio_heads(hidden_states)
# Shape: [B, Seq, 8200]

# Reshape into per-layer predictions
audio_logits = logits_flat.view(B, Seq, 8, 1025).permute(0, 2, 1, 3)
# Final shape: [B, 8, Seq, 1025]

So for every sequence position, the model outputs 8 independent probability distributions (one per codebook layer), each over 1025 possible token values. At masked positions, these are the model's predictions of the original audio tokens.

Loss Function


The model is only trained to predict masked tokens. Text positions, style positions, prompt (unmasked) audio, and unmasked target tokens all carry label −100, meaning "ignore, don't compute loss here."

Basically a small mistake is treated as a very big mistake for the model so it does not repeat it, and favourable outcomes are wighed in heavily as well.
$$ \mathcal{L} = -\sum_{(t,c) \in \mathcal{M}} \log P(x_{t,c} \mid X, Y; \theta) \tag{1} $$

where M denotes the set of indices (t, c) corresponding to masked positions within the target segment, with t ∈ {Tp + 1, …, T} and c ∈ {1, …, C}. Here, xt,c is the ground-truth acoustic token at time step t and codebook index c, and P(xt,c | …; θ) is the probability distribution predicted by the model parameterized by θ.

File: omnivoice/data/processor.py:145–149

# Only masked tokens get real labels
audio_labels[:, prompt_length:][~token_mask] = -100   # unmasked target → ignore
audio_labels[:, :prompt_length] = -100                 # prompt → ignore
# style_labels and text_labels are already all -100

File: omnivoice/models/omnivoice.py:439–456

# Step 1: Cross-entropy per token, per layer - ignore -100 positions
per_token_loss = F.cross_entropy(
    audio_logits.permute(0, 3, 1, 2),   # [B, Vocab, 8, Seq]
    labels,                               # [B, 8, Seq] - ground truth token IDs
    reduction="none",
    ignore_index=-100,
)
# Shape: [B, 8, Seq] - loss at every position (0 where label was -100)

# Step 2: Average loss per codebook layer
valid_mask = (labels != -100).float()
layer_means = (per_token_loss * valid_mask).sum(dim=(0, 2)) / valid_mask.sum(dim=(0, 2)).clamp(min=1.0)
# Shape: [8] - one mean loss value per codebook layer

# Step 3: Weighted sum across layers
weights = [8, 8, 6, 6, 4, 4, 2, 2]  # normalized to sum=1
loss = (layer_means * weights).sum()

The model predicts 1025 probabilities per codebook layer per position, and cross-entropy measures how wrong each prediction is. The error is averaged per layer and combined with weights [8, 8, 6, 6, 4, 4, 2, 2] — penalizing mistakes on early layers (coarse audio structure) about 4× more than later layers (fine details) — into a single loss value that gets minimized.

Inference

Inference is a 32-step iterative unmasking process. The target starts 100% masked. At each step, the model predicts all positions, picks the most confident ones, reveals them, and repeats — gradually filling in the audio.

Duration Estimation

Dprompt is the duration of the reference prompt. W represents "speaking weight" — Wprompt is the total speaking weight of the reference text, and Wtarget is the total speaking weight of the text you want to synthesize.

Dtarget = Dprompt × (Wtarget / Wprompt)

File: omnivoice/utils/duration.py:208–249

def estimate_duration(self, target_text, ref_text, ref_duration):
    ref_weight = self.calculate_total_weight(ref_text)     # Wprompt
    speed_factor = ref_weight / ref_duration               # chars-per-token rate
    target_weight = self.calculate_total_weight(target_text)  # Wtarget
    estimated_duration = target_weight / speed_factor       # = ref_duration × (Wtarget/Wprompt)
    return estimated_duration

Character weights are looked up via Unicode ranges (binary search):

self.weights = {
    "cjk": 3.0,        # Chinese character ≈ 3× a Latin letter
    "latin": 1.0,      # baseline
    "indic": 1.8,      # Hindi, Tamil, etc.
    "space": 0.2,      # tiny pause
    "digit": 3.5,      # "7" spoken as "seven"
    "punctuation": 0.5, # brief pause
    ...
}

Time Step Schedule

The formula warps a linear 0→1 schedule into a curve where early intervals are larger (unmask many tokens when the model has lots of context from the prompt) and later intervals are smaller (unmask fewer tokens as remaining positions become harder to predict).

File: omnivoice/models/omnivoice.py:1509–1518

def _get_time_steps(t_start=0.0, t_end=1.0, num_step=32, t_shift=0.1):
    timesteps = torch.linspace(0.0, 1.0, 33)  # 33 points for 32 intervals
    timesteps = t_shift * timesteps / (1 + (t_shift - 1) * timesteps)
    return timesteps

Iterative Loop and Unmasking

The target audio starts 100% masked (all tokens = 1024). Over 32 steps, the model progressively reveals tokens. At each step:

  1. The model sees the current state (some revealed, some masked) and predicts all positions.
  2. The model runs two predictions in parallel — conditioned c_logits (sees style + text + audio → "generate audio that matches this text") and unconditioned u_logits (sees only audio, no text/style → "generate generic audio"):
    log_probs = c_log_probs + 2.0 * (c_log_probs - u_log_probs)
    This ensures conditioned logits are given higher preference (classifier-free guidance).
  3. A confidence score is computed for each position, biased toward lower codebook layers — since layers denoting pitch, rhythm, and energy are more important, they're given preference earlier than later, finer-detail layers.
  4. The top-k most confident, still-masked positions are revealed. After 32 steps, every position is filled and the [8, T] token matrix is complete.

File: omnivoice/models/omnivoice.py

# ─── The main loop (line 1254) ────────────────────────────────────────────────
for step in range(gen_config.num_step):                          # A. Forward pass: run model on current state (mix of
revealed + masked tokens)
    batch_logits = self(                                         #    batch has 2×B items: first B conditioned (with
text), next B unconditioned
        input_ids=batch_input_ids,
        audio_mask=batch_audio_mask,
        attention_mask=batch_attention_mask,
    ).logits.to(torch.float32)                                   #    output: [2*B, 8, Seq, 1025]

    for i in range(B):
        k = schedules[i][step]                                   #    k = how many tokens to unmask this step (from
time-step schedule)
        if k <= 0:
            continue

        c_len, t_len = c_lens[i], task.target_lens[i]

        # Extract logits for the target region only
        c_logits = batch_logits[i : i + 1, :, c_len - t_len : c_len, :]      # conditioned logits [1, 8, T, 1025]
        u_logits = batch_logits[B + i : B + i + 1, :, :t_len, :]             # unconditioned logits [1, 8, T, 1025]

        # ─── B + C. Classifier-free guidance + token assignment (line 1299-1322) ──
        pred_tokens, scores = self._predict_tokens_with_scoring(
            c_logits, u_logits, gen_config
        )
        # Inside _predict_tokens_with_scoring:
        #   c_log_probs = F.log_softmax(c_logits, dim=-1)
        #   u_log_probs = F.log_softmax(u_logits, dim=-1)
        #   log_probs = torch.log_softmax(                       # guidance: amplify conditioned signal
        #       c_log_probs + guidance_scale * (c_log_probs - u_log_probs), dim=-1
        #   )
        #   log_probs[..., self.config.audio_mask_id] = -inf     # never predict mask token
        #   pred_tokens = log_probs.argmax(dim=-1)               # greedy token choice
        #   confidence_scores = log_probs.max(dim=-1)[0]         # how confident per position

        # ─── D. Layer penalty (line 1277) ─────────────────────────────────────────
        scores = scores - (layer_ids * gen_config.layer_penalty_factor)
        # layer 0: -0, layer 1: -5, layer 2: -10, ..., layer 7: -35
        # Lower layers (coarse structure) get higher effective scores → unmasked first

        # ─── E. Position selection (lines 1279-1287) ──────────────────────────────
        if gen_config.position_temperature > 0.0:
            scores = _gumbel_sample(scores, gen_config.position_temperature)  # add randomness to avoid local optima

        sample_tokens = tokens[i : i + 1, :, :t_len]
        scores.masked_fill_(                                     # already-unmasked positions → -inf (can't pick again)
            sample_tokens != self.config.audio_mask_id, -float("inf")
        )

        _, topk_idx = torch.topk(scores.flatten(), k)            # pick top-k most confident masked positions

        # ─── F. Unmask (lines 1288-1295) ──────────────────────────────────────────
        flat_tokens = sample_tokens.flatten()
        flat_tokens[topk_idx] = pred_tokens.flatten()[topk_idx]  # place predicted tokens at selected positions
        sample_tokens.copy_(flat_tokens.view_as(sample_tokens))

        # Update the batch so next step's forward pass sees newly revealed tokens
        tokens[i : i + 1, :, :t_len] = sample_tokens
        batch_input_ids[i : i + 1, :, c_len - t_len : c_len] = sample_tokens
        batch_input_ids[B + i : B + i + 1, :, :t_len] = sample_tokens

return [tokens[i, :, : task.target_lens[i]] for i in range(B)]   # final [8, T] per item

Thursday, June 18, 2026

The builder ARC of AI is yet to come.

One of the things that I truly love doing is watching predictions of ~2025

Wednesday, March 18, 2026

Will AI replace Humans - 3?

Summoning Ghosts, Not Building Animals: The Soul of Work in the Age of AI

I have already written two blogs on this topic, and this perhaps will be my last blog for the same.

I think most people already know that LLMs are nothing but complex mathematical numbers which form specific relations when prompted in a specific direction. As a quote from the Dwarkesh Patel Podcast put it perfectly: "We're summoning ghosts, not building animals." These models don't think. They don't feel. They echo patterns at extraordinary scale. And that distinction matters more than most people realize, because it raises an uncomfortable question: what kind of work has a soul, and what kind doesn't?

What do I mean by a job having a soul? If the effort is novel and unique in its creative exploration, then the job has a soul. If it's merely repeating a known pattern with minor variation, it doesn't. Keep that distinction in mind. Everything that follows hinges on it.

The Unusual Trend: More People Have Started Writing

Claude today can write great articles and yet more people feel like writing is a much more important skill than it used to be. You are right to feel that way, because writing prompts is creating more tangible outcomes. Original, fresh ideas suddenly feel a lot more valuable than they used to be. When anyone can generate polished prose in seconds, the bottleneck shifts upstream to the person who has something worth saying.

The model still holds wealth greater than 10 trillion dollars, but with the right entrepreneur it won't be model companies that take home the pies but new companies built on top of them. In the next 10 years, none of the top AI companies we see today in the top 10 will remain so. The platform always shifts. The builders who ride it change with every wave.

Overall, repeating a complex system earlier had an economic value, which is why the edtech system stood strong upon that foundation. Students paid to learn what others already knew, and teachers were paid to transmit it. Now a lot of that is automated. The transmission of known knowledge is no longer a defensible business. What remains defensible is the creation of new knowledge, and the wisdom to know where to apply it.

The Case Against Software Engineers

This isn't hypothetical anymore. Block, Amazon, and several other major corporations have laid off significant percentages of their engineering staff, citing AI as a direct reason. These aren't bluffs or restructuring euphemisms. The economics have genuinely changed.

Coding is being automated at a breathtaking pace. Tools like Claude Code, given the right instructions, allow massive innovation cycles where product managers, architects, and other roles simply write good prompts and think deeply about the problem. The actual gritty work of programming, the syntax, the boilerplate, the debugging of edge cases at 2 AM, is increasingly being done by these models. This makes a certain kind of software engineer obsolete: the one whose primary value was translating known specifications into known code patterns. If your job was to be the human compiler between a product requirement document and a pull request, the ghost can do that now.

The Case For Software Engineers

The a16z crowd will point you to Jevons Paradox, which basically means that when supply is increased and made cheaper, demand increases, thus increasing the need for software engineers overall. It's an elegant argument. Cheaper code means more software gets built, which means more engineers are needed to build it.

But we have not seen clear evidence of that playing out so far. It has been three years since Cursor launched. The hiring numbers haven't surged. If anything, engineering teams are getting leaner while shipping more.

Still, the other half of the argument holds weight. Software still drives productivity, and there are many physical, discrete systems that can benefit from intelligent software and agents working on them. "Software will eat the world" remains a popular saying because it describes something real. Software streamlines processes that can scale in ways physical labor cannot. We have seen this play out time and again, from logistics to finance to healthcare. The world is full of messy, analog systems waiting to be made legible by code. That work isn't going away. If anything, AI makes it more accessible.

My Point of View




The role of AI should be to increase efficiency by making markets commoditized to a large extent. And that commoditization creates a new kind of demand. We need a lot of AI engineers to ensure that the pipeline for sales, content, and the most priced asset on the internet (attention) is being managed by the right builders. These engineers would be able to understand physical, discrete systems well and be able to apply intelligence, the AI models, everywhere. Not just in software, but in supply chains, in energy grids, in agriculture, in the thousand unglamorous industries that haven't yet been touched by a single line of automated code.

Companies soon might stop frowning over cost savings and will begin to focus on increasing revenue. And it will be AI engineers that will promise and deliver on the same. Cost-cutting has a floor. Revenue growth does not. The companies that figure this out first will hire aggressively while their competitors are still celebrating how many engineers they managed to let go.

My contrarian opinion: hire as many software engineers as you can. Not the ones who write code that a model can write. The ones who understand systems, who see where intelligence can be inserted into the physical world, who can architect what doesn't yet exist. Hire the ones with soul in their work.

The Soul Test

Science and storytelling require the most soul. They demand novelty. They punish repetition. A scientist who merely reproduces known results is not doing science. A storyteller who recycles familiar plots without genuine insight is not telling a story worth hearing. These disciplines, by their nature, resist automation, not because the tools can't mimic their outputs, but because their value lies precisely in the parts that haven't been done before.

Repetitive engineering requires the least soul. If the job you work on has been done a million times before and you are not creatively contributing anything new to it on a regular basis, then yes, you are competing directly with a ghost. And ghosts work for fractions of a penny, never sleep, and never complain.

My Prediction

Here is where I'll leave this, my final word on the topic.

The next decade will not be defined by AI replacing humans. It will be defined by a great sorting, a separation of soulful work from soulless work, cutting across every profession, every industry, every title. Some surgeons will be replaceable. Some plumbers won't be. Some PhDs will find their entire research agenda automated overnight. Some high school dropouts building strange, novel things in their garage will become indispensable.

The question you should be asking yourself is not "Will AI take my job?" The question is: "Does my job have a soul?" If what you do each day involves genuine creative exploration, deep problem-solving in novel contexts, or the kind of human judgment that emerges only from lived experience in the physical world, you are not competing with ghosts. You are the one summoning them.

And if your work is repetition dressed in complexity? The ghost is already learning your name.

Saturday, December 27, 2025

My bets for AI and startups in 2026

YEAR OF SMALL LANGUAGE MODELS

Small Language Models

The AI infra will pick up a lot of steam and revenue in Small Language Models (SLMs) as compared to LLMs. If LLMs are all knowing omnipotent gods, the SLMs are genie in portable lamps. The requirement of enterprises is task based AI, ie evolving systems with world knowledge of specific topics with low latency and cost. SLMs fits this bill perfectly. Most of the SLM development will be inhouse by ML wizards as the top brass wants higher intelligence embedded into applications that can be relied on. This is why it makes such a strong case for infrastructure play, that too open source. Infrastructure from data annotation, to RL environments, to eval benchmarking and evolving schema. Everything except the models themselves are a great place to build in this niche.

Many startups will realise that building software is easy, but building models is hard. The models require propietary data and architechture of ML models still fundamentally complex. Thus it would be great grounds to compete on. We will see a lot of demand for infrastructure around building these models

multiple better pytorches would be my first 2026 bet.

AI SOCIAL MEDIA (consumer AI)

AI Social Media

Every AI startup which has decent traction will start running around circles, desparately wanting a moat - largely to raise money, and if the founders are somewhat decent then to also defend their business long term. The moat thats' being predicted is deep personalisation of AI models, social status being driven using AI content and marketplaces (More on marketplaces later). I want to focus on AI and social status, because there could be some market forming especially after niche adoption of Veo and Sora.

We will start seeing cracks in social media finally. The long lasting bastion of the giants like Facebook, X and others might just show some gap for others to create a space in. (It is also great space for decentralised identity to show value). AI will allow easier engagement with Videos and Content. The below graph is my hypothesis of what an AI social media will look like as compared to facebook.

AI Social Media Comparison

The reason why I am bullish on AI social media is because it can also help people with "what" to post and not just how to post it. Right now distribution channel do not personalise for an user and suggest what to respond / engage on as it would hated on intially. This makes it a great niche for a startup to build on.

DUMB NICHES

Dumb Niches

I think 2026 is the year we will see some dumb niches getting a lot of hype and traffic. There is a startup which works on figuring out how you can dream better, and also how you can better visualize, remember and enjoy your dreams. I always found it fascinating as most of my dreams ended post wetting my bed (figuratively and literally as well). Reddit Sub on Dream Interpreation has 93K subs

Another dumb startup I know built a yoga clapping productivity tool, which asks you to do different patterns of clapping yoga to be productive (again personalised to very specific WFH niche) but it got some revenue (perhaps more than 100th iteration of a vibecoding app).

It's harder to predict dumb niches but I am confident there will be many. AI curiosity especially among pro-sumers will be all time high which will lead to dumb niches exploding. Dumb things are easier to distribute as they are talked about more than serious things, so getting a high NPS is less of a challenge for super dumb ideas and super ambitious ideas.

MARKETPLACES

Marketplaces - Rick and Morty

We have already seen glimpses of this when the vibecoding startups in bid the adieu more customers are advertising revenue. When agentic coding is solved problem, but niche community is not, we see rise of software marketplaces. [[This kind of boom and bust cycle was seen in crypto startups which at their base layer is a community of people who will simply not sell their tokens promising a base price for the token.]]

Marketplaces when linked to right demand and supply heuristic, can be trillion dollar economies. The best example for it is obviously content distribution and advertising. To be more particular about kind of marketplaces we will see in 2026, here are my best answers:

  • LLM applications (top LLMs - ChatGPT, Gemini, Claude) will come up with ways for external api / data providers to be listed, discovered, reviewed and paid as well and will give rise to LLM app marketplaces. Other LLMs will copy this model.

  • Cursor / Replit / Bolt / Lovable … will come up with app marketplaces for applications to be constrained and shared easily (vibecoded) that offer full control to the creators. It will be fueled by funding money to get the ball rolling initially, although the ball will be in the hands of creators more than developers.

I also think that builder x creator will be the most killer combination to posess. If you are an average builder - you should start your creator journey, and vice versa. The biggest oppurtunities will lie in the middle, and keeping up can help you monetize the small wins.

LESS APIGENTIC, MORE MCP

Less APIGentic More MCP

We saw investments in both horizontal and vertical agents in 2025, although personally I think it was too early to invest in horizontal / vertical agents. I would classify agents in three categories:

  • chatbots with LLM APIs where distribution is owned by the startup
  • chatbots where clients own the distribution, and agents are triggered (ex. MCP, Skills, ChatGPT apps)
  • UI enabled interfaces with intelligence delivered by AI

I have been closely following the MCP UI, Registry development. I think clients will evolve in spending less tokens and choosing the right MCPs powered by registry, leading to rise of adoption of MCP / similar architechtures (ChatGPT apps / Claude Skills).

The "vertical" agents lying in first category will still be a hard sell, especially if they are an upteenth vertical agent, with no clear niche to grow out from. This is why less APIGentic agents and more agents with distribution network effects from the LLM Client.

I am also super bullish on interfaces agents. Agents that lie in interfaces, so if an agent is embedded inside an interface, they will see huge momentum, few examples we have seen already:

  • Claude Code (Terminal Interface powered by AI)
  • Cursor (VS Code powered by AI)
  • RogerAI (Mobile Keyboards powered by AI) - (My Startup)

ONE COFFEE LATTE, OMELETTE AND AN AI BUBBLE PLEASE....

AI Bubble

A lot of talk has happened about if we are an AI bubble. A lot of people with wads of money have been asked this question and have vehmently denied that we are in one. Bubble is always realised when they pop, till then they are economies. I don't think we are in an AI bubble yet. I think the federal reserve will find itself in predicament where it will lower interest rates to help the unemployment which in turn will lead to a small bubble by the end of 2026. If there was a thing I was least confident about in this list then it would be this (and yet make most money as well) would be the timing of gold rush in AI, but I am confident it will definitely happen by early 2028.

P.S I am building RogerAI

Wednesday, October 1, 2025

Builder Jounrey -2 FOMO: Fear of Missing Out.

This is one of the words you hear almost always in the startup ecosystem: “Fear of Missing Out.” As a startup founder, I almost always took pride in my ability to envision products and think objectively with clarity, so by no stretch of the imagination did I think I would ever fall for FOMO. When I was founding Kleo Network, I heard this advice over and over: “You need to drive FOMO for investors to invest in your startup.” I used to think, “Whoa, are investors really that dumb?” In reality, I was the one being dumb.

I fell for FOMO—hard. The genesis of FOMO comes from greed. If there is an opportunity to make money, people tend to attach network effects to that opportunity, scale quickly, and create wealth for themselves. Greed isn’t bad. The action paralysis that comes with that greed is.

For the last few months, I’ve been fidgety with my ideas:

→ New idea. New messaging. New GTM.

This keeps repeating. No potential gets realized because nothing is given enough time to compound. Anything great tends to be copied rather than found through one’s own voice and originality. That’s why it’s so easy to copy and so hard to create. It’s not a question of money; it’s a state of mind that’s dictating it.

FOMO affects investors, but it affects startup founders a lot more—especially solo founders. The new thing getting traction is always shinier and more exciting than what you are currently building. That’s why FOCUS and MOMENTUM are extremely hard—and getting them right is the most precious thing.

I want to stick to a specific timeline for my next product, and I will follow this timeline no matter what.

  • 8 October — Launch the website

  • 9 October — Launch the product

  • 10 October — Launch on Product Hunt

Everything needs to be focused on that and nothing else.

Monday, September 29, 2025

Builder Journey - 1

I’m back at square one, and I’m honestly pumped and excited about it. I remember being superbly passionate about an idea and working hard to make it real—and I can feel that same energy now. Why am I doing it?

The answer is to challenge myself. A lot of people, including me, believed that SaaS applications were dead. The reality is very different. SaaS revenues are higher than ever and can be cracked if the right problem, the right product solution, and the right creative messaging are executed well. If you can crack any two, you’ve got a strong, investable business; cracking all three gives you a godlike superpower of going direct to consumers. With AlmondCoder, I feel it hits all three (for now).

What is AlmondCoder?

AlmondCoder is a programming tool similar to Cursor—basically, it helps you “vibecode” your projects easily. It has features I think are crucial as a builder, such as:

  • Run Claude Code / Codex / Cursor CLI in parallel, doing different things. No more waiting for one prompt to finish before starting the next.

  • Create a Git subtree for each prompt and merge easily using an interactive GUI.

  • Get a simple, editable plan for your prompt that shows what changes Claude Code will make and where the prompt will execute. Often, Claude Code struggles to interpret prompts, producing the wrong plan. This helps you correct it before changes are applied.

  • Onboarding prompts for open-source projects that let others discover your project architecture quickly; the generic ones help people learn the architecture faster.

  • Prompt Pills: for each project, define recurring context “pills” that are appended to your prompts. Pick the pills you need and go.

  • Many features (Prompt Pills, onboarding prompts, auto-merging) are adaptive—parts of the software are generated on the fly based on user prompts. This makes the tool effectively “create software on the fly.”

We’ll eventually allow multiple people to collaborate on the prompt and plan and get it approved before Claude does its magic.

Now, the hard part: executing a tool like this is still a bit complex. That includes designing the landing page, getting the messaging right, building the product, and pushing content across social to drive adoption. It’s not easy—especially as a bootstrapped founder (though arguably easier because the hunger to reach revenue is higher). But even in the age of AI, it’s still hard.

I’ll be documenting my journey in a structured way on this blog for future reference. My goal today is to ensure that:

a prompt creates a new Git subtree
conversation history is saved locally on disk using a specific JSON schema
clicking items in the prompt history loads that prompt’s context
I can create a new prompt with the right scaffolding

I’ll share progress in Builder Journey – 2 and how it’s going. Obviously, there are many finer details associated with the above that still need to be addressed.





 




Will AI replace Humans - 2

If we are able to define what kind of tasks AI will be good at then retrospectively we will be able to come up with what tasks AI is not good at. So what is AI good at? AI is most certainly good at coming up with solutions where the outcome of the task is clearly defined, which is why AI is not going to replace researchers. Research at it's very core does not have the outcome clearly stated, thus the process is more important than the outcome, making it very hard to automate. 

A lot of people say coders, marketers, editors will be replaced but I think these will kind of become a single layer of identity, these people's jobs will converge into obtaining a specific outcome by breaking them into smaller chunks of outcomes. it will still take immense creativity (perhaps more, as lot more is being expected from the same person), thus these chunks of outcomes will be largely be done with the help of AI. 

So much hype around AI. So AI enables the creative, the deep thinkers that are excited about the output more than process. AI will become the process, does not mean you do not have to understand it. You still need it but a larger part will be done by large language models. 

Thursday, August 7, 2025

Will AI replace Humans - 1

AI is often perceived as a replacement for humans, but in reality, it is far from that. It’s not about the technology itself, but about how it’s perceived. Humans have the ability to practice, build patterns, and improve in a niche over time. AI still does not “learn on the job.” At present, one of the most widespread use cases of AI is software development, yet even here, the tools do not improve at runtime. They require constant orchestration, critical verification, and validation of outputs. These tasks may sound simple but demand deep knowledge and understanding of the systems involved.

Since the Industrial Revolution, people have predicted that human labour would become obsolete. Machines were expected to replace us, and indeed, they made many processes more efficient and production easier. Yet here we are in 2025, and I am using a machine to write this article—human labour is far from gone. The reason is simple: humans adapt, create new economies, and thrive within them. This tradition of evolution is still difficult for AI to replicate.

For example, I would never hire an AI designer in place of a human one. A human designer understands my taste, my product, and can actively learn from and question my choices. LLMs can mimic this to some extent, but the assumption that they truly “get it” is still hard to accept.

This is why I believe AI will go through a Dunning–Kruger–style cycle. Initially, many will overestimate its capabilities and use it as a human replacement. Over time, they will realise these systems are not being challenged in radically creative ways—the kind of challenge only humans can bring. This will increase demand for genuine insight and experienced professionals. The road to such experience may still require years of deep, focused learning, but tools will exist to support that journey. And while we live in a capitalist world, this reality will continue to shape how AI fits into human progress. Although there will be huge productivity jump in systems. I think it would be in order of magniute of cloud jump and not computer jump. So ideally how everything moved to cloud brought in productivity improvement, it was an era when you heard the words like (social local global cloud data science) for the first time. It was also the time when the phrase "data is the new oil" became extremely popular. This phase started in 2005, and followed till 2015. The AI era, which will enable people to orchestrate their jobs with bunch of prompts especially any kind of a soft job, which does sound scary but will eventually lead to new things quickly which weren't possible with AI before in not just software industry but in other industries as well. 

The quote (which I know most people in tech are tired of hearing) of "If I had asked people what they wanted, they would have said faster horses", is so much true today. 


Wednesday, August 6, 2025

MIVC - Replit + Ruby on Rails for CommandHive

MIVC - Memory, Interface, Verifier, Client -- A MCP Server Design Framework

Memory MCP Servers

An MCP server requires fetching very specific information with the right context. We have already seen multiple memory fetching implementations in order to serve the current context length limitations. Even if context length is increased (Gemini 2.5 Pro), the ability to serve intelligently on vast data decreases. Thus, there seems to be a clear need for intelligent fetching systems for blobs of information. Multiple methods for the same have emerged:

1. LLM Schema Generation + Database Record Creation

In this technique, the information blob is understood and a schema is created. Then with this format, the information is stored in the database. Once the database is populated, the schema is conveyed to the LLM for writing queries on the database to fetch required information.

2. (1.) + Vector Columns

A lot of times LLMs need to understand the relational context for different records. The idea here is not direct inference (SQL) but contextual inference (vectorized words). This requires some columns to be vectorized.

3. Cyclic Knowledge Graphs

This is where LLMs generate knowledge graphs which are connected to each other in a cyclic pattern where edges denote relationships and nodes store specific information.

YADA YADA YADA.

Designing a memory layer should be able to encompass these use cases for information retrieval and any future implementations as well.

Example Code

Example code could look something like this:

fetch_gmail = MemoryClass(desc="fetch gmail email information via Vector Columns")
res = fetch_gmail.lookup(summary="flight tickets from india to new york")

The MemoryClass itself would look like:

# Schema
Id = email id 
Subject = string 
Summary = Vector DB 

def lookup(input):
    return model.summary.find(input)

This could also be cyclic knowledge graphs or Retrieval Augmented code.

Now one could load a compatible Vector Database from it like Pinecone, Milvus, or MongoDB. More thought needs to be put into how the actual code would look like. I'm happy to take feedback on the same. Right now this is akin to how models work in MVC architecture in Ruby on Rails.

Interface MCP Servers

Often these LLMs are required to act upon specific interfaces - e.g., Browsers, Software, Blender, Linux Terminals, Operating Systems. There are a limited number of interfaces where these LLMs can interact. The idea is to load an interface akin to a 'ruby gem'. The developer of these interfaces can constrain and define how the LLM talks to these interfaces. For example, in case of a browser, a DOM can be served as input, whereas output can be executed on the Browser console. In the case of software, the input can be different menus/clicks on the software and the output will be a screenshot of the software window after different actions.

Interface Components

Each interface will have three main components:

  1. Service Command - This is similar to MCP servers' commands with arguments. The difference is it points to terminal opening command, starting of docker command, running an operating system VM...

  2. Input Interface Experience - The inputs to these interfaces will be required to be constrained by the LLM. This will be based on the choice of interface developer.

  3. Output Interface Experience - The output design from the interface requires LLM communication. This again will be based on the choice of interface developer.

Unique Features of Interfaces

  • Each interface will be an MCP server in itself
  • Each interface can be loaded within another MCP server, to serve as a base layer to be built further

Example Interface Code

An example code can look like this for defining an interface:

Interface ABC

Service Commands:

@command
def start():
    args = ["commands"] / "start.sh"

@command
def stop():
    args = ["commands"] / "stop.sh"

Input Interface:

# take input as screenshot 
screenshot.validate(type: image) 
definition: "this image describes the state of the software, try to understand if the user is clicking something and how this image is different from base software..."

Output Interface:

# take output as actions on a software 
mouse.click(x: 123, y: 122)
keyboard.input("top players")
dom.execute("$('.find').click()")

More thought needs to be put into how the actual code would look like. I'm happy to take feedback on the same.

Verifier MCP Servers

The responses from the LLM need to be verified by a separate black box whose context is not visible to the LLM.

For example, the verifiers can be used to understand the LLM response, if it:

A. Serves the purpose or not. If the response further requires a deeper LLM probe or multiple subagents to complete the task.

B. Should be served to the individual asking it (based on role of the individual or personalization of the individual). If there is further personalization that can be done to the response.

Another example can be if the input is correct and needs to be further detailed or explained before giving it to the main interface/further passed on.

Verifier Features

These are basically a black box unit serving as an LLM which runs when the developer wants to. It can be:

  • Just after the LLM input
  • After the LLM response
  • During the interface communication

They can access the memory for personalization, fetching roles. They can modify the LLM response. We also want this to serve as an integral layer to integrate with other eval services for agents that exist such as TensorZero, LangChain evals. The idea, although, is that eval intelligence should be a black box to the definition of the agent.

Verifier Code Example

# response/input = as defined previously in code 
bool_access, sanitized_response = Verifier.verify(
    "this is meant for a HR professional in an organisation, check if they should have access to this answer/tool call"
)

if bool_access:
    return response
else: 
    return sanitized_response

Client

This can be a pub/sub Kafka on a socket, it can be terminal commands, it can be a chat interface. The idea here is to make the current IO for MCP servers more flexible to serve different clients. The client can be customized to have authentication, social OAuth, yada yada again loaded into the server with packages/gems/libraries which can act as proxy. The idea here is to build composable client units for main IO. Right now what's defined by Python decorators actually needs to be a lot more flexible serving more use cases. The idea here is to not restrict the intelligence by a single "chat client" design but allow more feature-rich clients to exist.

Example Agent Flow

Here is what an example flow and code for an agent may look like. This is an agent which checks my email address for specific flights, finds my passport information from a personal database and applies to VISA for a country I am travelling to:

# Initialize components
email_memory = MemoryClass(desc="Gmail flight information via Vector DB") # defined in Memory folder
personal_vault = MemoryClass(desc="Personal documents storage") # defined in Memory folder 
browser_interface = Interface("BrowserAutomation") # Similar to Importing a gem 
visa_verifier = Verifier("travel_document_validator") # defined in travel_document_validator.py
country_verifier = Verifier("country_verifier") # Verify LLM response 

# Agent workflow
def travel_visa_agent():
    # 1. Fetch flight information
    flights = email_memory.lookup("recent flight tickets")
    destination_country = email_memory.lookup(flights + " countries as an Indian I need visa to and can be given online")

    # 2. Verify the destination country obtained is correct from the email. 
    can_proceed, destination_country = country_verifier.verify("check if it is valid country, just return the country name, indian citizens require a visa and visa can be obtained online")
    if !can_proceed:
        return

    # 3. Retrieve passport details
    passport_info = personal_vault.lookup("passport document current")

    # 4. Verify eligibility
    can_proceed, sanitized_data = visa_verifier.verify(
        f"visa application for {destination_country}", 
        context={"flights": flights, "passport": passport_info}
    )

    if !can_proceed:
        return

    # 5. Interface with visa portal
    browser_interface.start()
    browser_interface.navigate("visa-portal.gov")
    browser_interface.fill_form(passport_info, flights)
    browser_interface.submit()

    return "Visa application submitted successfully"

Friday, December 27, 2024

What does post AGI world looks like and how to prepare for it?

 The LLM models are seemingly extremely good at making making decisions and doing the soft tasks, now that with down the road integrated with hardwares and robots would result in a lot of current human tasks being done by machines. So what do I think are going to be big themes of next few decades?

•⁠  ⁠Ideas that help unite people around common theme. Humans have had innate need to organise themeselves to accomplish complex and great ideas. If these ideas are decentralised then it does not need a central identity (like companies or nations) but decentralised communities (like religions and online forums/telegram groups). These communities will be driven by arts - memes, music, comedy, roasts and short form videos. So creativity and connecting with audience will still be important, the tools for the same could very well be driven by AI software and tools. These will lead to parallel economies which governments will definitely come for. Best way to prepare for it will be trying to build an audience organically by creating content (with or without AI). 

•⁠  ⁠⁠Deep research and experimentation will gain more prominence. Master of one should pursue research. 
If you are someone who has gained tremendous specialization in a specific field then try to be more creative and come up with original ideas that you wish to pursue. 

•⁠  ⁠⁠Experiences and anything to do with energy, travel and community will be big, so it translates to pure science, experiences and building audiences(communication)

•⁠  ⁠⁠every industry will have human conformism to take accountability and responsibility, this will be given to jack of all trades. Thus taking accountability for AI’s actions will be a major theme.

Monday, September 30, 2024

Bitcoin, Hinduism and Armies

Book titled - Bitcoin, Hinduism and Armies  

Chapter 1 - Temple Economies 

Chapter 2 - AI, Not one God but Many? 

Chapter 3 - 195 countries, 195 constitutions, 195 religions? 

Chapter 4 - By Guns, not by Choice 

Chapter 5 - Palestine, Ethereum and Ayodhya  

Chapter 6 - Vidhi se hi Vidhaan hai  

Chapter 7. - Bright and not so Bright Future

Chapter 8. - Data Religions 

Sunday, March 10, 2024

How to regulate cryptocurrencies? Nuanced viewpoint.

Cryptocurrency regulation remains a focal point of debate among financial institutions, governments, and users. The crux of the issue is balancing the innovation and freedom of cryptocurrencies with the need to prevent their misuse. The image you shared illustrates the problems faced by public institutions in monitoring and controlling illicit activities involving cryptocurrencies, and also suggests potential solutions to these challenges.





The flowchart in the image outlines the difficulties in tracking the movement of cryptocurrencies from legitimate to illegal usage and vice versa. It points out that once cryptocurrency is purchased, it cannot be frozen by government authorities, making it a potential tool for illegal activities. Even though fiat purchasers are vetted by governments, the conversion of illegal fiat currency into cryptocurrency remains an issue due to anonymity. Subsequently, these funds can be mixed and transferred multiple times to obscure their origin, ultimately being exchanged back into legal fiat currency.


The process raises concerns about the genuine use cases of cryptocurrencies, given that they can empower users through smart contracts and democratization of power. However, it's challenging to distinguish between legitimate and illicit transactions, as the decentralized nature of cryptocurrencies can be exploited by bad actors.


The image also outlines a series of solutions to address these bottlenecks, focusing on the off-ramp and on-ramp stages of crypto transactions. The proposed solutions are:


1. Having registered crypto users state the purpose of transactions to regulatory authorities, which can later be monitored by AI tracing mechanisms.

2. Maintaining the transparency of crypto transactions to ensure they can be traced by government entities.

3. Creating a portal for users to prove the legitimacy of their use cases and transaction flows.


For crypto-to-crypto issues, the suggestions include:


1. Regulating contract addresses based on liquidity and number of users and establishing a global database of contract classifications.

2. Ensuring that the purpose of the transaction is stated in such a way that the identity of the parties is not revealed, yet the parties cannot lie about the transaction's purpose.


This image reveals a nuanced view of cryptocurrency regulation, recognizing both its potential risks and its innovative benefits. It underscores the necessity for intelligent regulation that doesn't stifle technological advancement while ensuring that the financial system is not compromised. As the dialogue around cryptocurrency regulation evolves, the balancing act between innovation and security becomes increasingly vital for the future of digital finance.

Tuesday, January 30, 2024

Vision 2025

Hey, I think I am probably overreaching it but here is what I think the entire crypto-web3-AI dream will take us tomorrow. I wrote the article - Vision Electronic Cloud in 2012, it has been 12 years since I wrote that and we are nowhere near the Vision Electronic Cloud today. It seems that solving a problem is more important as compared to giving people vision. There are homes today which are like Electronic Cloud but there have not been massive transformations in energy, and the repair and maintenance cost of IOT devices ultimately acted as a negative proponent of Electronic Cloud. 


I don't think anyone is sitting on the realization here of how intelligent LLMs and GPT actually are. They can act as wonderful brains. However, there is still the problem of how to use them by providing the right context? How would the privacy of a user work if they are not given the right context? What if a third-party organization requests access to some of the results computed on such data? Who will own their personal data? 

Here is what the vision encapsulates - everyone will have their personal LLM which will be trained on their own data. This data will be stored in vectors and can be anything digital under the sun. - Images, Videos, Audios, Texts. There will be a schema along with each item which will tell how this data was captured and other statistics about the information. Each person will have cameras embedded into their glasses which will upload everything that they see to the cloud, and it will upload everything they hear to the cloud, this data composed with artificial intelligence will be revolutionary.  Everything they read, hear or write will be recorded. 

The personal LLM and 

How would privacy work?

This could potentially lead to privacy violations on an unimaginable scale. No entity should have entire control over this user's data, this could lead to changing privacy policy or being under government pressure to vilify someone's data. The request to access this data would be made using a smart contract transaction, 



Sunday, November 26, 2023

For Fun: Reading an old story.

This blog post holds a sense of nostalgia for me. 

In our 12th grade English class, we studied a story about a father telling a bedtime tale to his daughter. You can find that story here: [https://ncert.nic.in/ncerts/l/levt105.pdf](https://ncert.nic.in/ncerts/l/levt105.pdf).


Everyone in our English class got a chance to read stories aloud before we discussed them. I was chosen for the narration of this story and hence it is nostalgic for me personally. Unfortunately, we didn't take our English literature teacher very seriously, probably because she was the nicest person in the school. During discussions, some jokes and sarcasm were thrown around, which she never appreciated. For some reason, this story is deeply seeded in my memory.


Now, let's review the story from the perspective of 27-year-old Vaibhav.


**Q: What is the moral issue that the story raises?**


My favorite lines from the book 'Prince' go something like this: "It ought to be remembered that there is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success than to take the lead in the introduction of a new order of things. Because the innovator has for enemies all those who have done well under the old conditions and lukewarm defenders in those who may do well under the new. This coolness arises partly from fear of the opponents, who have the laws on their side, and partly from the incredulity of men, who do not readily believe in new things until they have had a long experience of them."


I think the dad was defending the actions of his own mother. The truth is, there are no absolutely right or wrong decisions, just familiar and unfamiliar ones. Our parents and caregivers, with the best intentions, always choose decisions that are familiar to them. Accepting unfamiliarity is hard, and it's even more difficult for those who are advocating for it. Technology breakthroughs, whether they are decentralization or artificial intelligence, are tools that represent hard-to-accept breakthroughs, even for the developers themselves. If you are not concerned about the moral implications and the potential disruptions caused by your innovation, then it's not truly innovation.


The daughter here wants Roger Skunk to smell like roses again, but her father says that he went back to smelling like a stinky skunk. To many, this may sound odd because the rational mind would always lean towards Roger smelling like roses rather than a skunk. However, being identified with a bad smell is part of the skunk's identity, and letting go of that narrative is extremely hard. We have seen this play out in different conflicts and settings. People often value their identity more than rational thought. Those who oppose such identities are often punished and demoralized by society. This occurs in every setting where communication is present, ex. on the Internet.

Kleo Network aims to bring communities closer and experience a richer version of people's life by data ownership, social networks on existing data, and creating a 10x communication layer for the people to give and receive help. Communications will be decentralized and communities can do commerce with the speed of thought. 

Thursday, September 29, 2022

The nomad, the future and what we are today.

Somehow we today are interconnected and deeply rooted with our belief systems. The reach of these connections extend our abilities to be someone with a lot of validation (perhaps as difficult creating a tomb).
I spend my time thinking a lot about what makes these Decentralised Autonomous Organisations so successful and valuable. Sure they create impact (so did private limited organisations) but it's not just that. This is not about expanding internet to become a better version of itself by allowing expanse of it swallow through the metaverse, it is actually about going back right to tight knit communities taking care of each other. Given how easy it has become to move from place to place (unless you require US Visa, xD), our growing individualistic lifestyle and transience nature of economic volatility required us to create instruments which can move faster with much easier and public reputation systems. This need for transparency and trust is a growing consumer concern, too often than not we have seen products on shelves with harmful ingredients, medicines/products that want to upsell with disregard for potential sideeffects. Some believe that we are in the worst phase of human evolution with a disregard for nature and a know-it-all human attitude. Others believe that this is the most prosperous time for humanity and we would transcend to solve the issues that are plaguing us without the need of uprooting our daily lives. This dichotomy may be a dividing factor amongst many in future. 

When we look at last 50 years of humanity the changes that are paraded as wildly successful such as providing cheap electricity, better mobility of goods, better healthcare and medicines, faster pace of living has led to consequences so devastating that we are yet to suffer through the actual outcomes of it. This ignorance of things will move as it did because of inertia or humans inability to comprehend situations until they actually take place would probably leave us wondering how could we miss such obvious signs which are both a result of society's lack of tight knit communities and growing disbalance of natural resources. This may look like a bleak future but I am sure of witnessing some aspect of it in my lifetime. 

When we looked earlier times, sure the changes took time to come into effect but information also travelled slower, this allowed adoption in a non cult manner to masser audience. The idea of belief systems had little or no importance but soon that might change on the internet with growing community and community oriented online presence. Allowing impact and mission driven communities to work on issues that they struggle with collectively is a great cause to be focused and can solve lot of issues if allowed to collaborate a manner which reveals information best suited to the member (anonymous as well)!

Wednesday, September 28, 2022

The Polygon Fellowship Experience

Imagine a bunch of highly passionate and brightest folks in one room and solving the most difficult problems of web3 ecosystem! You might say that "hey, hackathons exist, right!!", well that's true but what if the experience was 2 months of building something! That's what polygon fellowship exactly was! 


The people

Clearly what stood out for me was the people I got to interact with, I had discussions on 'Cosmos Ecosystem vs other Layer 1s" for quite a long time and was able to have insights that I did not have before. Everyone were nice and did not make one feel left out during a conversation, but had a great ordeal of patience to explain and often at times argue in order to make a point. This collaborative nature and perhaps the passion for the ecosystem was what made the fellowship stood out. It's crazy how easily we bonded together and became friends.  I still feel nothing beats in person communication. Digital is great as ease of communication but it does not replaces the in person interactions that one can pull through. 

The Workshops

The second biggest takeway for the fellows during the fellowship was the sessions we had. Some of the things that they said infused so much passion and inspiration in us as a team. We truly had a great time of learning from some of the highly technical CXOs which gave the talk themselves. We also had an opportunity to interact with the OG "Sandeep Nailwal" and ask him questions which was the icing on a cake, especially to people who are very new to the ecosystem. 

// Add links to Videos?

The Retreat

All the fellows stayed at "The Paul" Bangalore which had amazing facilities provided to all the fellows. The food was finger licking delicious and stay was really comfortable with all the amenities.   The rooms were suites and left the fellows wondering if it can get better than this, and it did with the actual workshops and the ideas / discussions that happened about how as an ecosystem we can grow. The entire atmosphere was filled with a lot of optimism and positivity as compared to how web3/crypto gets looked upon by some of more traditional and orthodox institutions. 

// Add pics to the retreat. 

The Online and Mentors

The mentors we connected with, we had long discussions on how we can take our solutions forward from business perspective and do more with our work. We learnt more on how the current ecosystem works and the rational of ideas from not just tech perspective but marketing and business as well. I cam to know of other avenues notably 'Polygon Grants', and different DAOs. This further motivated me to be part of such an exclusive group. 

Overall the event was extremely well organised by Devfolio and I have said so multiple times to my friends that nothing of this sort has been done not just in Indian blockchain scene but Indian tech scene altogether. I am extremely grateful to the devfolio team for selecting me as candidature and further enabling my belief. 


Friday, August 26, 2022

Detailed Post on Modular Blockchains

  • A blockchain is a decentralized ledger which you can use to  communicate without a need of central authority. You don’t need postman, you don’t need bank, you don’t need the government and you definitely don’t need these companies running AWS servers.



    These Blockchains fundamentally have 4 different elements, 

    1. Consensys

    2. Execution

    3. Data Availability and

    4. Settlement


    Consensus is related to the mechanism whereby validators/miners can come to agreement on the order of transactions (also known as messages) for a specific block. The idea is that all the nodes of this decentralized ledger need to agree on a certain state of the chain. 


    Next we have execution, execution refers to the computation required to make state changes from the set of transactions in a new block. It basically means that once there is agreement on order of transactions we need to ensure the execution of those transactions takes place and these transactions are added to those decentralized ledger. 


    Third is Data Availability, 

    These transactions need to be communicated with applications or end users for that matter, now there should be a way for that data to be available from these nodes to the user, which is what data availability is 


    Settlement 

    There would be a need to verify and confirm these blocks which happens in settlement layer, it’s about ensuring that no bad actors push the wrong blocks on chain. 



    In a monolithic blockchain all of these are handled by the chain itself, whereas modular chains tend to outsource each of these functions to a separate workgroup. So let’s understand the pros and cons of modular and monolithic chains in depth, 


    Monolithic chains allow developers to easily integrate, they really do not have think of all the parameters while they are building and can focus just on business logic of things although the downside is that there are high chances congestion as we have seen previously. Now chains like solana have solved these issues by increasing validator requirements and increasing number of transaction in a single block, this may have solved congestion but it comes at the cost of decentralization.  



    Now let’s see how different modular chains handle this, 

    1. Polkadot 

    1. Collators are responsible for ordering and executing transactions on a specific parachain

    These transactions are then posted as proofs on the main relay chain for Polkadot

    1. Settlement takes place on this relay chain. 

    Over here execution / ordering is separate from the settlement layer. This is similar to chains optimistic rollups chains like optimism. 



          b.  Celestia
    Celestia aims to build a layer-1 proof-of-stake blockchain that provides data availability and consensus so the developer needs to take care of execution and settlement. Celestia allows developers to build their own plug and play roll-ups to order and execute transactions on top of Celestia’s data availability and consensus layer, here the basic idea is to give applications more control over how they want the architecture of decentralization looks like.


      C. Cosmos
    Validators of an app-chain are responsible for execution, consensus, data availability and settlement, but the app chain’s settlement layer is not shared which is in the case of monolithic chains. Cosmos basically allows the app chain to easily integrate with all the elements of the public blockchain in the way they seem fit. Using IBC these chains can communicate with each other so that token / value transfer can take place. The major negative aspect for this is that the community building is required for each app chain and they cannot utilize the already existing community for validation and quick prototyping which is the case for other monolithic chains. 


    So why cosmos has been gaining popularity? 

    A great case for cosmos is the self sovereignty it allows for app chains, take example of LUNA. LUNA was built on top of cosmos an on April 5th, 2022, LUNA reached a market-cap of over $40 billion. By Friday, May 13th the LUNA market-cap catered to less than $10 million, and nearly all on-chain value was completely destroyed.The rest of the Cosmos ecosystem — Cosmos Hub, Osmosis, Akash, Regen, etc. — kept steadily producing blocks during the UST collapse and after Terra halted. Before I jump to saga, I want to draw your attention to Astroport and Crescent. Astroport relied on terra for security while Crescent on staking and validator set. Both of these chains tokens lost 80-90% of their token value post Terra crash.

    Saga is part of Cosmos ecosystem it provides economic security and validator set for other developers to build on. 

    1. Permissionless deployment of code

    2. Customization of self-sovereign blockchain 

    3. No upfront cost to launching a chainlet

    4. Predictable developer pricing for gas fees 

    5. Dedicated blockspace for a developer’s applications, ensuring high throughput, easy upgradability and congestion relief. 


    In other words, applications deployed on Saga reserve their own dedicated blockspace, which is a feature that is not possible in monolithic blockchains. Applications deployed on Saga enjoy independence, meaning that block production on one chainlet is independent of the block production on other chainlets, a feature not shared in modular frameworks like Polkadot. Saga chainlets are self-sovereign and do not rely on a shared settlement, which is the case in Ethereum. In other words, Saga chainlets are as much a part of the Cosmos multi-chain ecosystem as any other application-based chain.