A Fall Internship at Ramp: Improving Reimbursements

April 3, 2025

Pre-Ramp

I first heard about Ramp from several talented peers at my school, who described it as an exciting and innovative company. During a summer internship at a startup in the San Francisco Bay Area, I couldn’t help but notice Ramp’s bold, yellow, bullish ads everywhere in downtown SF—on buses, billboards, train stations, and countless unexpected places.

Eventually, curiosity got the better of me, and I decided to apply for the Backend Software Engineering Intern role. One of my interviewers, Vinai, stood out as an enthusiastic engineer who was joining the reimbursements team. We seemed to share a similar drive to learn as much as possible and ship quickly. Although I hadn’t done extensive research on Ramp or its reimbursements team, I could tell Vinai was serious about his work. Thankfully, he saw something in me too and extended an offer to join as an intern under his mentorship.

Without hesitation, I signed the offer letter and began preparing to move to New York City. But before leaving, I made one last trip to San Francisco and took a picture with a Ramp ad. Yes, it was still there—several months later.

Ramp ad spotted in subway

Ramping Up

And I was right—there truly is something special about the energy at Ramp. Reimbursements on Ramp are one of the platform’s biggest sources of traffic, providing endless opportunities to build new features, refine existing flows, and, most importantly, learn as a young engineer.

Making Multi-Currency Reimbursements Cleaner

One of my first projects, though relatively simple, delivered immediate impact: improving the handling of differing currencies for mileage reimbursements. For example, when a Canadian employee of a U.S. business submits a mileage reimbursement request, they now see:

  • What they are reimbursing for (CAD)
  • What they will get paid (USD)
Mileage reimbursements feature in Ramp

Hallucinating Receipt Data

When processing text extracted from receipts for reimbursements, we already make basic guesses about key details like merchant name, amount, and transaction date. But with the rapid advancements in large language models (LLMs) and their ability to understand text input, we can take this a step further—by predicting merchant categories directly from the receipt data.

This opens the door to more advanced categorizations and spending rules. For instance, Ramp could automatically determine whether a transaction falls within specific reimbursement categories or fund limits. With richer receipt data fueling smarter insights, the possibilities are endless as Ramp continues to evolve!

Mileage Reimbursements Overhaul

While mileage reimbursements aren’t as widely used as standard out-of-pocket reimbursements, they remain a critical feature for many businesses. A significant portion of my internship was spent implementing improvements that transformed the mileage reimbursement experience, including:

  • Adding support for storing live navigations
  • Recommending frequent trips from the last three months
  • Deducting personal commutes from mileage reimbursements
  • Automatically generating e-receipts for mileage reimbursements

And even more…

  • Enhancing internal merchant matching between known vendors and receipt data
  • Implementing monitoring and alerts for OCR results to catch inaccurate categorizations
  • Prototyping a new MFA mechanism (stay tuned for details!)

Reflection

Ramp presented an incredible opportunity to dive into full-stack engineering at a startup. I could talk for hours about everything I learned, but here are a few key takeaways:

If you’re not collecting data, you’re doing it wrong.

This quote from a coworker stuck with me. When building new products, it’s crucial to communicate what metrics you’ll track, how you’ll measure success, and follow up on those numbers. For me, that meant ensuring my features were being used as intended, monitoring logs to catch potential errors, and understanding the decisions my code made and their results. Even when it required creating new patterns or workflows, investing in robust data collection always paid off.

Think about your design choices more.

Whether it’s designing a database schema or prototyping a new feature, I’ve learned the importance of a structured approach:

  1. Write a spec detailing how it’s supposed to work
  2. Ask for feedback on specific implementation details
  3. Edit the spec and repeat

Prototyping with actual code, without a solid plan, rarely resulted in meaningful progress—especially when I was still ramping up at the company. At Ramp, specs are king. People eagerly share them with coworkers, managers, and even in the notoriously brutal Slack channel, #share-your-tech-spec, for feedback.

Beyond good spec-writing, I’ve learned to ensure my work adheres to a few core principles:

  1. Leave the codebase in a better state than before
  2. Get the job done
  3. Make functions reusable for other tools or teams

The right resources are always there.

With Ramp now at around 1,100–1,200 employees, I was never short on resources or support. The company has grown so quickly in just the few months I’ve been here that it feels like a whole new place. This evolution is driven by a shared passion for pushing Ramp to be better tomorrow than it is today.

Every document—from specs to strategies—is shared openly across the company. I always felt I had access to the information I needed to solve problems and learn. This culture of transparency and collaboration has been invaluable, helping me tackle niche challenges and grow as an engineer.


Highlights

One of the best parts of my Ramp experience was being part of the Emerging Talent community—a vibrant group of interns and full-timers who started as new grads at Ramp. This community is all about connection, with frequent events, celebrations, and, of course, plenty of laughs. Exploring NYC with my fellow interns was an unforgettable experience, with the pizza tour being the highlight.

We also got to chat with many of the leads at Ramp. Being able to talk with Eric, Karim, and Veeral about how they started Ramp, what keeps them excited, and what young talent should focus on was very inspiring. While I could’ve spent hours soaking up their advice, one quote always resonated and brought us back to focus:

“Job’s not finished.”

It perfectly captures Ramp’s culture of ambition and perseverance.

My coworker Josiah and I even went viral on X/Twitter for something I posted in #fun-memes—a proud moment that Ramp even reposted! It was a hilarious highlight of my time here.

Intern dinner

Wrapping Up

As 2025 begins, I’ll be heading back to the University of Waterloo to continue my studies. My time at Ramp has truly been one of a kind. I’ve had the privilege of working with some of the brightest minds on software that I’m genuinely proud of. I’m excited to see what’s next for Ramp and where my potential future here might lead.

Working at a high-growth startup on such impactful products has been an incredible honour. To any aspiring engineers out there: give Ramp a shot—it’s an opportunity like no other.

Lastly, a huge shoutout to Vinai for being an exceptional manager throughout my internship.

© 2025 Ramp Business Corporation. “Ramp,” "Ramp Financial" and the Ramp logo are trademarks of the company.
The Ramp Visa Commercial Card and the Ramp Visa Corporate Card are issued by Sutton Bank and Celtic Bank (Members FDIC), respectively. Please visit our Terms of Service for more details.