© Code by Ohad

Full-stack developer in Ramat Gan, Israel, building web, mobile and desktop apps with React, Node.js and React Native.

Ohad Gadassi

Ohad Gadassi Full-Stack Developer

Open to full-stack roles

About

I'm a full-stack developer with an IT infrastructure background, building web, mobile and desktop apps end to end with React, Node.js and React Native. I build tools for problems I actually have, and I use many of them daily.

I'm currently studying AI-Native Full-Stack & Architecture at 10x Academy and building my own projects while looking for a full-stack role. Before that I worked in IT support at Ramat Gan Municipality, which showed me every day what actually breaks for real users, and I carry that into how I build. I published one of my tools to the Chrome Web Store, and I graduated the John Bryce Full-Stack course with honors.

Open to full-stack, frontend, backend and React Native roles. I also bring hands-on IT support experience.

Featured projects

I built all of these solo, except Grapevine.

Steelman

  • Pre-launch
  • Private repo

Problem: Everyone has the list of logical fallacies. Nobody trains the reflex to spot them.

What I built: An education app for iOS, Android and web that trains you to catch bad arguments. It has skill trees and offline-first sync. The Astro website opens with a playable "Fair, or a fallacy?" demo and a waitlist.

Proof: 74 fallacies, 744 practice questions, 12 debates and 20 LSAT-style drills ready in the app.

  • Expo
  • React Native
  • TypeScript
  • Supabase
  • Astro

Sterrify

  • Daily use

Problem: Playing along meant switching between Spotify and Songsterr while holding an instrument.

What I built: An Electron app that syncs Songsterr to Spotify and switches instrument and tuning automatically. I then rebuilt it as Sterrify Tabs Private repo, a Spicetify app that renders the tab inside Spotify with alphaTab. The old app polled the Web API, which caused 465 ms of its 567 ms median sync lag. Running inside Spotify removes that delay. It also separates song stems on the GPU, and a C#/WebMIDI bridge switches my amp and tuning automatically.

Proof: I use it daily. Sterrify Tabs has an automated test suite.

  • Electron
  • Node.js
  • Spotify API
  • Spicetify
  • alphaTab
  • WebMIDI
  • C#

AC Notification

  • Daily use

Problem: I kept walking into a hot apartment because the AC only came on once I was already home.

What I built: A geofence around home triggers a 1-tap "turn on AC" notification on Android and Android Auto. A Windows server (Python Flask, exposed through ngrok) auto-discovers the Midea ACs on the home network and controls them directly over the LAN.

Proof: 128 commits and 10 GitHub releases (v1.1 to v2.5) in about two months. I use it daily.

  • Kotlin
  • Android Auto
  • Geofencing
  • Python
  • Flask
  • ngrok

YouTube Watch Later Manager

  • Published
  • Daily use

Problem: Saving or removing a video from Watch Later is buried in YouTube's menus.

What I built: A Chrome extension with 1-click Watch Later buttons across YouTube. It matches icon shapes instead of English text, so it works in any language. It finds buttons at click time, because YouTube reuses page elements. Theme-aware, with no trackers.

Proof: 24 users and 5.0 stars on the Chrome Web Store. I use it daily.

  • JavaScript
  • Chrome extension

Forest

  • Paused

Problem: My to-do lists got cluttered, and I lost the big picture of what mattered.

What I built: A canvas-based task manager with drag-and-drop and real-time sync over Socket.io. React 19 and Vite on the front end, Node.js, Express and Prisma on the back end, with Jest tests.

Status: Paused. A mobile companion with time- and location-based reminders is planned.

  • React 19
  • Vite
  • Tailwind
  • Node.js
  • Express
  • Prisma
  • Socket.io
  • Jest

Grapevine

  • Built with a friend
  • No longer in use

Why: A creative and technical experiment. We built our own social network, I talked our friend group into using it, and then we added games and an in-app economy to reward playing.

What we built: A Hebrew, right-to-left mobile app with posts, comments, custom Golden Grape and Raisin reactions, and push notifications.

