Tushar
Surti
General arrangement · engineering portfolio
B.Tech in Computer Engineering with Honours in AI & ML at K.J. Somaiya Institute of Technology, Sion, Mumbai. I build systems where the claim is a number you can check: satellite imagery deep learning, 3D forensic reconstruction, real-time collaboration, and encryption that holds because of how it is built.
SolarScope
Rooftop solar feasibility detection from satellite imagery
A two-stage deep learning pipeline that finds buildings in satellite imagery, then finds the solar panels on them, and reports whether a roof is worth installing on.
Principal dimensions
0.951
F1 score, best model
0.930
IoU
99%
accuracy
8,641
satellite images preprocessed
Note: InGARSS 2026, research paper accepted, Hyderabad.
Parts list
| Item | Description |
|---|---|
| 1. | Built a two-stage pipeline, with building detection feeding Faster R-CNN solar panel detection, to assess solar panel installation feasibility from satellite imagery. |
| 2. | Preprocessed 8,641 .tif satellite images drawn from 3 public datasets into standardized 1024×1024 tiles, then trained and benchmarked 5 models across DeepLabV3+, U-Net and ResNet-50. |
| 3. | Deployed behind a Flask backend serving real-time predictions from geo-coordinates extracted out of image metadata. |
| 4. | Research paper accepted at InGARSS 2026, Hyderabad. |
Materials
- PyTorch
- DeepLabV3+
- Faster R-CNN
- U-Net
- ResNet-50
- Flask
- GeoAI
ReFace
Intelligent 3D facial reconstruction for forensics
A desktop tool that turns a witness describing a face in plain language into an editable 3D head, then hands a forensic artist 60+ anatomical controls to take over.
Principal dimensions
60+
anatomical controls
2
competitions won
Parts list
| Item | Description |
|---|---|
| 1. | Reconstructs 3D human faces from natural-language witness descriptions, combining AI-driven parameter mapping with a full manual editor. |
| 2. | End-to-end pipeline: a Three.js live 3D viewport, a Flask backend routing to the Claude API for text-to-morph translation, and headless Blender rendering for high-fidelity output. |
| 3. | Case management with save/reload snapshots and multi-format export, reference-image-guided generation, and voice input alongside text-based sculpting. |
| 4. | Won 2 national / inter-college project competitions. |
Materials
- Electron
- Three.js
- Flask
- Blender
- Claude API
Vault
Zero-knowledge encrypted photo storage
Photo storage where the keys never leave the browser. The server and the S3 bucket hold nothing but ciphertext, by construction rather than by policy.
Principal dimensions
310,000
PBKDF2 iterations
Note: AES-256-GCM, client-side, Web Crypto API.
Parts list
| Item | Description |
|---|---|
| 1. | Full-stack zero-knowledge photo storage with client-side AES-256-GCM encryption via the Web Crypto API and PBKDF2 key derivation at 310,000 iterations. Keys never leave the browser, so the server and S3 bucket hold only ciphertext. |
| 2. | An Express + TypeScript API over PostgreSQL through Prisma, with JWT/bcrypt auth and rate limiting. |
| 3. | Encrypted uploads stream directly to AWS S3 via presigned URLs, alongside albums, a full-screen gallery, and live storage metering. |
Materials
- Next.js
- TypeScript
- Express
- PostgreSQL
- Prisma
- AWS S3
Flux
A real-time, multi-user collaborative whiteboard
A shared infinite canvas you can start drawing on in one click, with no account. Underneath, a hand-rolled CRDT means two people drawing and erasing over each other always converge on the same board.
Principal dimensions
0
accounts needed to start a shared board
24h
until an idle party board expires
Note: LWW-Element-Set + vector clocks, the CRDT every edit merges through.
Parts list
| Item | Description |
|---|---|
| 1. | An infinite, pannable, zoomable canvas with a live minimap: pen, highlighter, eraser, fully styled text and drag-and-drop images, with marquee and lasso selection and 8-handle resize. |
| 2. | Concurrent edits merge through a hand-rolled CRDT (an LWW-Element-Set with vector clocks, on the client and on the server), so every client converges on the same picture, even after a disconnect and replay. |
| 3. | Spring Boot 3.3 on Java 21 over STOMP WebSockets. The operation log is persisted to Postgres and compacted into snapshots in S3-compatible storage by batch jobs, and Redis pub/sub fans each op out across server instances. |
| 4. | Party mode hands out a shareable FLX-XXXX code; signed-in boards live in a dashboard and can claim a party board. Live cursors and presence, comment threads anchored to shapes, and client-side PNG and PDF export. |
Materials
- React 18
- TypeScript
- Spring Boot 3.3
- Java 21
- STOMP / WebSocket
- PostgreSQL
- Redis
- AWS S3 / R2
Note: Built during the Java & Spring Boot summer internship at K.J. Somaiya Institute of Technology, Summer 2026.
Vanaspati
A virtual herbal garden of AYUSH medicinal plants
An interactive 3D garden in which every medicinal plant is grown at run time from its botanical description (leaf shape, phyllotaxy, branching), with not one downloaded model, texture or photograph.
Principal dimensions
25
medicinal species, each grown from its botany
60,000
triangles for the whole garden, approx.
2
draw calls for ~2,600 tufts of planting
Parts list
| Item | Description |
|---|---|
| 1. | A plant’s morphology (leaf shape, phyllotaxy, branching order, inflorescence, a square stem) is written as data, and a generator turns it into geometry. The same numbers draw the 2D botanical plate on every card. |
| 2. | Each plant merges into at most six geometries, all foliage shares one compiled shader carrying wind, venation and bark, and lawn and bed planting are two instanced meshes. The whole garden builds in under 100 ms. |
| 3. | Six themed beds and six narrated guided tours, a Grand Walk that flies the camera from plant to plant inside one scene, an Atlas that reads all 25 species as hand-drawn SVG charts, and a comparison bench. |
| 4. | Each entry carries its Ayurvedic profile (rasa, guna, virya, vipaka), parsed from the compendium’s own prose, so the charts cannot drift from the text. Won 2nd prize at the SIH Internal Hackathon, KJSIT 2026, built as lead developer in a team of four. |
Materials
- React 19
- TypeScript
- Three.js
- React Three Fiber
- Vite
- Zustand
- Tailwind CSS
Rentbook
A shared rent book for landlords and tenants in India
Landlord and tenant read the same rows: the lease, the rent ledger, the repair thread. A payment counts only once Razorpay’s signed webhook confirms it, never on the browser’s word.
Principal dimensions
98%
of each payment routed straight to the landlord’s bank
82
backend tests in JUnit 5
15min
access-token life, refresh tokens rotated
Note: Signed webhook, the only thing that marks a charge paid.
Parts list
| Item | Description |
|---|---|
| 1. | Properties hold flats, rooms and single PG beds. Tenants join only by invite, rent is generated every month and never backdated, and both people’s screens update live over STOMP WebSockets. |
| 2. | Payments go through Razorpay Route, which splits each one at source: the landlord’s share straight to their bank, a 2% platform fee kept. The webhook signature is checked against the raw body, every event is processed once, and amount and currency must match the order. |
| 3. | Every confirmed payment issues a numbered PDF receipt with the amount in words and the landlord’s PAN, for HRA claims. Repairs run on one shared thread with photos, and documents are visible only to the two people on the lease. |
| 4. | Short-lived access tokens with rotating refresh tokens, where reusing an old one signs that session out everywhere. Someone else’s lease answers 404, not 403, so IDs cannot be probed. |
| 5. | 82 backend tests in JUnit 5, with integration tests against a real Postgres through Testcontainers, and Playwright driving the whole journey end to end at phone and desktop sizes. Deployed with Docker on Render. |
Materials
- Java 21
- Spring Boot 4.1
- Spring Security
- PostgreSQL
- Flyway
- React 19
- TypeScript
- Razorpay Route
- JUnit 5
- Playwright
- Docker
Note: Live payments run in Razorpay test mode; no real money moves.
LogLens
Real-time web log monitoring and anomaly detection
A streaming observability platform: web logs flow through Kafka into Spark, nine detectors score every window, and the system measures its own detection against attacks it injected rather than asserting that it works.
Principal dimensions
0.894
F1 against labelled, injected attacks
9
detectors fused into one 0–100 score
8
stateful Spark queries on one Kafka source
Parts list
| Item | Description |
|---|---|
| 1. | A traffic generator produces realistic access logs (diurnal demand, Markov-chain user journeys, crawlers, injected attacks), and the pipeline was tested at several thousand events per second through Kafka. |
| 2. | Eight stateful Spark Structured Streaming queries share one Kafka source: one-minute tumbling windows per platform, endpoint, source IP and service, five-minute geography windows and gap-based session windows, each with its own checkpoint. |
| 3. | Nine detectors (robust z-score, EWMA control chart, seasonal baseline, CUSUM change-point, IsolationForest and more) score only closed windows, and a weighted noisy-OR fuses them into one 0–100 score with its explanation and evidence. Anomalies are correlated into incidents, so a 20-host botnet is one incident, not twenty. |
| 4. | Measured on a 24-hour replay against the labels the generator stamps on every attack: precision 0.887, recall 0.902, incident recall 0.908. Six rounds of measured tuning took F1 from 0.700 to 0.894. |
Materials
- Apache Kafka
- Spark Structured Streaming
- Python
- MongoDB
- FastAPI
- scikit-learn
- React
- Docker
Note: Traffic is synthetic by design, so detection quality can be measured against ground truth.
Schedule of works
Seven more builds from GitHub, scheduled rather than drawn in full: two Smart India Hackathon entries, on-device vision for blind users, a rescue network, a video-retention model and more. Each row carries its type drawing, the figure that measures it, and where the record lives.
IP-SAKTI Sahayak
A source-cited AI assistant for Ayurveda IP and regulation
Smart India Hackathon 2026 · PS-45
0.952
retrieval recall@8 on the golden set
Answers questions on patents, geographical indications, biodiversity access and drug licensing in eight Indian languages, by text or by voice, and quotes the provision every answer rests on; an answer whose quotation is not found word for word in its source is withheld. Hybrid retrieval over a 3,230-passage legal corpus, inside the Vanaspati 3D garden.
Materials: FastAPI · PostgreSQL + pgvector · bge-m3 · React 19 · Three.js · Groq + Anthropic
SeeForMe
Scene description for visually impaired users, fully offline
10
languages of spoken output
A Flutter app that runs YOLOv5s object detection and a quantised Phi-3 Mini on the phone itself, turns what the camera sees into a spoken description with positions (left, right, near, far), and is worked from the volume buttons. Nothing leaves the device.
Materials: Flutter · Dart · TensorFlow Lite · YOLOv5s · Phi-3 Mini
A.W.W. Helpers
A street-level animal welfare network for India
16
Postgres tables, row-level security on all
Anyone can pin an animal in trouble on a map without an account, and verified shelters nearby see it sorted by distance through PostGIS proximity search. Adoption, lost-and-found matching, volunteering and fundraisers run on database triggers that keep timelines and counters exact. Rebuilt from a 2022 PHP and MySQL college mini-project.
Materials: Next.js 15 · Hono · Supabase · PostgreSQL + PostGIS · MapLibre · GSAP
Retent AI
Predicts where viewers will drop off a video, before it is shot
Team Codezen
Note: LightGBM, retention model, tested on channels it never saw.
Reads a script or transcript in English, Hindi or Hinglish, predicts the audience-retention curve with a model trained on YouTube “Most replayed” curves, flags each likely drop-off with evidence, writes the fix, and re-simulates the edit to show what the fix is worth. The curve comes from the model, never from an LLM.
Materials: Next.js 16 · FastAPI · LightGBM · Pydantic · Groq + Anthropic · ffmpeg
Taana-Baana
A business plan before the loan, for rural micro-entrepreneurs
Smart India Hackathon · PS 26091
11
Indian languages for the market study
Turns an applicant’s own cash into a project cost, a loan and a scheme, live as they type, draws the repayment as a loom with one thread per quarter, and tests whether the business and the village can carry it using Census and OpenStreetMap data. It runs fully without an API key; adding one turns on a streamed advisor.
Materials: Next.js 16 · React 19 · TypeScript · Zod · Vitest · OpenStreetMap
BirdLens
Indian bird species from a photo or a recording
114
species in the bird-call training set
Two classifiers, one for images and one for bird calls, trained in PyTorch on Kaggle datasets of Indian birds and served through Next.js API routes that call Python inference live. Upload a photo or a recording, and the matching model answers.
Materials: PyTorch · Python · Next.js 16 · TypeScript · Tailwind CSS
My Cricket Scoreboard
Live cricket scoring, with the rules built in
6
dismissal types, recorded per batter
A Flutter app for scoring a match ball by ball: quick team-level scoring, or full player tracking with strike rotation, bowler changes and undo. Innings switch automatically with the target and required rate, and the scorecard is shared as an image.
Materials: Flutter · Dart · Material 3
Field log
Three internships on three sides of the stack: model training and threat analysis, remote, at Claidroid Technologies, then Java and Spring Boot at K.J. Somaiya, where Flux was built. Recorded the way a drawing records its revisions.
Machine Learning Intern
Claidroid Technologies · Remote
Completed the winter ML internship; built a CNN-based image classification model in TensorFlow, reaching 85% accuracy on CIFAR-100.
Cybersecurity Intern
Claidroid Technologies · Remote
Built “Mail & URL Sentinel”, a Python tool that detects malicious URLs using WHOIS lookups and rule-based checks, with hands-on exposure to threat analysis fundamentals.
Java & Spring Boot Summer Intern
K.J. Somaiya Institute of Technology · Mumbai
Built Flux, a real-time collaborative whiteboard in Spring Boot and React: a custom CRDT on vector clocks for conflict-free live editing over WebSockets, with PostgreSQL and Redis, deployed on Vercel and Render.
General notes
What is on board, by channel. Each one has shipped in something on this set or in coursework at K.J. Somaiya.
- 1.
Languages
Java, Python, C++, C, SQL, JavaScript, TypeScript.
- 2.
Web & frameworks
Spring Boot, Spring Security, JPA / Hibernate, React, Next.js, Node.js (Express), FastAPI, REST APIs, WebSockets.
- 3.
Databases
MySQL, PostgreSQL, MongoDB, Redis, Supabase, Flyway.
- 4.
Cloud, DevOps & testing
AWS (S3, RDS), Docker, Git, Linux, Render, Vercel, JUnit 5, Testcontainers, Playwright.
- 5.
Data & AI / ML
Apache Kafka, Spark, Pandas, NumPy, scikit-learn, PyTorch, TensorFlow, OpenCV, Claude API, Claude Code.
- 6.
Coursework
OOP, DBMS, Operating Systems, Computer Networks, Data Structures.
Register
Education, the technical team at IETE KJSIT, competition results, the accepted paper, and the certificates on record.
Education
B.Tech, Computer Engineering, Honours in AI & ML
K.J. Somaiya Institute of Technology, Sion, Mumbai
8.81 / 10
2023–2027
12th, HSC
Mithibai College, Vile Parle
80.83%
10th, SSC
83.80%
Technical Admin
IETE KJSIT
- Managed the technical team and maintained the official IETE KJSIT website; received a Letter of Appreciation from the College Principal for the role.
- Organized technical events: Code Housie at Oscillations, IETE’s tech fest, and Digital Sherlock at Renaissance, the college fest.
Competitions
- 2nd
SIH Internal Hackathon 2026
For Vanaspati, a 3D virtual garden of AYUSH medicinal plants, at K.J. Somaiya Institute of Technology
- 2nd
TECHSPARKS 2026
For ReFace: Intelligent 3D Facial Reconstruction, at FCRIT Vashi
- 3rd
Tantragyan 2026
National-level project competition at Lokmanya Tilak College of Engineering, for ReFace
Research
- See sheet 02, SolarScope
Paper accepted, InGARSS 2026, Hyderabad
SolarScope: deep-learning solar panel detection from satellite imagery
Certifications
- Badge
AWS Academy Graduate, Cloud Foundations
AWS Academy
- Certificate
GenW.AI Explorer, Level 1
Deloitte's in-house GenAI certification, Hacksplosion 2026
- Certificate
Mastering MySQL
Udemy: database creation, management and SQL queries
- Certificate
Data Structures and OOP with C++
Udemy
Issued for review
I’m looking for SWE and ML internships, and I graduate in May 2027. The fastest way to reach me is email. I check it daily.