All posts

Vintrace

Full-Stack Developer·March 2021 - April 2024
JavaReactTypeScriptMySQLJava Server FacesEcho

Enterprise winery management platform used by wineries worldwide. Worked as a full-stack developer within the Software Sommelier team, building features and leading the language translation project.

Overview

Vintrace is an enterprise winery management platform that helps wineries manage their entire operation from grape to bottle. I worked as a full-stack developer within the Software Sommelier development team for three years, contributing to both the legacy Java Server Faces frontend and the modern React/TypeScript frontend, as well as the Java backend with MySQL database.

Technical Contributions

My work spanned the full technology stack. On the frontend, I built components using both the legacy Java Server Faces framework and the modern React/TypeScript stack with Echo for state management. On the backend, I developed new features and APIs using Java with MySQL for data persistence. I participated in code reviews, sprint planning, and worked within an Agile team using Jira for task management and GitLab for version control.

Language Translation Project

I was the lead developer for the language translation project, which involved internationalising the Vintrace platform to support multiple languages. This was a significant undertaking that touched nearly every part of the application, requiring careful extraction of user-facing strings, implementation of a translation management system, and ensuring the UI properly adapted to different text lengths and right-to-left languages.

Impact

During my time at Vintrace, I contributed to a platform used by wineries across the globe. The language translation project opened the platform to new international markets, and the features I built improved day-to-day operations for winery staff managing production, inventory, and compliance workflows.

What I Learned

Working with Legacy Codebases

Vintrace had a large Java Server Faces frontend alongside a newer React stack. I learned how to navigate and contribute to legacy code without introducing regressions, and how to incrementally migrate functionality to modern frameworks. The key insight: legacy code works and has been tested by real users — treat it with respect, not contempt.

Leading a Platform-Wide Effort

The language translation project was my first time leading a cross-cutting initiative. I learned to plan work that touches every screen in the application, coordinate with other developers whose features I was modifying, and communicate progress to stakeholders. The experience taught me that leading a project is as much about communication and coordination as it is about writing code.

Domain-Driven Development

Winery management is a specialised domain with complex workflows around fermentation tracking, blend management, compliance reporting, and inventory control. I learned the importance of deeply understanding the business domain you're building for — the best technical solutions come from truly understanding the problem, not just the requirements document.

Agile in Practice

Three years of daily standups, sprint planning, retrospectives, and code reviews at Vintrace taught me what Agile looks like when it's done well. I learned how to estimate work, break features into deliverable increments, and write merge requests that are easy for teammates to review. These habits now form the backbone of how I approach any project.

Key Challenges

  • Working across legacy and modern frontend frameworks simultaneously
  • Leading a platform-wide internationalisation effort with minimal disruption
  • Understanding and modelling complex winery business processes in software