Eddy followed the Rustify bootcamp while building a Rust port of Ivo, his event-driven schema validator for JavaScript and TypeScript applications. The project gave him a real place to work through ownership, async concepts, traits, performance, and API design.
The first Rust version explored functional validation, per-field lifecycle hooks, and context options. Eddy is now pushing the design toward proc-macro generated code and stronger compile-time guarantees.
The starting point
Learning by building Ivo
Eddy did the bootcamp exercises while also digging into pointers, advanced traits, concurrency, parallelism, and async through the Rust Book, YouTube, GitHub repositories, and AI-assisted exploration.
- ✓ Rust concepts studied beyond the weekly exercises
- ✓ Ivo used as the project-based learning surface
- ✓ API design discussed against real implementation tradeoffs
The outcome
A real Rust port with a next step
Eddy published the Rust port and shared a demo. The next iteration moves toward proc-macro generation, typed handlers, better encapsulation, and stronger compile-time validation.
- ✓ Public Rust branch and working demo
- ✓ Macro-driven redesign underway
- ✓ Performance and memory behavior measured in the demo
The journey
One clear path through the build
Bootcamp start
Eddy joined the Rustify bootcamp while studying pointers, advanced traits, concurrency, parallelism, and async on the side.
Ivo in Rust
He ported Ivo, a user-story-focused event-driven schema validator for JavaScript and TypeScript applications.
Lifecycle hooks
The Rust port explores per-field lifecycle hooks, context options, and a functional style for validating different entity models.
Proc-macro pivot
The newer direction generates code and types per handler, with better encapsulation and compile-time validation goals.
Current build
Eddy reports promising throughput and memory-stress results while continuing the macro-driven redesign.
Drag to explore · Select a milestone to read the full story
A TypeScript validation idea, rebuilt in Rust
Eddy used the bootcamp as the learning track while building Ivo in parallel: a user-story-focused, event-driven schema validator for JavaScript and TypeScript applications.
- ✓ Rust port lives in a dedicated rs branch
- ✓ Original concept targets JS/TS application schemas
- ✓ Project became the main vehicle for deeper Rust learning
Ivo · Rust port
Schema event flow
Entity schema
Lifecycle hooks
Validated event
create · update · delete
Flexible entity rules versus compile-time guarantees
The current design uses per-field lifecycle hooks and context options to support different entity models and custom errors. Eddy is exploring how far proc macros can move validation and generated code toward compile time.
- ✓ Functional API for create, update, and delete flows
- ✓ Context can cache values during validation
- ✓ HashMap and erased values remain an explicit tradeoff
Ivo · design tension
Context stays with the model
Context options
Erased values
Custom errors
functional validation surface
Generated code is the next proof point
The newer Ivo version generates more of the handler code, assigns types automatically, and improves encapsulation. Eddy reports release-mode demo operations under 2ms and a much smaller build footprint than the earlier implementation.
- ✓ Demo measures create, update, and delete operations
- ✓ Reported target-directory peak dropped from over 100GB to about 10GB
- ✓ Proc-macro implementation still evolving
Ivo · macro direction
Generate the repetitive part
Proc macro
Typed handlers
Compile-time checks
less boilerplate · smaller builds
Want a story like Eddy's?
Max Wells
Founder · Rustify
Book your Rust career diagnostic
30 minutes, 1:1 with Max. An honest read on where you are and whether Bootcamp or Mentorship fits, before you apply.
Only a few diagnostic slots left this week.
Applications are reviewed carefully.
More client journeys
See another path into Rust

Arthur Hovhannisyan
JavaScript frontend lead
JavaScript experience extended into a real Rust backend and systems project

Marko Sabec
18+ yrs · TypeScript/Rust protocol engineering
TypeScript-to-Rust progression with a strong focus on generated and typed systems









