Clear thinking.
Practical technology.
Engineering notes from a year of upgrades, migrations and integrations, articles on technology leadership, and a build log of how this company's systems were set up as code. Dead ends included.
2026 in review: five projects, one theme
Upgrades, migrations and integrations. What I worked on this year, what shipped, and what I'd do differently.
Read the article · 3 minSteady output, in bursts.
Non-merge commits by month, de-duplicated by hash across the repos I work in.
22 posts
A HubSpot backup you can actually browse
A read-only backup of configuration, records and files, plus a small web app to look through it.
Amit Kulkarni · Nov 2026 · 1 min read Engineering notesMoving a large file set out of Salesforce
A resumable export, an audit log, and a read-only check that told us exactly what had landed.
Amit Kulkarni · Oct 2026 · 2 min read Engineering notesMaking a slow partner call fail predictably
A configurable timeout, a correlation id, and logs that hide passwords but keep usernames.
Amit Kulkarni · Oct 2026 · 1 min read Engineering notesPlanning an upgrade when there are no tests
How I approached a Grails 7 and Java 17 upgrade of a large production app with almost no test coverage.
Amit Kulkarni · Sep 2026 · 2 min read Engineering notesKeying HubSpot to our own IDs
What identifies a record when two systems both think they own it, and why blank fields are dangerous.
Amit Kulkarni · Sep 2026 · 1 min read Engineering notesWhat Grails 7 and ActiveMQ 6 actually broke
The unglamorous list of fixes from upgrading an integration service and a core app.
Amit Kulkarni · Jun 2026 · 1 min read Engineering notesShowing the SQL before running it
A debug panel for a report builder, and a toggle between two backends.
Amit Kulkarni · Mar 2026 · 1 min read Engineering notesGenerating Cypress tests from a role matrix
How a small generator produced thousands of role checks, and what the hand-written tests were for.
Amit Kulkarni · Mar 2026 · 1 min read InsightsFrom Software Engineer to Technology Leader
How responsibility grows from writing code to leading technology and innovation, and what to build along the way.
Amit Kulkarni · 2026 · 2 min read InsightsEnterprise Integrations Should Start with the Workflow
A practical framework for defining ownership, failure handling, and support before connecting enterprise applications.
Amit Kulkarni · 2026 · 2 min read InsightsSaaS Cost Optimization Starts with Usage
Review SaaS costs through usage, business outcomes, dependencies, and measurable service requirements before changing contracts or tools.
Amit Kulkarni · 2026 · 2 min read InsightsModernize Platforms Without Losing Business Context
Plan software modernization around preserved workflows, explicit tradeoffs, and reversible delivery rather than a technology replacement alone.
Amit Kulkarni · 2026 · 2 min read InsightsEngineering Leadership Means Making Decisions Clear
Help engineering teams move forward with explicit outcomes, documented choices, clear ownership, and useful feedback.
Amit Kulkarni · 2026 · 2 min read Build log · Part 1What the HubSpot Free plan can and cannot do
Custom objects need Enterprise, so we used the standard objects and treated the limits as part of the lesson.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 2A static-token app, and why scopes bite
The CLI key and the app token are different credentials with different scopes. Mixing them up cost us a few 403s.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 3Properties, pipelines and forms as code
Idempotent scripts that create things the first time and update them every time after.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 4Three ticket types from one pipeline
We wanted different forms to create different kinds of tickets. A field beat a second pipeline.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 5Sample data you can load, update and verify
A seeded generator, batch loading, a guarded mass update and a verify script that says PASS or FAIL.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 6Hosting the company site on AWS
A private bucket behind CloudFront, a certificate in the right region, and DNS records you can read.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 7A brand you can rebuild from code
Tokens, a vector K drawn in a script, an outlined wordmark and a mistake that looked like a Q.
Kulkarni Inc. · Nov 2026 · 1 min read Build log · Part 8One CloudFront distribution, many sites
A small viewer-request function routes hostnames to folders, and one flag in a deploy script stops it deleting them.
Kulkarni Inc. · Nov 2026 · 1 min readNo posts match. Try a different word or clear the filter.