Hello, I’m Bharat Kalluri. Thanks for checking my profile in your busy schedule! Here’s a TLDR if you don’t feel like going through the entire story
An engineer who really loves tech to the core and strongly believes good engineering can positively change people’s lives.
Worked in multiple fintech companies, the last one being Refyne. Was in the founding team of Refyne (along with founders and 4 other people) and was instrumental in getting the startup to profitability and growing the company from 0 to 1.5B$ in valuation.
Started off the lending infra vertical in Refyne, grew it to 5 people team and led it for two years, started the B2B vertical and grew it to 3 people and led it for a year, built out a loan management system, UPI integration, underwriting stack and many more projects. Was a blast.
On the side, I absolutely love teaching and writing. I’m trying to write a book called From Scratch which aims to build out daily use tech from scratch, I blog actively at my website and dump notes here. I have a lot of side projects on my github if that interests you.
Here goes the longer version, jump to sections which interest you more
Professional
Wells fargo as an Intern
I’ve studied in Sathyabama university and got placed in Wells fargo in campus placements. I’ve worked with React and a Python backend to build some internal data viz tooling. Back then I was excited to be in the fintech startup space and started looking out.
Shubhloans as a SDE I
After moving on from Wells fargo, I’ve joined a company called Shubhloans (which later got renamed to datasigns fintech and got acquired eventually).
I joined in and started taking care of the credit/underwriting division. Here is where I really learnt a lot of programming, patterns, the obsession for good names and high quality functional code, obsession over simplicity and many more things.
Built out
- a Rule engine in Python from scratch (not rocket science, this is one of the chapters now in from scratch. But for me back then it was thrilling)
- the credit decisioning infrastructure (built completely on micro services, which in retro was not the best of ideas)
- ETL pipelines
- an agent management system for managing collections
and many more projects
I was directly working with the Chief Risk Officer in Shubhloans. He came from Monzo and bought a ton of experience with him, it was great fun. I’ve learnt what its like to work with hard core domain people, translate that to tech and come up with solutions which help businesses make progress where it matters. This interestingly becomes one of my core USPs later on.
JitFin Co. as SDE II
After Shubhloans, I moved on to yet another fintech company called JitFin Co.
I was the first engineer to join this company. I’ve built out
- the backend for an invoice discounting platform, frontend, deployed infra on AWS, setup monitoring and got it to production.
Unfortunately this was exactly during covid time and the company did not do particularly well. So had to move on from here.
Refyne as SDE II and eventual progression to Staff engineer
Just when I was about to leave Refyne, the VP of engineering from Shubhloans reached out stating that he is starting up and wanted me in. This was before the logo of the company was even decided, very early on. I said yes and joined as an SDE II.
Over the next 5 years, I’ve gotten promoted from SDE II -> SDE III -> SDE IV / associate staff engineer -> Staff engineer.
When people ask what I did in Refyne, I often chuckle and think to myself what I did not do. Here is a incomplete list of things I did in Refyne
- Built out the core Earned wage access beta product along with the founding team, which helped us get seed
- Built out the GA product in NestJS with the founding team, setup the entire infra alone since at that point no one knew devops.
- Went on to start the B2B integrations wing in the company, built out integrations and ETL pipelines which handled funneling millions of user data every day
- Gave product demos to clients, managing expectations and getting complex integrations to production while setting up B2B wing, even gave a product demo to a hundred truck drivers in Telugu. Stuff you only get to do in early stage startups 😉
- Expanded B2B integrations team to three people
- Built out an Loan management system which supports multiple lenders, multiple bureaus, multiple lending products, verification of user data from government sources (like PAN) etc..
- Started the Lending infra team to build & support debt raising, audit support, compliance with RBI, lender management etc.. Grew this team to 5 people. Led this team for two years.
- Worked on numerous cost optimizations savings tens of thousands of dollars every month
- Built out UPI, Gold savings product and many other products
Refyne was where I really learnt how to manage people, manage engineering culture, how to talk to business people, CXOs. How to go on stage and communicate a vision with passion. How to figure out PMF, how to talk to customers, what it is like to test a hypothesis and go live with a product, have the strength to kill a product or feature if its not working out and many more ideas.
Eternally grateful for the breadth and depth of knowledge I got from Refyne.
Now its time to go on another adventure. Here’s where I am right now. Thanks for reading so far, if you like what you read and want to work together, feel free to write to me!
Now onto my side projects
Side projects
I’ve always done stuff on the side for fun. Here are some cool stuff I’m proud of
From scratch
A book exploring how the day to day tech we use is built, by building it from scratch.
Four chapters are done, around ten are planned and in pipeline.
Cleanmail
I was absolutely tired with the amount of junk in my mailbox and wanted to clean up around 10k emails. So created a tool which let’s you bulk delete and unsubscribe to senders all in one shot.
I’ve put it out on twitter and reddit, people since have used it to delete millions of junk form their inbox!
Misc projects
- Clickup toolkit: A python library on PyPI for working with clickup from your python scripts. Refyne used to use Clickup and I wanted to do some scripting. So built this out.
- Spotify-dl: A CLI tool built in golang to download songs from spotify using youtube. People seemed to like this.
- Indian engineering blogs: A repo to maintain engineering blogs by Indians. This is just to encourage and discover other engineering bloggers.
- Life counter: Shows you how much more time you have left. In tribute to “Memento Mori”. A good start page if you ask me. Built in Vue.
Open source contributions
This is done using a automated skill/script, skim through it to get a feeler of what kind of work I’ve been interested in.
Last refreshed: 2026-09-26
2017
- Jan 2017 — Asknot: compatibility: fixed a link and added Python 3 support for running the server. PR #292
- Sep 2017 — elementary Calculator: undo: added undo support. PR #36
- Oct 2017 — Ecto ActiveRecord / Catch Me / Apollo 11 / Raspbian ShinyServer / Bookworm / ElementaryPython / Tiingo: small fixes: improved Ecto ActiveRecord branding, Catch Me colours, Apollo 11 docs, Raspbian ShinyServer Markdown, Bookworm app metadata, ElementaryPython process handling/PEP 8, and Tiingo formatting options. Ecto #9, Catch Me #12, Apollo 11 #8, Raspbian #2, Bookworm #130, ElementaryPython #4, Tiingo #33
- Dec 2017 — Zola: site support: added bharatkalluri.in to Zola. PR #195
2019
- Aug 2019 — elementary Calculator: packaging: added a Flatpak manifest. PR #101
- Sep 2019 — elementary Calculator: editing: fixed selection and replace. PR #102
2020
- Aug 2020 — Awesome Mastodon: directory maintenance: updated Brutaldon and Planiverse links. PR #57
- Oct 2020 — Developer Portal: Redis branding: added the Redis logo. PR #110
2021
- Jan 2021 — Ulauncher: calculations: made caret behave as exponentiation rather than XOR in CalcMode. PR #653
- Mar 2021 — Focalboard: UX: added export feedback, card overflow wrapping, and frontend i18n for hardcoded strings. Export #178, wrap #199, i18n #221
- Apr 2021 — Focalboard / BookBrainz / Supabase UI: properties and fixes: added searchable card properties, URL and phone-number fields; fixed BookBrainz profile rendering and a label whitespace issue; fixed Supabase UI theming copy. Focalboard search #222, URL property #228, phone number #286, BookBrainz profile #583, BookBrainz label #586, Supabase UI #164, Supabase web #3
- May 2021 — Open Library client / GitHub Jump / nikivdev/go: foundations and updates: fixed edition pagination, made CLI success output usable, formatted the codebase with Black, and also updated Albert’s GitHub Jump extension and my notes link in nikivdev/go. Pagination #226, CLI output #227, Black #228, GitHub Jump #2, notes link #68
- Jun 2021 — Open Library client: bulk tooling: added bulk deletion support and fixed AbstractBotJob limit parsing. Bulk deletion #233, limit parsing #238
- Jul 2021 — Open Library client / Open Library: work management and exports: refactored the client Work model, added single-work deletion, and generated ratings and reading-log dumps. Work refactor #235, delete work #242, ratings/reading-log dumps #5426
- Aug 2021 — Open Library / Open Library client: partner integrations: added the delete-work API, an ISBN-based partner JavaScript library for Open Library buttons, and package support for recently-added folders. Delete-work API #5433, ISBN partner JS #5479, package files #252
- Sep 2021 — Open Library / Developer Portal: import cleanup and Redis docs: cleaned up successful-import records in Open Library and wrote Redis documentation for Developer Portal. Import cleanup #5642, Redis docs #390
- Nov 2021 — Open Library / Open Library client: safer deletion: raised the work-deletion limit, used the central can_write check, and routed client bulk deletion through the server bulk endpoint. Permissions/deletion limits #5821, bulk endpoint #270
- Dec 2021 — Ulauncher / Open Library bots: calculations, search, and automation: added locale-aware calculation formatting and app-description search in Ulauncher, then created BWBCoverBot for cover processing. Calc formatting #937, app descriptions #938, BWBCoverBot #165
2022
- Feb 2022 — Open Library: partner migration: moved a partner library from Archive.org APIs to Open Library APIs. PR #5783
- Dec 2022 — Open Library client: cover uploads: added support for uploading an edition cover from a file stream. PR #283
2023
- Nov 2023 — Pacta scripts: CCPD extraction: started the CCPD data-extraction script. Extraction commit
2024
- Sep 2024 — Runtipi docs / app store / main app: self-hosting contributions: corrected Runtipi local-run docs, added Hoarder to its app store, and added backup-section translation support. Docs #39, Hoarder #4782, translations #1665
- Oct 2024 — CasaOS App Store: Flowise: added Flowise. PR #565
2026
- Aug 2026 — Pacta Parks Observatory: dashboard foundations: started the parks accessibility dashboard and built its survey, map/filtering, authentication, data/schema, and admin foundations. Initial scaffold, v0 dashboard
- Sep 2026 — Pacta Parks Observatory: refinements: continued the dashboard work through navigation refinements and admin park deletion. Admin deletion
If you like what you read and want to work together, feel free to write to me!
