About

Hi there! I'm Enes, a CS student at The Ohio State University.

Currently, I'm a Software Engineering Intern at Apple in New York City, where I'm doing Agent Evals.

I love making cool stuff with AI and competing in hackathons. I also run a laptop flipping business where I have generated over $13k in profit. Outside of tech, I enjoy car spotting and attending car shows.

Projects

Kinetik - Text to Animated 3D Scenes

Three.js Google Gemini NVIDIA Kimodo FastAPI fal.ai

Won 1st Place in the Nano Banana track at Google DeepMind x UCLA. Text-to-animated-3D-scene editor where you type a sentence and get a full 3D scene with an animated character. Uses Gemini 2.5 to decompose prompts into scene layouts and motion prompts, NVIDIA Kimodo for skeleton animation, and Nanobanana + Trellis for AI 3D model creation. Features a motion timeline with blend transitions, live scene editor, and one-click cinematic video rendering. Built with Three.js and FastAPI on an RTX 5000 Ada.

Sparky - Agentic Circuit Designer

Three.js LLM Tool Calling IBM Cloudant IBM App ID

Won 1st Place at IBM SkillsBuild x OSU AI Hackathon. Built an AI agent that designs, debugs, and explains breadboard circuits, giving students a personalized electronics tutor. Implemented ReAct reasoning with LLM tool calling to iteratively build and self-correct circuits. Developed a 3D circuit simulator with Three.js and modeled the environment as JSON to provide context for the agent. Integrated IBM Cloudant for storage and IBM App ID for authentication, enabling users to save and share circuits.

Bismuth - Text-to-CAD in the Browser

TypeScript React OpenSCAD WASM Claude Code Node.js

Text-to-CAD that runs entirely in your browser. You describe a part in plain English and get back an editable, parametric 3D model with sliders for every dimension. The fun part is how it gets its model: instead of paying a CAD API per prompt, it routes requests to a local Claude Code session through a small file-based bridge server — Claude writes the OpenSCAD code, and the browser compiles it with OpenSCAD WASM and renders it live. Export to STL, SCAD, or DXF, plus a benchmark mode for comparing how different models handle the same CAD prompt.

Tribe - Donor Research Agent

Python FastAPI ClickHouse Google Gemini React

A research agent that helps nonprofits find likely donors. You type a cause in plain English — something like "climate and clean-water givers on the West Coast" — and it figures out who's already given to similar causes by digging through roughly 2.8 million public FEC contribution records. Gemini turns your sentence into filters, ClickHouse runs the query, and the top prospects get enriched with live web data and scored 0–100 on how well they fit. Every result is cited back to the original filing, and you watch each step happen live over server-sent events. Built in a day at the Datadog Agentic Engineering Hackathon.

Found @ OSU - AI Lost & Found Platform

React TypeScript Supabase Google Gemini AI Mapbox

Won 1st Place Overall at the BDAA x Lovable Hackathon. A lost-and-found platform for campus that actually verifies who owns what. When someone finds an item and uploads a photo, Gemini generates security questions only the real owner could answer — so you can't just walk up and claim someone else's AirPods. Claims get double-checked with semantic similarity to catch fakes. Found items get pinned to a Mapbox map showing where they turned up, with fuzzy search to dig through listings.

Amazon Product Scraper Chrome Extension

JavaScript Chrome APIs Web Scraping HTML/CSS

Built a Chrome extension using JavaScript and Selenium that reduced product data collection time by 12,500%, cutting task duration from hours to seconds. Used the XLSX library for seamless Excel export and reached 200+ users while ranking among the top 5 Amazon product scrapers on the Chrome Web Store.

Reconstruct3D - Video to Measurable 3D

Python VGGT UniDepth Three.js Modal

Turns a phone walkthrough video of a room into a 3D point cloud you can actually measure. The hard part is scale — most video-to-3D models get the shape right but have no idea whether a wall is 2 or 4 meters. Reconstruct3D runs Meta's VGGT to build the point cloud and camera poses, then uses UniDepth depth estimation cross-checked against known-size objects like door and ceiling heights to lock in real-world dimensions. The motivation was pretty practical: figuring out whether a roommate would actually fit in a NYC apartment from a video tour. You can even drop furniture models into the scene to plan a layout.

Melody - Offline Music Player

JavaScript React PWA IndexedDB Fuse.js

An offline-first music player I built as an iPhone web app, mostly so I'd have something to listen to on the NYC subway without paying for streaming. Since a web app can't download YouTube audio on its own, Melody generates a yt-dlp command you run in a-Shell, then you import the file back in — it stores the actual audio bytes in IndexedDB so everything plays fully offline. Has playlists, favorites, fuzzy search, time-synced lyrics from LRCLIB, cover art, and lock-screen controls, and it installs to your home screen like a real app.

NYC Bus Stop Safety & Collision Analysis

Python Pandas Data Analysis Visualization

Dug through 2.15 million NYC traffic accidents and 3,300+ bus stops to figure out which bus shelters are the most dangerous to stand at. Used GeoPandas to map accidents to the nearest stops and rank the 10 worst spots. The work got picked from 400+ applicants to present to the Department of Transportation and Federal Highway Administration.