Portfolio - Jeevsol

Kishan Rajeev Jagadeesh

// Aspiring Full Stack Developer

const me = {

  location: "Apex, NC",

  studying: "Computer Science (B.S.)",

  year: 2,

  university: "NC State University",

  role: "Student",

  interests: [

    "full-stack development",

    "mobile apps",

    "backend systems",

    "AI & robotics",

  ],

  currentlyBuilding: "where",

};

// projects.json

EyeNode

Offline semantic image search for Android. Find any screenshot or photo by describing what's in it fully locally.

Kotlin Jetpack Compose ONNX Runtime MobileCLIP2

// skills.md

## Languages

Python

Java

Dart

HTML / CSS

JavaScript

## Frameworks & Tools

Flutter

WordPress

Git & GitHub

ML Kit

## Certifications

Python IT Specialist

PCAP-31-03

Flutter Development (Udemy)

Presidential Awards — Silver & Gold

## Professional

Organization & Mentorship

Strategic Planning

Public Speaking

Project Management

// contact.ts

export const links = {

  github:

github.com/kishanrajeev

  email:

kishanrj@outlook.com

  linkedin:

linkedin.com/in/kishanrajeev

};

# eyenode

**Offline semantic image search for Android** — find any screenshot or photo by describing what's in it fully locally.

Built as a modernized successor to [TIDY](https://github.com/slavabarkov/tidy).

## Features

- **Text-to-image search** — type "spotify screenshot" or "album cover" and find matching images

- **Image-to-image search** — tap any image to find visually similar ones

- **100% offline** — nothing leaves your device

- **Fast** — cached embeddings, cosine similarity on-device

## Getting models

The app needs 4 files, imported through the in-app file picker at **Settings → Import models** or when app first launched.

### Download

```bash

pip install huggingface_hub

# ONNX models (MobileCLIP2-S2)

huggingface-cli download plhery/mobileclip2-onnx \

onnx/s2/vision_model.onnx onnx/s2/text_model.onnx --local-dir ./models

# Tokenizer (standard CLIP vocab/merges)

huggingface-cli download openai/clip-vit-base-patch32 \

vocab.json merges.txt --local-dir ./models

```

### Transfer to phone & import

Copy all 4 files to your phone, open the app, grant storage permission and import the files.

### Model options (Only MobileCLIP2-S2 supported at this time)

| Model | Size | Latency | Accuracy |

|-------|------|---------|----------|

| **MobileCLIP2-S2** ⭐ | 143 MB | ~7 ms | 77.2% |

| MobileCLIP2-S0 | 43 MB | ~5 ms | 71.5% |

| MobileCLIP2-B | 330 MB | ~14 ms | 79.4% |

| ViT-B/32 (legacy) | 350 MB | ~15 ms | 63.3% |

Use `onnx/s0/` instead of `onnx/s2/` for MobileCLIP2-S0 or `onnx/b/` for MobileCLIP2-B.

## Tech Stack

| Component | Technology |

|-----------|-----------|

| Language | Kotlin 2.1 |

| UI | Jetpack Compose + Material 3 |

| ML Runtime | ONNX Runtime 1.27 |

| Model | MobileCLIP2-S2 (Apple, 2025) |

| Database | Room 2.6 |

| Image Loading | Coil 2.7 |

| Build | Gradle 8.7 + Kotlin DSL |

## License

GPL-3.0 — see LICENSE.

Portions derived from [TIDY](https://github.com/slavabarkov/tidy) (GPL-3.0), HuggingFace tokenizer code (Apache 2.0), and MobileCLIP2 (Apple Sample Code License).

main ⚡ 0 errors TypeScript UTF-8 Ln 1, Col 1

Type to fuzzy-search across all sections.

Settings

Select a project to view details.