ExperienceSoftware Development Engineer Intern
Software Development Engineer Intern

Amazon, FBA Transportation Xperience Team
May '23 - Aug '23 · 4 months
Case study
Putting a Usable Interface on an Internal Service
A 14-week SDE internship on a team that owned an internal back-end service other teams across the org depended on. The only way to work with that service was through its engineers. My project was the front-end console that let those teams use it directly - a real-time window onto data they had previously had to request.
Context
This is a short account of the project and what it taught me, kept at the level of engineering ideas rather than internal detail.
The back-end service already worked. The gap was that the people who relied on it every day could not see into it without pulling an engineer in.
The problem
Internal teams interacted with the service through a slow, manual, developer-mediated path: every question about the current state of something meant filing a request and waiting for an engineer to run it down. That does not scale with the number of teams or the number of questions.
It was harder because the domain kept moving. External rules governing the data changed repeatedly over that period, so what those teams needed to check shifted often - and a manual process is exactly what cannot keep up with a moving target.
The core idea
The leverage was not in the back-end - it already did its job. It was in the interface. Give the teams a direct, real-time view they could read and act on themselves, and the engineer stops being a required step.
Before
After
Same service underneath. What changed was who could reach it, and how fast.
Building on Cloudscape
The console is built on Cloudscape, Amazon's open-source design system. Building on it meant the tool felt native to the internal applications these teams already lived in, so my time went into the data and the workflows rather than rebuilding tables, forms, and layout primitives.
How it fit together
At a concept level: the console is a React front-end that calls the team's back-end service over REST and renders live status for whoever is looking. A test layer sat under all of it - unit tests for the front-end logic, and end-to-end tests driving the console the way a user would.
Tested with Jest at the unit level and Cucumber.js / Nightwatch.js end to end.
Investing in the pipeline
A lot of the project's value was in making iteration cheap. I put real effort into the CI/CD and automation around the app so every change after the first shipped quickly and safely. On a short internship that compounds fast: the quicker each change lands, the more of them you get to make.
My contribution
I designed and built the front-end console end to end, integrated it with the service the team owned, and set up the testing and CI story around it.
It was also my first real exposure to how software engineering works inside a large organization - design and architecture review, working within an established codebase, and Agile delivery on a team.
What I took from it
A service nobody can use without an engineer is a service that is not fully doing its job. Interface work - making a system legible and actionable to the people who depend on it - is real engineering leverage, not a cosmetic layer on top.
And CI/CD investment compounds. The time spent making changes cheap to ship paid back many times over the rest of the internship, and it changed how I weigh tooling work now.
Technology
React · Cloudscape
The console UI, built on Amazon's open-source design system
JavaScript · REST APIs
Application logic and the calls to the team's back-end service
Jest · Cucumber.js · Nightwatch.js
Unit and end-to-end test coverage
CI/CD · AWS
Making each change fast and safe to ship
© 2026 Gaurav Divecha. All rights reserved.