I'm a Computer Science student at The Open University of Israel who loves building things from the ground up. I gravitate toward backend systems and enjoy digging into how things actually work under the hood — not just getting code to run, but understanding the design decisions behind it.
I learn best by building real projects, reading foundational texts, and contributing to open source. Whether it's a concurrent server in C or a fullstack web app in Java and TypeScript, I try to bring structure and intentionality to everything I write.
- 🔭 Currently building a fullstack Job Tracker app (Next.js + Spring Boot)
- 📖 Read: Designing Data-Intensive Applications, System Design Interview Vol.1, Cracking the Coding Interview — currently reading System Design Interview Vol.2
- 🌱 Focused on backend engineering, distributed systems, and clean architecture
- 💡 Primary stack: Java · Spring Boot · TypeScript · PostgreSQL
🧵 Job Tracker — Fullstack Web App
A fullstack application for tracking job applications, built with a focus on clean REST API design and production-grade architecture.
- Backend: Spring Boot (Java) · REST API · JWT Auth · Spring Security · PostgreSQL
- Frontend: Next.js · TypeScript · React
- Architecture: Layered MVC structure with service/repository separation, DTO pattern, and centralized error handling
💸 CashWise — React Native Finance App
A personal finance tracker with expense management, interactive spending charts, and cloud-synced data — deployed on AWS Amplify.
- React Native · Expo · AWS Amplify · TypeScript
- Features: expense categorization, visual analytics dashboard, secure cloud sync
🔗 Pub/Sub HTTP Server — Java
A custom computational graph engine over a hand-rolled HTTP server — built from scratch without frameworks.
- Raw socket programming · HTTP/1.1 request parsing · Servlet-style routing
- Pub/sub message passing between graph nodes with concurrent request handling
⚙️ Modular Pipeline System — C
A multithreaded pipeline with runtime-loadable plugins using dynamic linking.
- C · POSIX threads · Producer/consumer architecture · Dynamic shared libraries (
.so) - Runtime plugin loading via
dlopen/dlsym— zero recompilation for new pipeline stages
| Project | Contribution |
|---|---|
| bitcoinj | Drove the Guava dependency removal effort — replaced Guava utilities (MoreObjects, Lists, Strings, BaseEncoding, Hasher, IntMath) with standard Java 8 / JDK equivalents across the codebase. 10+ merged PRs with up to 362 lines changed. |
| kestra-io/plugin-kestra | Implemented the Resume task as a plugin replacement for the core io.kestra.plugin.core.execution.Resume, using the Kestra API. +249 lines, 10 review comments. |