Idris Gadi.
Full-Stack Developer. Building, Learning, and Figuring things out.
Role
Full-Stack Developer @ RubikonLabs
Experience
4 Years, mostly as a web developer
Location
Pune, India (UTC +5:30)
about me
I enjoy untangling systems. Whether it's architecture, performance, or developer experience, I am happiest working on the problems that quietly make software and the experience of building it — a little better.
Over time, I have learnt that the work I enjoy the most usually starts with an existing system, and the best improvements usually start with understanding why something is the way it is before deciding how it should change.
Understand first. Change second.
experience
3 companies - 4 years
-
Oct 2025 - NOW
Rubikon Labs
Full-Stack Developer
Pune - Remote
I joined Rubikon to help improve the platform architecture as the product continued to grow. Spent some time understanding the existing system, where the bottlenecks actually were — both in the system and in the way the team worked.
That eventually led to breaking the Python monolith into microservices, improving performance across the platform, and introducing engineering practices that made the codebase easier to work with and to scale effectively.
Most of my work here has been less about building features and more about improving the system behind them.
-
Nov 2024 - Sept 2025
Lucio
Full-Stack Developer
Bengaluru - Remote
At Lucio I spent most of my time turning product ideas into production features. Worked closely with designers, customer support, and stakeholders to build tools for legal professionals while also improving the platform whenever there was an opportunity.
Along the way I found myself naturally picking up migration work, performance improvements, and the kind of technical problems that sit behind user-facing features.
It was a good balance between shipping product features and making the engineering side of things a little bit better each time.
open source
contributing whenever I can
[+ merged(64), ~ open(12), x closed(15)]
OpenWhispr/openwhispr
- fix(translation): route local models through llama.cpp
- fix(linux): align Wayland development server with packaged behavior and use XWayland
- fix: gpt-oss-20b local model download returning 404
- fix(settings): don't overwrite model selection on provider tab switch
- fix(models): persist local download progress in main process and allow parallel downloads
- feat: migrate issue templates from Markdown to YAML form format
- feat(models): centralize temperature support in model registry
- fix(linux): replace "dbus-next" with "@homebridge/dbus-native" to fix Wayland D-Bus crashes
- fix:style: show line breaks in the history view
- fix: crash on first "Install & Restart" click after an update
- fix: dictation hotkey silently dying in hyprland on config reload.
- fix: provider chips styling on notes onboarding screen
- docs: add Arch linux ydotool installation guide in "Wayland Paste Setup" settings
TanStack/cli
anomalyco/opentui
stack
a working set, not a wishlist
-
LANGUAGES
TypeScript
·Python
-
FRONTEND
HTML/CSS
·React
·Astro
·Solid
-
BACKEND
Node
·Bun
·Express
·Elysia
·Hono
·Fastify
·NestJS
-
DATABASES
PostgreSQL
·MongoDB
-
CLOUD / DEVOPS
AWS
·Azure
·Coolify
·Linux
·GitHub Actions
writings
- 10X Developer and the POC Trap
- How Scope and Closures Work Together in JavaScript: A Classic Interview Question Explained
- Building Efficient Node.js Workflows in GitHub Actions: Leveraging Caching and Modular Job Structures
- How TypeScript Makes React Better: Smoother Developer Experience, Fewer Bugs (With a useState Example)
- Beyond Basics: Handling Numeric Inputs Like a Pro with `<input type="number">`
- Why is Math.min() Greater-Than Math.max() in JavaScript
- Why and How to Migrate Your React App from CRA to Vite
- Think Twice Before Using setInterval() for API Polling — It Might Not Be Ideal
open to
- Open source projects that could use an extra pair of hands.
- Interesting full-stack work; freelance or full-time.
- People to learn from, and ideas worth sharing back.
an ongoing thing, not a job hunt — if any of this resonates, get in touch.