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.
-
Aug 2022 - Oct 2024
Applied AI Consulting
Frontend Developer โถ Full-Stack Developer
Pune - Hybrid
Applied AI was my first full-time role, and it's where I started noticing the kind of work I naturally enjoyed. I joined as a Frontend developer, but over time found myself improving tooling, cleaning up architecture, modernizing projects, and making the day-to-day development experience better for the team.
It was also where I realised that improving an existing system can be just as rewarding as building something new. A lot of the things I still enjoy today started here.
open source
contributing whenever I can
[+ merged(77), ~ open(18), x closed(19)] โ 33 projects
OpenWhispr/openwhispr (26 PRs)
- Open pull request: feat(linux): extend native Hyprland shortcut support for voice agent, translation and meeting hotkey (opens in a new tab)
- Merged pull request: fix(notes): keep note content visible above the floating chat panel (opens in a new tab)
- Open pull request: feat: add RTL text support for transcripts, notes, and chats (opens in a new tab)
- Merged pull request: fix(linux): push-to-talk on Wayland (Hyprland, KDE, GNOME 48+) for dictation hotkey (opens in a new tab)
- Open pull request: fix: avoid preemptive xdotool probes on Wayland (opens in a new tab)
- Draft pull request: feat(transcriptions): RFC - Full transcription history search and pagination (opens in a new tab)
- Draft pull request: feat: RFC - enable automatic updates by default (opens in a new tab)
- Merged pull request: fix: dismiss transcription preview on no speech (opens in a new tab)
- Merged pull request: feat(hyprland): support both Lua and legacy configs (opens in a new tab)
- Merged pull request: fix(notification): skip Google Calendar time blocks without attendees (opens in a new tab)
- Open pull request: fix(macos): make auto-paste layout-aware for non-QWERTY keyboards (opens in a new tab)
- Merged pull request: fix(wayland): auto paste not working on non-QWERTY layouts. (opens in a new tab)
- Closed pull request: fix(linux): keep meeting notifications interactive on Linux (opens in a new tab)
- Merged pull request: fix(translation): route local models through llama.cpp (opens in a new tab)
- Merged pull request: fix(linux): align Wayland development server with packaged behavior and use XWayland (opens in a new tab)
- Merged pull request: fix: gpt-oss-20b local model download returning 404 (opens in a new tab)
- Merged pull request: fix(settings): commit model selection only on explicit click, not tab browse (#1287) (opens in a new tab)
- Open pull request: fix(models): persist local download progress in main process and allow parallel downloads (opens in a new tab)
- Open pull request: feat: migrate issue templates from Markdown to YAML form format (opens in a new tab)
- Open pull request: feat(models): centralize temperature support in model registry (opens in a new tab)
- Merged pull request: fix(linux): replace "dbus-next" with "@homebridge/dbus-native" to fix Wayland D-Bus crashes (opens in a new tab)
- Merged pull request: fix:style: show line breaks in the history view (opens in a new tab)
- Merged pull request: fix: crash on first "Install & Restart" click after an update (opens in a new tab)
- Merged pull request: fix: dictation hotkey silently dying in hyprland on config reload. (opens in a new tab)
- Merged pull request: fix: provider chips styling on notes onboarding screen (opens in a new tab)
- Merged pull request: docs: add Arch linux ydotool installation guide in "Wayland Paste Setup" settings (opens in a new tab)
TanStack/cli (1 PR)
anomalyco/opentui (2 PRs)
neon-solutions/add-mcp (3 PRs)
MasuRii/pi-tool-display (1 PR)
eddiejaoude/CodeReel (1 PR)
UsefulSoftwareCo/integrations (1 PR)
glommer/cachebro (2 PRs)
anomalyco/opencode (20 PRs)
- Open pull request: fix(tui): include model variants in assistant footer (opens in a new tab)
- Closed pull request: feat(tui): preserve selected thinking effort per agent per model for primary agents (opens in a new tab)
- Closed pull request: chore(tui): enable experimental markdown for thinking blocks as well (opens in a new tab)
- Closed pull request: feat: add theme color instead of hardcoded value (opens in a new tab)
- Closed pull request: fix(test): git init with a default test user (opens in a new tab)
- Closed pull request: fix(tui): rejecting any stacked permission of a subagent terminates it's session (opens in a new tab)
- Closed pull request: feat(tui): space to toggle answers in multi-select and enter for submit in questions tool (opens in a new tab)
- Merged pull request: feat(tui): allow theme colors in agent customization (opens in a new tab)
- Merged pull request: docs: update agents options section to include color and top_p options (opens in a new tab)
- Closed pull request: feat(tui): move some experimental keys from config to ENV as well (opens in a new tab)
- Merged pull request: chore(tui): remove unused experimental keys (opens in a new tab)
- Merged pull request: docs: add missing environmental flags to the list (opens in a new tab)
- Closed pull request: fix(tui): move some system commands to global command palette (opens in a new tab)
- Merged pull request: fix(tui): add visual feedback for diff wrap and conceal toggles (opens in a new tab)
- Closed pull request: feat(tui): add toggle recent list in model selection dialog (opens in a new tab)
- Merged pull request: fix(tui): add weight to fuzzy search to maintain title priority (opens in a new tab)
- Merged pull request: docs: add API server section in CONTRIBUTING.md (opens in a new tab)
- Merged pull request: fix(tui): prevent sidebar height from overflowing. (opens in a new tab)
- Closed pull request: fix: add persistent cost to prevent under-reporting spent value (opens in a new tab)
- Merged pull request: docs: fix permission system documentation in agents section (opens in a new tab)
awesome-opencode/awesome-opencode (1 PR)
msmps/create-tui (1 PR)
herdrdev/herdr (1 PR)
opennookorg/screenshot-studio (1 PR)
peetzweg/commit-history (1 PR)
TanStack/tanstack.com (3 PRs)
- Open pull request: fix:style: join community button's discord and youtube overlay so the whole button is clickable (opens in a new tab)
- Merged pull request: fix:style(a11y): add focus ring to the dropdown triggers (opens in a new tab)
- Closed pull request: fix(ui): click events not working on dropdowns in search dialog (opens in a new tab)
catppuccin/website (1 PR)
pingdotgg/t3code (1 PR)
nuxt/nuxt (1 PR)
better-auth/better-hub (6 PRs)
- Merged pull request: fix:style: improve open pr tab list item layout on dashboard (opens in a new tab)
- Merged pull request: fix: repo list showing empty stacks and filter layout broken on mobile (opens in a new tab)
- Merged pull request: fix: profile page layout broken on mobile (opens in a new tab)
- Merged pull request: fix: center align PR details form (opens in a new tab)
- Merged pull request: fix: twitter/X icon | refactor: custom icons to a shared directory (opens in a new tab)
- Merged pull request: fix: scroll to content from TOC not working in the code tab (opens in a new tab)
LazyVim/LazyVim (1 PR)
syvixor/skills-icons (5 PRs)
- Merged pull request: update(icons): update astro icon (opens in a new tab)
- Merged pull request: feat(icons): add opencode icon (opens in a new tab)
- Merged pull request: update(icons): update tanstack icon (opens in a new tab)
- Merged pull request: feat(icons): add oxc icon (opens in a new tab)
- Merged pull request: feat(icons): add s3 icon (opens in a new tab)
arktypeio/arktype (1 PR)
siddharthvaddem/openscreen (6 PRs)
- Closed pull request: (RFC) feat: add install script so users can directly run it to install the application on their system (opens in a new tab)
- Merged pull request: docs: add the beta warning at top and move assests to public (opens in a new tab)
- Merged pull request: feat: add support for 16:10 aspect ratio (opens in a new tab)
- Merged pull request: docs: move issue templates to YAML forms (opens in a new tab)
- Merged pull request: feat: remove eslint and add biome for formatter and linter (RFC) (opens in a new tab)
- Merged pull request: fix: set motion blur to disabled by default (opens in a new tab)
TheOrcDev/warcraftcn-ui (1 PR)
npmx-dev/npmx.dev (4 PRs)
- Merged pull request: feat: update readme toc button to use new component (opens in a new tab)
- Merged pull request: fix: make version cards clickable and highlight the active version (opens in a new tab)
- Merged pull request: fix(ui): scrollbar stabilize width to prevent layout jumps and fix color (opens in a new tab)
- Merged pull request: fix(a11y): improve accessibility for package command copy actions (opens in a new tab)
elysiajs/documentation (1 PR)
TheOrcDev/8bitcn-ui (3 PRs)
- Merged pull request: add AGENTS.md file, some agent skills and custom OC commands (opens in a new tab)
- Merged pull request: fix: add missing blocks in the docs and move to proper directory (opens in a new tab)
- Merged pull request: fix(docs): global header styles broken on mobile (opens in a new tab)
jesseduffield/lazygit (1 PR)
better-auth/better-auth (1 PR)
codu-code/codu (1 PR)
utk09-NCL/color-palette-generator (1 PR)
growupanand/ConvoForm (1 PR)
DependencyTrack/frontend (2 PRs)
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
open to
an ongoing thing, not a job hunt โ if any of this resonates, get in touch.