Robert Beghian

Senior software architect in Toronto

Brilliant. Hilarious. Modest.

I lead the modernization of Scotiabank’s retail web banking platform, used by millions of customers. Before that, I helped ship fourteen Kobo eReaders and built Android apps with 2.4 million downloads.

Experience

Scotiabank

2018–present

Senior software architect

2020–present

  • Leading the multi-year modernization of the retail web banking platform used by millions of customers.
  • Helping teams work through architectural decisions and tradeoffs.

Consultant

2018–2020

Through Vasken Consulting · Node.js, React

  • Built customer-facing web features and micro-apps, starting with the Help Centre, along with prototypes for the next generation of web banking.
More about the Scotiabank work

Since 2020 I’ve led the modernization of Scotiabank’s retail web banking platform. Mostly, I try to help teams make the least-bad tradeoffs.

I joined as a consultant in 2018, working on the Help Centre and other customer-facing web projects. Those features and prototypes laid the groundwork for what came next.

The Scotiabank Help Centre home page
The Scotiabank Help Centre

Kobo

2008–2018

eReaders, desktop, web and Android

C++, Qt, embedded Linux, Java, .NET

  • Helped start the eReader team and ship fourteen devices, from the original Kobo in 2010 to the Clara HD in 2018.
  • Adapted the eReader platform into Kobo Desktop and shipped it within six months, supporting book purchases, reading, and device updates and syncing.
  • Improved the online bookstore’s performance and reliability for traffic spikes through service-oriented architecture, key-value storage and refactoring.
Explore the Kobo devices and other work

Fourteen eReaders

2010–2018 · C++, Qt, embedded Linux

E-ink readers are made to feel like reading on paper. They hold a whole library, the screens don’t glare, and the batteries can last for months. Building them means working close to the hardware, on devices with very little memory or power to spare.

Starting with the first Kobo in 2010, I helped ship fourteen of them. Each one got faster and better looking, and a lot of them won awards. Pick one to read about it.

Kobo Clara HD
Kobo Clara HD

Released 2018

Released on 5 June 2018. This was the last device I worked on before moving on to new things.

“Kobo's Clara HD … now has the best interface available for borrowing and reading books.”

Kobo Desktop

C++, Qt

We realized we’d need a desktop app to support the eReaders, so we adapted our platform and shipped one to production within six months. You could browse Kobo’s store, buy and read books, and it would update and sync any device plugged in over USB.

Kobo Desktop running on a laptop and a monitor
Kobo Desktop

The Kobo store

.NET, IIS, Membase

I also worked on the website’s performance, so it could handle huge spikes in traffic and the holiday rush. We moved to a service-oriented architecture, explored key-value stores, and did a lot of refactoring to make it more reliable.

The Kobo online bookstore on a tablet
The Kobo store

The original Android app

2008–2009 · Shortcovers, later Kobo · Java, Android

In 2008, I put together a proof of concept for the original Kobo phone app for Android. I eventually worked on it full time and released it to the public in early 2009.

Then I handed it off to help start the team that built Kobo’s e-ink devices.

The Shortcovers reading app on early Android and Palm phones
Shortcovers, the app that became Kobo

Early career

Before 2008

Marsh Canada

JavaScript

  • Built client-side web interfaces and took over the component library.

IBM

Java, DB2

  • Built the report-generating component for Tivoli Provisioning Manager.
More about Marsh and IBM

At Marsh Canada, I learned about client-side UI development. I built JavaScript pages and eventually took over the component library. My big insight was that JavaScript is actually pretty cool. Seeing the code Douglas Crockford’s team was churning out at YUI, and reading The Good Parts, was an absolute eye-opener.

Before Marsh, my first job was at IBM. There, I got to see what it’s like to work on a massive web app. My assignment was to build the report-generating component for Tivoli Provisioning Manager.

IBM and Marsh web applications shown on a desktop monitor
Work from IBM and Marsh Canada

Projects

Ventures, independent apps and research. Several ran alongside my main roles.

Lost in Dust

2024–present

Browser game · Solo side project

React

  • Built a text adventure in the spirit of A Dark Room. You start on a dusty path in 1842 with no memory of who you are, and survive one choice at a time.
  • Each game generates a new world of terrain, rivers, roads, towns and territories, and your journey follows the roads from town to town.
  • Wrote events that change with the terrain, the season and the time of day.

A Dusty Path

Play Lost in Dust

Read about the inspiration

The pacing comes from A Dark Room: one button, a few sparse lines, and a game that reveals itself as you play.

The world underneath comes from writing about procedural maps. Amit Patel’s polygon map generation and Martin O’Leary’s fantasy map generator show how to grow coastlines, rivers and towns from a scatter of random points. Lost in Dust builds its map the same way, then sends you walking across it.

Lost in Dust on arrival in Crow’s Hollow: the walk log fades down the left, and a window titled “the town” describes a dog’s bowl in the dirt
Arriving in Crow’s Hollow, one of the generated towns

Shonin

2016–2018

Co-founder · Alongside Kobo

Android, cloud backend

  • Co-founded a cloud-connected wearable camera company and built its backend service and companion Android app.

Independent Android apps

2009–2012

Vasken Consulting · Alongside Kobo

Java, Android

  • Built three dozen games with 2.4 million cumulative downloads and an average rating of 4.1 stars.
  • Sold the portfolio to Ubinuri, a distributor of Android apps through local app stores in Korea, in 2012.
See the app results and consulting background

I kept building apps on and off, for fun. They grew into a portfolio of three dozen games before I sold the entire lot in 2012.

Google Play totals: 36 applications, 2.42 million downloads, 4.1 average rating
Lifetime totals from the Google Play console

Vasken Consulting

2009–2020 · C#, Java, Python, JavaScript

The same company carried my contract work for a decade, across web and mobile stacks, including the consulting work at Scotiabank.

Mobile startup prototype

2008

Y Combinator pitch · Java, Android

  • Built an Android prototype for a mobile-first Yelp alternative before the first Android phone shipped; our team reached the final ten and pitched in Mountain View.
Read the prototype story

The first app I built was a prototype for a pitch to Y Combinator. From a field of hundreds we made the final ten and flew to Mountain View to pitch.

The demo was emulator-only, and they ended up not liking us very much.

Medical imaging research

Before 2008

University of Toronto · Undergraduate project · Matlab

  • Prototyped a 3D MRI model overlaid on live ultrasound to explore image-guided treatment with doctors at Princess Margaret Hospital.
Read about the research prototype

One of the most interesting projects I’ve worked on was as an undergrad at UofT. Doctors at Princess Margaret Hospital were looking for a non-invasive procedure to treat prostate cancer.

A patient would first get an MRI to give doctors high-resolution images of the tumour and surrounding organs. Later, a doctor would guide a needle into the centre of the tumour using live ultrasound. The goal was to superimpose the MRI model over the streaming ultrasound images and place a virtual target for the doctor to aim at.

As a half-semester project, all I managed was to interpolate the MRI images into a 3D model and guesstimate a position that reasonably overlaid the ultrasound. Needle positioning worked too, but only in the happy path where other organs were conveniently out of the way.