Paragon

Better tools for professional growth

Engineering Leadership · Process Improvement · Full-Stack Development

Throughout my career, I have seen organizations invest considerable effort into defining career frameworks, conducting performance reviews, and establishing professional development programs.

Unfortunately, the day-to-day experience of professional growth often receives far less attention.

Goals get buried in documents. Career conversations become periodic obligations. Accomplishments are forgotten, and meaningful development becomes difficult to track.

As an engineering leader, I find that frustrating because I believe professional development should be an ongoing part of a healthy engineering culture.

Rather than simply accepting those limitations, I started building a tool to explore a better approach.

The idea

Paragon is a professional development tool designed to help individuals understand their capabilities, identify meaningful opportunities for growth, and maintain a continuous record of their progress.

It brings together structured skill frameworks, development goals, and evidence of accomplishments to make professional growth more visible and easier to support.

The underlying principle is straightforward: career development should be something people actively engage with, rather than something they reconstruct when performance-review season arrives.

Why I am building it

Paragon represents an extension of how I approach engineering leadership.

When I encounter processes that create unnecessary friction or fail to support people effectively, I want to understand the underlying problem and explore ways to improve it.

Sometimes the right solution is a change in process or communication. Sometimes better tooling can make a meaningful difference.

This project gives me an opportunity to explore both.

It has also allowed me to remain hands-on with modern engineering, including React, TypeScript, Go, PostgreSQL, and AI-assisted development practices.

What makes it interesting

The technical challenges extend beyond presenting a list of skills.

Professional development is personal, contextual, and constantly evolving. A useful tool needs to accommodate different career paths, changing expectations, and the history of what someone has accomplished.

Exploring those challenges has involved data modelling, user experience design, application architecture, and careful consideration of how the tool might support both individuals and engineering organizations.

The project remains an ongoing development effort, and the lessons continue to inform how I think about professional growth, engineering processes, and the role of technology in supporting people.

Adrift

Finding practical uses for AI, one bottle at a time

Native iOS · SwiftUI · Go · PostgreSQL · Google Gemini

Outside engineering, one of my favourite hobbies is mixology.

I enjoy experimenting with ingredients, developing original cocktail recipes, and discovering new spirits. Over time, that interest has resulted in a rather substantial home bar.

Keeping track of everything can be surprisingly complicated.

I wanted an easier way to manage my collection, explore cocktail recipes, and identify new additions without spending time manually entering product information.

Naturally, I decided to build something.

The application

Adrift is a native iOS application supported by a Go API and PostgreSQL database.

It brings together personal bar inventory, spirits information, and cocktail discovery in an application designed around the bottles and ingredients someone actually owns.

Building it has given me an opportunity to explore native Apple development while working across application interfaces, backend services, data persistence, authentication, and self-hosted infrastructure.

Applying AI to a real problem

One of the most interesting features involves using AI to help identify spirits.

Adding a bottle to an inventory should be simple. In practice, product identification introduces several challenges.

Barcodes do not always resolve cleanly to product information. Spirits have regional variations, similar packaging, and sometimes incomplete catalogue data.

I integrated Google's Gemini models into the identification workflow to explore how AI could help recognize products and enrich the information available to the application.

The results have been instructive.

An AI model might understand what a particular spirit is while being unable to reliably associate it with a specific barcode. That distinction raises important questions about accuracy, uncertain results, user confirmation, and when deterministic approaches are more appropriate.

These are exactly the kinds of practical challenges that make working with emerging technologies interesting.

Why it matters to me

Adrift is not an enterprise application, and it does not need to be.

It gives me a reason to learn technologies outside my everyday work, investigate real engineering problems, and make software that supports something I genuinely enjoy.

It also reinforces an important principle: the value of AI comes from making something more useful, not simply from adding AI to it.

The common thread

These projects serve very different purposes, but they share something important.

Both started with a real problem I wanted to solve.

Both have required me to explore unfamiliar territory, challenge assumptions, and make decisions about what is genuinely useful.

And both give me opportunities to keep learning.

I believe that curiosity is an important part of effective engineering leadership. Understanding modern development practices, recognizing the strengths and limitations of emerging technologies, and maintaining a connection to hands-on engineering help me make better decisions for the teams I lead.

For me, building software remains one of the best ways to learn.