jp ferreira
← All projects
Continuous during my tenure

BridgeU

Earlier full-stack role on a higher-education product helping students apply to universities globally. Shipped front-end features in Haml, Elm, and Vue, back-end work in Rails, contributed to the design system, and improved test coverage and CI reliability.

Role
Software Engineer
Period
2021 – 2023

// 01

Problem

BridgeU is a higher-education platform designed to help students discover and apply to universities globally. I joined shortly after completing Makers in my first commercial software engineering role, working within the monetisation squad.

The team's focus was on helping students move from passive platform usage toward meaningful university applications. The challenge was understanding student intent early enough to provide genuinely relevant guidance. Students would browse courses, search universities, build out academic and personal profiles, and explore options, but without tailored intervention many would disengage or fail to progress toward application.

Our role was to use platform behaviour as a signal. By tracking searches, engagement patterns, and profile data, we aimed to surface relevant strategic content that aligned with the student's interests and likely university fit. This included curated weekly article recommendations designed to help students better understand university options, application pathways, and decision-making. The broader commercial goal was clear: create a better student experience while increasing application conversion to suitable institutions.

This was particularly interesting because it sat at the intersection of product engineering, behavioural analytics, and personalisation rather than simple CRUD application development.

// 02

Technical Approach

BridgeU was a production full-stack application built primarily around Ruby on Rails on the backend, with a frontend ecosystem that included Haml, Elm, and Vue depending on the product area.

As this was my first commercial engineering role, one of the steepest parts of the learning curve was adapting quickly to an existing production codebase while simultaneously learning technologies I had never used before, particularly Elm and Vue. Coming from Makers, I had strong engineering fundamentals but needed to rapidly become productive within an established engineering environment.

The monetisation squad worked on behaviour-driven product features, which meant instrumenting and consuming student interaction data to drive personalised content recommendations. Frontend work involved building product experiences that surfaced relevant content, while backend Rails work supported recommendation logic, data handling, and feature delivery.

I also contributed beyond direct feature work, including design system improvements, testing, and CI reliability. Working in a mature production environment exposed me early to engineering practices around code quality, automated testing, deployment confidence, and collaborative product delivery.

Even at this early stage, I developed an appreciation for how product engineering is not simply about building features, but about using technical systems to influence measurable user behaviour and business outcomes.

// 03

Interesting Hard Bits

The most significant challenge in this role was the pace of growth required. This was my first commercial engineering position, which meant everything was new at once: production code ownership, engineering team workflows, product expectations, unfamiliar technologies, CI pipelines, and stakeholder collaboration.

Learning Elm was particularly challenging because it introduced a completely different programming model compared to the JavaScript ecosystems I had seen previously. Strong typing, functional architecture, and Elm's strict patterns forced me to think differently about frontend engineering. Vue also required rapid adaptation, particularly in understanding component structure and framework conventions within an existing codebase.

What I'm most proud of is how quickly I moved from being the newest engineer to becoming a trusted contributor and effectively the go-to engineer for parts of the monetisation product area. That transition was not about tenure, but about consistently learning fast, taking ownership, asking good questions, and becoming dependable.

This role laid much of the foundation for the engineer I became later. It taught me how production teams operate, how engineering supports product strategy, how to navigate unfamiliar technology under pressure, and how quickly growth can happen when you lean into discomfort rather than avoiding it.

Tech Stack

Frontend

HamlVue.jsElmJavaScriptCSS

Backend

Ruby on RailsSQLRSpecCapybara

Database & Infrastructure

PostgreSQLAWSRedisS3

Highlights

Engineering practices

  • Automated testing and CI/CD reliability improvements
  • Design system contributions
  • Production monitoring

Product focus

  • Behaviour tracking and student engagement signals
  • Personalised content recommendation workflows
  • Conversion-focused monetisation squad