Games: Two replaced party games we used to play with pen and paper or had to work hard to invent on the spot: Land City, a 14-category multi-page form with shared state, and a rule game that builds a fresh rule each round from a recursive grammar. Eshkolosseum is a nightly D&D-style auto-battle between our characters, run by a scheduled Node.js server, where players bet coins on the fighters. Eli Clicker is an idle game that cashes out into coins.

Economy: Players earn coins by winning bets and playing, and spend them in a store of 16 cosmetic packs that restyle their posts.

  • React Native
  • Expo
  • Appwrite
  • Node.js
  • Express
  • TypeScript

Friendmeter

  • Daily use
  • Private repo

Problem: I wanted my friends always in view on my desktop, not hidden inside two separate apps.

What I built: A Windows desktop widget: a "Liquid Glass" Rainmeter skin plus a Node.js bridge. Clicking a notification jumps to the chat. An early version simulated keystrokes and could type a name into the wrong chat. I rebuilt it on Windows UI Automation, with no typing and reliable Hebrew name matching.

Proof: I use it daily. Covered by unit tests.

  • Lua
  • Rainmeter
  • Node.js
  • TypeScript

Android Bluetooth Control Widget

  • Daily use
  • Private repo

Problem: Android makes you dig into system settings to connect one specific Bluetooth device.

What I built: A one-tap home-screen widget that works without root, using Shizuku. Android 12+ hides MAC addresses, so it matches devices by name instead. R8 shrank the APK from 13.9 MB to 1.9 MB.

Proof: I use it daily.

  • Kotlin
  • Jetpack Compose
  • Shizuku

Earlier & smaller work

More on GitHub

Experience

2025 – 2026

IT Support Specialist Ramat Gan Municipality

  • Diagnosed and fixed hardware and OS issues for staff across a large organization, so they could get back to work.
  • Managed user permissions and connectivity, and supported the core systems the municipality runs on.
  • Saw firsthand what breaks for real users, which shapes how I build my own software.

2024 – 2025

General Insurance Service Representative Phoenix

  • Identified client needs and explained complex technical and insurance information clearly.
  • Met strict KPIs while working with multiple internal and external interfaces.

2022 – 2023

Electronics Logistics Stock Keeper Rad Data Communications

  • Managed electronics logistics with modern inventory systems.
  • Kept stock records precise in a fast-paced high-tech environment.

Military service

2019 – 2022

Bureau Manager & Assistant to Head of Casualty Department

  • Ran the command-and-control center during national emergencies, processing casualty data in real time.
  • Managed executive schedules and discussion materials, and trained bureau staff.
  • Recalled for reserve duty in 2022 to manage the leadership transition for the Head of the Department.

Skills behind the work

Core

  • JavaScript
  • TypeScript
  • React
  • Node.js
  • React Native / Expo
  • SQL (MySQL)
  • MongoDB
  • HTML/CSS

Other languages

  • Python
  • Kotlin
  • C#
  • C++
  • Lua

Back end & data

  • Express
  • NestJS
  • Flask
  • Prisma
  • REST APIs
  • WebSockets (Socket.io)
  • Supabase
  • Appwrite

Front end & web

  • Angular
  • Astro
  • Vite
  • Tailwind

Mobile, desktop & browser

  • Jetpack Compose (Android)
  • Electron
  • Chrome extensions
  • Spicetify

Tools

  • Git
  • GitHub
  • Docker
  • Vercel
  • Jest

Education

2026 – Present

10x Academy

AI-Native Full-Stack & Architecture

  • In progress

2023 – 2024

John Bryce

Full-Stack Development

  • Graduated with honors

2016 – 2019

Ort Ebin

Full Matriculation Certificate

Languages

  • Hebrew (native)
  • English (fluent)

Beyond code

I play in a band, TRIOT, and I built our website too. Most of my side projects start the same way: "this annoys me, let me automate it."

That's all for now.

Hiring a full-stack developer?
Let's talk

Email
ogadassi@gmail.com
LinkedIn
in/ohad-gadassi
GitHub
ogadassi