Riccardo Bellingeri
Software Engineer with 10+ years in Financial Services and E-commerce
Excited about building products on the server and in the browser with Node.js, React and TypeScript.
I am specialized in Front End and Mobile Web technologies with a passion for delivering great user experiences and products. I worked internationally for over 10 years in New York, Dublin, Milan, and my hometown Venice.
Experience
My areas of expertise include developing interactive Web Apps and Microservices, Web Performance profiling and monitoring. Over the years I led other engineers, core engineering initiatives, and contributed to processes standardization/automation.
Bread Financial New York, NY
- Staff Software Engineer (May 2022 - present)
- Senior Software Engineer (Apr. 2020 - May 2022)
I am part of the Member Experience team, where I led engineering efforts for the creation of the Servicing Portal. I continue to build new features and lead maintenance of this app, used daily by CS agents to navigate the entire loan lifecycle, accessing customer data, communicating via various channels, automating workflows. The app integrates seamlessly with all APIs at Bread.
Other initiatives I've played a key role in, include enhancing the Member Portal, building the Personal Loans app (responsible for nine figures of annual loan originations), and Dough (a Design System/Component Library).
I've mentored other engineers, standardized processes, automated releases, and led cross-team initiatives for shared dev tooling and API consumption.
Projects
Servicing Portal
My first area of focus during my experience at Bread, this portal is used by CS agents to service customers on their loans and other financial products at Bread. I was the owner of the app from an engineering standpoint, involved from day one in the architecture and development while overseeing and mentoring others. Servicing Portal is a Single-page React app that is built on top of a Node.js backend-for-frontend. The Node.js layer is responsible for hitting all Bread’s micro services and aggregate the response data that would be returned to the UI. The request/response types were shared in an API contract. Initially the UI was written in JavaScript: later, as we needed to scale and support multiple tenants, we’ve fully migrated to TypeScript which was used end-to-end.
Bread Loan - Debt Consolidation
A customer facing app that allows buyers to apply for Personal Loans and Debt Consolidation. Within a few months from launch we hit the $100 Million mark in loans originated through the app, with 1.36% delinquency rate and sub 2% CS contact rate. Having launched invite-only, as of Jan. 2023 we were still in the first innings of this product.
I was one of the main contributors, architecting and coding all the user flows (initial Authentication, Product Selection, Creation of Balance Transfers).
Dough - Bread’s design system
Dough is the UI component library at Bread: it’s published as an NPM package and also deployed as a stand-alone web app used as a styleguide. I was the main contributor to the library, where I created components such as a multistep Modal used across most of Bread’s apps. Initially the library was written in vanilla JS but over time I incrementally introduced support for TypeScript and migrated to it. Other than component development, I’ve introduced an automated release and versioning process and added visual regression testing using Percy.
TRANSITIONER
A Chrome extension designed to make life easy for Bread employees that need to navigate between various applications on different environments and tenants. This extension was created over the course of two weeks as part of a working group initiative that I sponsored. I was involved hands-on with the strategy and oversaw the development of the extension.
Shared API Clients
As part of a working group initiative, I’ve ideated a system that allowed us to automatically generate and publish API Clients to consume different micro services at Bread. These clients were generated from OpenAPI Specs exposed by the services, and would support different programming languages, e.g. TypeScript and Python, leveraging OpenAPI Generator. They were versioned and published individually. While initially the update/release process was manual, we began implementing an automated release system that would was triggered whenever one of the services published an updated spec.
Hudson’s Bay Company New York, NY and Dublin, Ireland
- Lead Software Engineer (Apr. 2019 - Apr. 2020)
- Software Engineer III (Jul. 2018 - Mar. 2019)
I led a team of 3 engineers on a Site Speed effort that cut page load times and tracked the improvements daily on a dashboard. As an experienced Front End Engineer, I contributed to a Product Array page and led a revamped Rewards program for Hudson's Bay.
Projects
HBC Loyalty (Nov. 2019 - Apr. 2020)
Engineering Team Lead driving the Hudson’s Bay Rewards initiative, which included a dedicated section on Hudson’s Bay website, used by customers to Join the program, Earn loyalty points and Redeeming rewards with HBC partners such as AirMiles and LoyaltyOne.
CCPA compliance (Oct. 2019 - Feb. 2020)
Lead Engineer implementing cookie-blocking and Request-to-know solution for the CCPA regulation.
Site Speed (Apr. 2019 - Oct. 2019)
I was Engineering Lead on a Site Speed initiative targeting all of Hudson’s Bay businesses (Saks 5th Avenue, Saks Off 5th, The Bay, Lord&Taylor).
We employed techniques like clearing the critical render path, preloading, font de-duping, deferring assets non-critical to first render, lazy loading, supporting ES modules, switching compression from gzip to brotli. The improvements were tracked with benchmarks WebPageTest, Lighthouse and Puppeteer, running on a Kubernetes cluster and triggered automatically. Results were stored in InfluxDB, visualized on a Grafana dashboard. Take a look at this medium post that goes into further detail on the dashboard and methodology used.
We have also been advocating site speed and web performance to the rest of the organization, starting a
dialog to find compromises on heavy third-party scripts, creating a performance budget and adding
automated CI checks to keep the code size under control. As part of this effort, I created the open source
project bundle-checker
.
Product Array Page (2018)
I’ve worked on the creation of a revamped Product Array page, part of a Front End team of 4 working on a React.js SSR app hosted on AWS, the content of which was embedded in a legacy JSP page served by Blue Martini. I’ve been a contributor to the architecture design, development and UX prototyping.
Gilt.com (part of Hudson’s Bay Company) — Dublin, Ireland
https://www.gilt.com- Software Engineer III (May 2018 - Jul. 2018)
- Software Engineer II (Jun. 2017 - May 2018)
- Software Engineer (Jan. 2017 - Jun. 2017)
Built a brand new Category Page and Nav menu, shared UI components and utilities, and maintained the Checkout flow.
Projects
Designers Index page (Apr. 2019 - Oct. 2019)
Searchable list of Designers and Brands on Gilt.com. A server-side rendered Vue app, the Node.js back end uses GraphQL to integrate with inventory API and only list the available Designers.
GDPR Compliance (2018)
Worked with product, legal, and design teams to let users opt-in to the GDPR privacy settings. I’ve introduced an npm-published JavaScript package that contained logic to allow a user to select their country and the desired privacy preference (if their country was among the ones in the allowed list). This privacy preference was then passed to a serverless function that used the same JavaScript package to validate the request and call all relevant micro services with the customer details and preferences so that it could be stored.
Category Landing pages (2017)
https://fashionista.com/2017/09/gilt-redesign
Architecture design and development of the Category Landing page, a server-side rendered app that could display a variety of components and supported different layouts.
Global Index Menu (2017)
Development of the npm-published Global Navigation component, that was used as a dependency for all other web apps.
Tooltip Component (Apr. 2017 - May 2017)
A dynamic tooltip component, which was used across different Gilt.com pages to highlight new features as they were being
released, or to direct the attention of the users to specific sections of the page. It supported advanced behavior like
tracking how many times it had been viewed and stop displaying after the limit was met. It was written in Vue using
the IntersectionObserver
API to check
DOM elements' visibility and appear over the targeted elements as they were
being scrolled into the view.
Checkout page, Account page (2017-2018)
Both of these were independent web apps that were originally written in Backbone.js and LESS.
I’ve maintained both apps, and developed new features such as Stackable Promo Codes, and integrations such as
ShopRunner, Borderfree, AliPay, Amex express Checkout, Apple Pay. I’ve also been involved in the migration of these two
apps to React.js.
Deloitte Digital Dublin, Ireland
- Front End Engineer, Senior Consultant (Mar. 2016 - Jan. 2017)
I built new features for the web app powering the leading european bookmaker Paddy Power, and developed blockchain-based POCs for the bank regulatory industry.
Projects
Blockchain POCs (2016)
I was part of the Deloitte EMEA Blockchain Lab, developing the Front End of a Liquidity Coverage Report POC, aimed at the bank regulatory industry, to facilitate day to day operations and report generation. A second Know-Your-Customers prototype was built as a middle ground between Banks, Users and Government entities to upload proofed IDs to the Blockchain.
Paddy Power (2016)
https://sports.paddypower.mobi Refactor and performance improvements on the main bookmaking web app in the UK and Ireland.
Firstborn New York, NY
- Creative Developer (Mar. 2015 - Mar. 2016, internship)
Created high visual impact microsites for Clash of Clans, Mountain Dew, Pepsi, Ralph Lauren and others.
Projects
Clash of Clans, True Tales of Clash Achievery (2016)
A microsite celebrating the best epic moments in SuperCell’s game. The page was a customization of Tumblr, using it as a CMS for users to post screenshots and pictures of their achievements in the game.
The page launch was supplemented with a TV ad and a subway takeover campaign in NYC.
Mountain Dew for NBA (2016)
Front End development of a web app for the partnership between NBA player Russell Westbrook and the artist Naturel. It was a high visual impact interactive microsite that featured a full-screen animation that allowed you to see the 2 limited-edition cans of Dew. It was using parallax effects as you were navigating the experience, and advanced CSS animations.
Ralph Lauren, Supreme Fragrances (2015)
Front End development of the Product Detail Page.
Mountain Dew, PWRUP page (2015)
Front End development for Partnership between Mountain Dew, Doritos and PlayStation. The site has been created to drive sales volume, hype release of Batman: Arkham Knight, and reinforce the connection between Dew and Gaming.
Mountain Dew, Playstation and Dew (2015)
Page with Mountain Dew’s Always-On Gaming program info and game content provided by IGN for the game Warframe.
Alpenite Venice, Italy
- Full Stack Developer (Feb. 2013 - Feb. 2015)
I built e-commerce platforms for luxury brands such as Balmain, Lancôme, BVLGARI, Tod’s.
Projects
Balmain (2014)
https://www.balmain.com Collaborated in the development of the Balmain.com site: Index Menu, Homepage and PDP.
BVLGARI (2014)
https://www.bulgari.com/ Worked both on the Front End and Back End for the Store Locator, Sitemap, Gift Guide page.
Tod’s (2013)
https://www.tods.com Project Management and Development of new features and editorial pages.
RIS:app (2013)
iOS / Android hybrid app, Front End development of an App that lets users browse the Austrian law database, manage favorites and download PDF offline.
Personal Projects
next-mdx-tailwind (2022)
https://github.com/rbelling/next-mdx-tailwind
A Next.js boilerplate that supports Markdown content that can be styled with Tailwind. My personal site and resume are written using this boilerplate.
Page Change Notifier (2021)
A page crawler that would run at set intervals and check for specific conditions on the content of a page, notifying via SMS when that condition was met. This was used mainly for booking reservatinos, tickets for events as soon as they were available, monitoring listings, and similar scenarios where you would have to constantly refresh the page and manually monitor its content. It supports advanced interactions and DOM element targeting with CSS selectors.
Reel Generator (2021)
GitHub - rbelling/reel-generator: Generate an Instagram reel from images This project allows you to programmatically generate a reel video given an initial set of images. It can output in a format that matches what different social networks support.
Spoak.com (2020)
I collaborated on https://www.spoak.com/ on the development of the interactive canvas to sketch up Interior Design projects. I’ve also worked on a stand alone product to allow the creation of Video Reels given a set of images, which was open sourced and available on GitHub here.
bundle-checker (2019)
https://github.com/rbelling/bundle-checker CLI tool to compare the size of build files in two git branches to help
monitor bundle sizes automatically when
users create a PR. This would be typically run in a CI pipeline on PRs where the target branch is master
.
Do-nation (2015)
A hackathon project to help users getting the most out of their donation, by determining where it would have the greatest impact. It used the DonorsChoose APIs and Python to process the result of a query and display it on an interactive Map of the USA. See some more details on the project here: Do-nation | Devpost
Skills
Code | |
DevOps | |
Monitoring | |
CI/CD | |
Tools | |
Databases | |
Testing | |
Integrations | |
Animation | |
Design | |
Collaborate |
Education
Year | Title | University |
---|---|---|
2013 | B.S. Computer Science | Ca’Foscari, Venice |
2010 | ERASMUS Scholarship | Université Paris Cité |
Languages
English | Fluent |
French | Professional working proficiency |
Italian | Fluent |
Spanish | Elementary proficiency |