Hi, I'm

Gal Radia

Full-Stack Developer & Software Engineer

I build AI-native products end to end — from a relational schema and a REST API up through a polished UI, with LLMs and agents doing the tedious part in between.

About

Who I am

I'm Gal Radia, a full-stack developer and software engineer. I build complete products — relational schemas and RESTful APIs in C#/.NET and Python on one end, polished React and TypeScript interfaces on the other — and I hold a B.Sc. in Software Engineering from Afeka College of Engineering, where I graduated with honors on the Dean's List with a final GPA of 90.

Most of what I build now is AI-native. I design LLM and agent-driven pipelines that turn unstructured input — a webpage, a social post, a photo of a receipt — into structured, queryable data: prompt and schema design, tool and function calling, OCR and vision models feeding the context, fallback chains when the model isn't the cheapest right answer, and validation layers so a confident wrong answer never silently becomes a saved record. Both Cap2Cook and Receipto run on that pattern with the Google Gemini API and Cloud Vision, and I work agent-first day to day with tools like Claude Code.

Across the stack that means C#, Python, and TypeScript as my main languages; ASP.NET Core, FastAPI, and Node.js/NestJS on the backend; PostgreSQL, MongoDB, and Firestore for data; and Docker, Firebase, Supabase, Cloud Run, and Vercel for shipping it. Both of my apps also run as native Android builds from the same codebase via Capacitor, so I've spent real time on the seams between "website" and "app" — camera access, native auth, hardware back buttons. I've also gone well below the application layer: an eBPF-based observability service in Python feeding an ML-driven Linux kernel scheduler written in C.

Alongside my degree I completed Afeka's three-year SmartUp Excellence program, working in agile cross-functional teams on real technical challenges set by SolarEdge, SimilarWeb, and Complyt. I bring collaboration and adaptability from combat military leadership, and a commitment to clean, high-performance code. I currently work as a freelance software developer — take a look at the projects below, or get in touch.

Education
B.Sc. Software Engineering, Afeka
Honors
Dean's List — GPA 90
Currently
Freelance Full-Stack Developer
Core stack
C# / .NET, Python, TypeScript
AI & agents
Gemini, Cloud Vision, Claude Code

Projects

Things I've shipped

Cap2Cook app hero artwork

Cap2Cook

Paste a link. Get a cookable recipe.

Cap2Cook turns a recipe buried in an Instagram post, a Facebook post, or any recipe website into a clean, structured, cookable format — no more scrolling past a life story to find the ingredient list. A layered extraction pipeline tries structured page data first, falls back to a printer-friendly parse, and finally an LLM (Gemini or a self-hosted Ollama model) for the hard cases, keeping it both fast and cheap. One codebase ships as both the website and a native Android app via Capacitor. It's Hebrew-first and RTL by default, with a dedicated always-dark Cook Mode with built-in timers for actually using it at the stove.

  • Multi-source scraping tailored per platform (Instagram / Facebook / general web)
  • JSON-LD → printer-page → LLM fallback pipeline for cost & accuracy
  • Swappable AI provider — Gemini or self-hosted Ollama
  • One codebase → web app + native Android via Capacitor
  • Hebrew-first, RTL-native "Shuk" design system
  • Always-dark Cook Mode with built-in timers
React 19TypeScriptViteTailwind CSS v4Framer MotionTanStack QueryZustandCapacitorASP.NET CoreEF CorePostgreSQLSupabaseGoogle GeminiOllamaPuppeteerSharpTurborepo
Receipto feature graphic

Receipto

Snap a receipt. See where your money goes.

Receipto turns a photo of a paper receipt into an editable, structured record — shop, date, every line item, discounts, total — using Gemini 2.5 Flash-Lite alongside Google Cloud Vision OCR, in about 4 seconds per receipt. Nothing saves automatically: every AI read lands in an editable review step first, because even a confident model gets a line item wrong sometimes. Past that, it's a real expense tracker — spending analytics by category, month, shop, and day of week, item-level search across every receipt you've scanned, and CSV export or full account deletion when you want your data out. Fully bilingual (Hebrew/English, RTL-correct) and tuned specifically for Israeli receipts and shop formats. Ships as a web app and, from the same codebase, a native Android app via Capacitor.

  • AI receipt scanning — Gemini 2.5 Flash-Lite + Cloud Vision OCR, ~4s per receipt
  • Mandatory editable review step before anything saves
  • Item-level search across every scanned receipt
  • Spending analytics dashboard — category, month, shop, day of week
  • Full Hebrew + English localization, RTL, tuned for Israeli receipts
  • Data ownership — CSV export and full account/data deletion
React 19TypeScriptViteTailwind CSS v4shadcn/uiRadix UIRechartsi18nextCapacitorFirebasePythonFastAPIGoogle Gemini 2.5Cloud Vision OCRCloud Run
Diagram: eBPF observes processes, ML models predict turnaround time, processes are reprioritized by nice value

Artificial Scheduler

Built with Ziv Shamli

Machine learning that reprioritizes Linux processes in real time.

A scheduling daemon that watches processes as they start and exit, predicts how long each one will run, and rewrites its nice value before it competes for CPU. eBPF programs attached to the kernel's sched_process_exec and sched_process_exit tracepoints capture events with minimal overhead, then each binary is fingerprinted — ELF section sizes, memory footprint, I/O counters — and fed to an XGBoost regressor for turnaround-time prediction and a K-means model for priority class. Every decision and outcome is logged to SQLite so the models can be retrained on real workloads. Across multi-workload testing it cut average turnaround time by over 5% against an unmodified baseline.

  • eBPF tracepoint monitoring via BCC — process exec/exit captured at low overhead
  • XGBoost regressor predicts turnaround time before a process competes for CPU
  • K-means clustering assigns a priority class mapped to nice ranges
  • ELF binary analysis — section sizes used as model features alongside memory & I/O
  • SQLite logging of every prediction and outcome for model retraining
  • Measured >5% average turnaround-time improvement over baseline
PythonCeBPF / BCCXGBoostscikit-learnK-meanspandasNumPySQLitepsutilLinux kernel

Skills

What I work with

Languages

C#PythonTypeScriptC / C++JavaMIPS Assembly

Backend & APIs

ASP.NET CoreFastAPINode.js / ExpressNestJSRESTful API designEntity Framework CoreClean Architecture

Frontend

ReactNext.jsViteTailwind CSSFramer MotionRadix UI / shadcnTanStack QueryZustandRecharts

Data

PostgreSQLMySQLMongoDBFirestoreLINQDB design & performance tuning

AI & Agents

Google Gemini APIGoogle Cloud Vision APILLM pipeline designPrompt & schema designTool / function callingOCR & vision modelsClaude CodeOllama (self-hosted LLMs)

Cloud & Infra

FirebaseSupabaseDocker / Docker ComposeGoogle Cloud RunVercel

Mobile

CapacitorAndroidNative camera & auth integration

Tools & Auth

JWTOAuth 2.0GitLinux / eBPFWiresharkTurborepo / pnpm workspaces

Contact

Let's build something

Have a project in mind, or just want to talk shop about AI-powered products? My inbox is open.