Rendering system
jspdf-md-renderer
Markdown to PDF, rebuilt around a unified inline layout engine and a centralized page-break system.
// jeel gajera
// about / story
I didn't get into software because I wanted to build websites.
I got into it because I enjoy understanding how things work. Once I discover something interesting, I can't help taking it apart, rebuilding it, and asking whether there's a simpler or more elegant way to solve the same problem.
That curiosity has shaped the kind of engineer I'm becoming. I enjoy building developer tools, designing systems from first principles, and turning rough ideas into products people can actually use.
Today I'm an Associate Software Engineer at Radixweb in Ahmedabad, working on backend systems, internal engineering tools, and AI-assisted security workflows. Outside work I build developer tools in the open — a code intelligence engine, a state library, a Markdown-to-PDF renderer — and I'm currently going deeper on machine learning and system design.
// architecture
This is one graphyn query, traced through the crates that actually run it — with the real data at each hop. Placeholder ids become canonical ones, edges gain the alias a consumer knows the symbol by, and the last stage surfaces the reference text search could never find.
$ graphyn query blast-radius UserPayloadgraphyn-core · src/scan.rs
Walks the repository, honours .gitignore, and routes each file to the adapter that understands it. Files it declines are recorded as diagnostics rather than dropped silently — a symbol that appears to have no consumers has to be distinguishable from a symbol in a directory nobody read.
admitted / declined
// velocity
Calculated from GitHub contributions over the latest twelve-week window. If GitHub cannot provide the data, the chart stays empty rather than inventing a signal.
scope: GitHub contributions · one account · rolling 12-week window · empty means unavailable, not zero activity
// selected work
A few systems I keep returning to because they taught me something I couldn't learn by reading about it.
Rendering system
Markdown to PDF, rebuilt around a unified inline layout engine and a centralized page-break system.
Developer intelligence
A Rust code intelligence engine that answers what breaks if you change a symbol — alias-aware, deterministic, seven languages, and exposed to agents over MCP.
State management
A framework-agnostic reactive state library — Proxy-based dependency tracking, cached getters, and a React binding built on useSyncExternalStore. Stable at 2.0.0.
// timeline
Radixweb · Ahmedabad
Building backend systems, internal engineering tools, and AI-assisted security workflows in production — and learning how a large team operates complex systems over time.
Prakalpa, L.D. College of Engineering
Led the development team, coordinated contributors, and delivered technical projects for one of the college's largest student initiatives.
AllEvents.in · Ahmedabad · Hybrid
Built production Flutter applications part-time alongside my degree, and learned how software actually moves from an idea to real users.
L.D. College of Engineering
Built a strong foundation in core computer engineering principles while going beyond the syllabus through open-source projects, machine learning, data science, and product development.
The School of Science, Rajkot
Where the habit of taking things apart to understand them started paying off.
// faq
A software engineer and open-source builder based in Ahmedabad, India. He is drawn to systems that reward understanding: developer tools, state, graphs, and applied ML.
Associate Software Engineer at Radixweb in Ahmedabad, where he has worked since February 2024 — joining as a Software Engineering Trainee and moving into the associate role that September. His work covers backend systems, internal engineering tools, and AI-assisted security workflows.
Developer tools, mostly. Graphyn is a Rust code-intelligence engine that answers what breaks if you change a symbol. QuantaJS is a state management library with its own documentation site. jspdf-md-renderer is a published npm package that renders Markdown into PDFs.
Systems work in TypeScript and Python: designing APIs, composing abstractions, and making developer-facing software dependable and understandable. The common thread across his projects is turning messy input into a model you can query.
TypeScript, Rust, Python, React, Next.js, Node.js, Java/Spring, Flutter, and C++. Currently going deeper on machine learning and system design.
Roles where he can work close to product and architecture, learn from strong engineers, and own meaningful systems end to end.
Ahmedabad, India. Confirm relocation and remote preferences directly for a specific opportunity.
B.E. in Computer Engineering at L.D. College of Engineering, Ahmedabad, from 2020 to 2024.
Yes, and it is the most representative part of his output. Featured work includes graphyn, QuantaJS, jspdf-md-renderer, and HawkLogger, alongside ML and data experiments.
Email is the fastest path. LinkedIn and GitHub are linked below, along with the work that best represents his current direction.
// writing
Writing is where implementation details become reusable thinking.
Grep answers a question nobody asked. Building graphyn meant deciding what a relationship between two symbols actually is — and living with that definition across seven languages.
Turning Markdown into a PDF means measuring text, breaking lines, paginating, and — the part I did not plan for — fetching arbitrary URLs on behalf of untrusted input.
Building QuantaJS taught me that a reactive system is defined by its worst case, not its demo. Here is the whole dependency engine, and the collection bug that took the longest to admit was a design flaw.
// contact
Email jeelgajera200@gmail.com for opportunities, collaborations, or a conversation about building systems.