Access control and building security upgrade

With Pentillion Construction, I helped coordinate an access-control and security-system upgrade for a commercial building. The work included access-controlled doors, elevator access, cameras, wiring routes, and the operational requirements needed by both the landlord and tenants.

The project was not just a matter of selecting hardware. The scope had to balance security, usability, cost, code requirements, tenant disruption, and long-term building operations. I helped define which access points needed to be controlled, what the system needed to do, and how the work could be coordinated across the security contractor, electricians, elevator company, automated door contractor, tenants, and landlord.

One of the key constraints was elevator access. The building needed more controlled access to certain areas, but a full elevator-control upgrade would have added cost and complexity beyond the practical scope of the project. I worked through the requirements with the contractor and helped shape a solution that controlled access where it was needed without overbuilding the system.

The project also required code interpretation around the building’s crossover floor. Because the crossover floor formed part of the life-safety and exiting strategy, the access-control approach had to preserve the required function of that floor rather than treating every door as a simple security device. That added an important check on the design: the system still had to support safe movement and code-required access while improving security.

I also coordinated wiring routes with the contractor and helped manage the system after installation. That included programming useful operational automations, such as event-based actions that supported day-to-day security and reduced manual steps for building management.

The result was a more practical access-control system that served landlord and tenant needs without turning the project into a larger elevator-modernization or building-wide security rebuild. It shows the value of defining the real operating requirements before selecting a technical solution, then coordinating the trades and code constraints needed to make the system work.

Fire panel relocation and life-safety retrofit

With Pentillion Construction, I helped coordinate a fire alarm system retrofit in an occupied commercial building. The existing fire panel was outdated and located inside a secure tenant area, which created access and operational constraints for building management, contractors, and emergency-related service work.

The project involved more than simply replacing equipment. The panel needed to be upgraded and relocated to a more appropriate building service area, while related alarm devices such as bells and pull stations also needed to be reviewed and upgraded as part of the broader retrofit.

I engaged multiple contractors to understand the available paths forward and help shape a practical scope. The work required coordination between the fire alarm contractor, security contractor, electrician, tenants, and building operations. Because the existing panel location was inside a secure space, access had to be planned carefully and coordinated with the affected tenant and other building users.

The crossover-floor requirements added another important layer. Because crossover floors form part of the building’s life-safety strategy, the access and fire alarm work had to be considered in that context rather than treated as a simple equipment swap. The retrofit needed to improve serviceability and bring the equipment into a better location while preserving the required life-safety function of the building.

The result was a more serviceable fire alarm system with the panel relocated out of the secure tenant space and related devices upgraded as part of the work. The project shows the coordination behind a relatively contained building-system upgrade: understanding the operational problem, checking the code-related constraints, aligning the right contractors, and completing the work without exposing tenants or building users to unnecessary disruption.

High school reunion planning and event coordination

I organized my 10-year and 20-year high school reunions as combined events for graduates from both Campbell River high schools. Each event brought together roughly 140 people and was designed to feel inclusive, safe, and welcoming rather than like a loosely organized night out.

The work started with communication. I had to track down former students, reach people across different social circles, recruit volunteers, answer questions, and keep the event clear enough that people felt comfortable showing up. Combining both schools made the event more inclusive, but it also meant the planning had to account for a broader group of people and expectations.

The logistics were practical and detailed. I managed budgeting, ticket sales, food and drinks, supplies, venue setup, and the overall event flow. I also coordinated safety-related pieces, including security, liquor-licence requirements, and a safe-ride-home shuttle so people had a better option at the end of the night.

I wanted the events to feel considered, not generic. That meant booking a photographer and DJ, building a slideshow, and adding activities such as a minute-to-win-it challenge to help people reconnect without the event relying only on small talk. Those details mattered because the goal was not simply to gather people in a room; it was to create a shared experience that felt relaxed, safe, and welcoming.

This project is personal, but it reflects the same kind of coordination I bring to professional work: define what needs to happen, organize the people and details, communicate clearly, reduce friction, and make the experience work for the people using it.

3D printing filament calibration dashboard

As my 3D printing setup became more capable, the filament-management side became harder to trust. Bambu Studio stores filament presets, process profiles, printer settings, AMS material assignments, and K / Flow Dynamics calibration data in ways that are useful to the software but not always clear to the person trying to maintain a consistent setup.

The practical problem was simple: with multiple nozzle sizes, standard and high-flow hotends, left and right toolheads, and many filament presets, it became difficult to answer which values were actually calibrated and which ones were inherited defaults.

I started building a local calibration-management dashboard to make that information visible. The tool scans Bambu Studio filament preset files, pulls out the settings that matter most, and presents them in a searchable dashboard. It can compare profiles side by side, highlight meaningful differences, and help identify near-duplicate presets that should probably be cleaned up or consolidated.

A key part of the work was tracking K / Flow Dynamics values. Instead of relying only on Bambu Studio’s less visible printer-side calibration records, the tool stores calibration notes in a structured block inside the existing filament notes field. That keeps the information close to the filament profile, makes it human-readable, and preserves any notes that were already there.

The dashboard focuses on the settings that affect real printing decisions: flow ratio, maximum volumetric flow, temperatures, cooling, nozzle and hotend context, and calibration values. The goal is not to replace Bambu Studio, but to make its preset data easier to audit and maintain.

I built the first version in Python with a Streamlit interface so it could be tested quickly on macOS and Windows. Because the tool edits local preset files, I treated safety and reversibility as part of the design. Before writing changes, it creates backups, validates the JSON files, and logs what changed so the workflow is easier to trust.

This is a personal tooling project, but it reflects a broader process-improvement pattern: when a system becomes too complex to manage reliably by memory, make the important information visible, comparable, backed up, and easier to maintain.

My branding and business card

I designed this business card as a compact expression of how I think and work. It was not just a place to put my name and contact information. It needed to communicate a broader professional identity: engineering, project management, construction, design, communication, systems thinking, and practical follow-through, without making the work feel scattered.

The central challenge was clarity. My work crosses different domains, so the card had to create a thread that tied them together. I wanted it to feel professional and capable, but still human, creative, and specific to me.

The logo combines my initials, R and C, with references to squaring the circle, the golden ratio, and a 3-4-5 triangle. Those references connect the identity to philosophy, mathematics, construction, and design. The geometry is not there as decoration; it reflects the way I tend to approach work: look for structure, understand the constraint, and find a practical path forward.

The sketched line quality was intentional. I did not want the mark to feel overly polished or sterile. The slightly drawn quality suggests thinking, iteration, and problem-solving in progress. It keeps the identity connected to the process of working through an idea, not only the final result.

The colour palette reinforces the same idea. The charcoal grey has a pencil-lead quality, which connects to sketching, drafting, and working something out by hand. The deep construction-gold adds warmth, value, and a practical built-environment association. The two-tone name treatment connects directly back to the logo so the initials and wordmark feel like one system rather than separate graphic elements.

The back of the card centres on the phrase “Make It / Make Sense.” I like the phrase because it carries two meanings at once. It speaks to making, building, and execution, but also to sensemaking, clarity, and communication. Separating the phrase into two lines turns a familiar expression into a simple statement of how I work.

The supporting line, “Design. Solve. Build. Deliver.” turns that philosophy into a process. It reflects the sequence I naturally bring to projects: understand the problem, design a response, solve the constraints, build the result, and deliver something that works.

This project is personal, but it supports the same idea as the rest of the portfolio. The card was a small physical object, but the design problem was the same kind of problem I often work on: make something broad and complicated clear enough that someone else can understand it, use it, and remember it.

Photo frame guessing game

I designed and built a custom photo-frame guessing game as a personal gift. The idea was to take the familiar logic of a face-guessing game and turn it into something more personal, using real photos of family, friends, and pets instead of generic characters.

The finished piece was built from layered 1/8 inch plywood and laser cut so it could function both as a playable game and as a framed display object when it was not being used. That dual purpose shaped the design. It needed to feel like a finished object worth leaving out, not just a novelty game that would disappear into a closet.

The physical design took more iteration than it first appeared. The flipping photo tiles needed to move smoothly, sit cleanly in the frame, and be easy enough to use without feeling fragile. The plywood layers had to align properly, the tile spacing had to work with the photos, and the matching card set needed somewhere to live so the game stayed self-contained.

I designed integrated storage for the photo cards so the object could hold all of its own pieces. That small detail made the project feel more complete: the game, photo frame, and storage all belonged to the same object rather than becoming separate parts that could be misplaced.

Preparing the photos became its own workflow problem. The source images were inconsistent: different crops, orientations, face sizes, lighting, and backgrounds. To make the game work visually, the faces needed to be prepared in a consistent format and arranged efficiently for printing.

To solve that, I built a small browser-based crop tool. The tool let me crop the source photos into consistent portrait squares and arrange them onto printable 4 by 6 layouts. That made it easier to prepare both the flipping tile images and the matching card set without manually rebuilding every layout by hand.

The project is personal and playful, but it reflects the same kind of thinking I use in more technical work. A simple idea became a product-design problem, a fabrication problem, and a workflow problem at the same time. The final result connected a physical object with a small digital tool so the whole process could be made more consistent, repeatable, and polished.

Enterphone data recovery and audio repair

A building’s Mircom TX3 enterphone failed, and the first risk was not just getting the hardware working again. The resident directory and system configuration also needed to be protected. Replacing the controller board without recovering the data could have turned a hardware failure into a larger setup and handoff problem.

I traced the failure through the power supply, transformer, door strike circuit, phone line, and controller board. The likely failure was in the board’s low-voltage power section, where a small surface-mount capacitor had burned.

Instead of immediately replacing the board and losing the configuration, I powered the damaged board with a current-limited DC bench supply. That let me bring the board up carefully, confirm that the internal 5V and 3.3V logic rails were stable enough to communicate, connect to the TX3 software, and recover the resident names and configuration before replacing the board.

After the new board was installed, I updated the configuration and verified the building functions tied to the panel. That included the postal lock input, door strike operation, grounding, phone-line settings, and relay behaviour. The goal was to leave the system in a known working state, not just swap the failed component.

There was also a call-audio issue where the caller’s voice became quiet after the call connected. I tested microphone gain, speaker level, DTMF sensitivity, and echo-reduction profiles. The issue appeared to be aggravated by sound reflecting inside the panel and around the speaker/microphone assembly, which could cause the echo reduction to clamp down unnecessarily.

I repaired and sealed the broken speaker enclosure and started working on a simple acoustic treatment around the microphone to reduce reflected traffic noise. It was a small repair, but it reflected the same troubleshooting approach as the board recovery: trace the system, protect the important data, verify the handoff, and keep looking when the first fix does not fully solve the user experience.

Internal project startup workflow

As Process Improvement Manager at Pentillion Construction, I built an internal project startup workflow to improve the handoff between a project being awarded and the information needed to manage, bill, and administer the work.

Before the workflow, project information could be scattered across conversations, emails, estimates, and individual memory. One person might know the billing arrangement, another might know the site contact, and accounting might not have enough context to set up the job or invoice correctly. That created avoidable friction at exactly the point where the project needed to start cleanly.

The startup workflow was designed to make that information explicit. It captured project status, project lead, client and site contacts, expected costs, billing responsibilities, important dates, scope notes, permit requirements, file uploads, and trade-specific details. It also helped handle more complicated billing situations where costs might be split between property managers, tenants, landlords, or other clients.

I built the form with auto-populated dropdowns and conditional logic so it was easier to complete and did not ask every user every possible question. The form changed based on the project information being entered, which made it more practical for real use and reduced the chance that people would skip it because it felt too cumbersome.

I also configured the workflow so submissions were automatically emailed to the people who needed the information. That helped project managers, office administration, and accounting see new work earlier and with more consistent context.

The result was a clearer startup process for awarded work. The workflow reduced reliance on informal handoff, helped accounting understand billing requirements earlier, reduced the chance of missed invoices, and made complex project setup easier to coordinate. It was a small internal system, but it addressed a real operational problem: getting the right information to the right people before gaps turned into project or billing issues.

Date-night fitness challenge automation

My wife and I wanted a fun way to stay accountable with our fitness goals, so I built a shared challenge that turns Garmin activity data into a weekly scoreboard, a date-night fund, and a small amount of competitive pressure.

The rules are simple. Each week, the person with the fewest Garmin intensity minutes contributes $50 to the date-night fund. Zone 5 training minutes count double, so harder training gets extra credit. Each person is also expected to complete two weight-training sessions per week, and missing one adds another $25 penalty. After four weeks, the winner chooses the date night and can delegate the planning and organizing to the other person.

That structure made the challenge playful instead of purely punitive. The “penalty” still goes toward something shared, and the four-week cycle gives the challenge a clear finish line before it starts again.

The system only works if the tracking does not become a chore, so I automated the boring parts. Scripts pull activity data from Garmin, sync it into Google Sheets, backfill historical activity, calculate weekly standings, apply the contribution rules, and send a daily email showing who is ahead, who is behind, and what needs to happen before the week ends.

Google Sheets became the visible scoreboard and rule engine. It keeps the calculations transparent enough that the challenge does not feel like a black box, while the automation removes the need to manually copy workouts, compare activity minutes, or remember to send updates.

The daily email is a key part of the design. It makes the challenge visible without requiring either of us to open a dashboard every day. That small reporting loop keeps the system present in normal life and makes it easier to adjust before the end of the week.

This is a personal project, but the pattern is transferable: define the behaviour you want, make the rules visible, automate the tedious parts, and turn feedback into something people actually pay attention to. In this case, the result is a fitness challenge that supports consistency, competition, and date nights without creating another manual tracking task.

Maintenance performance dashboard

At Pentillion Construction, the property maintenance role covers a wide range of responsibilities across roughly a dozen commercial properties, including outdoor malls, tenant spaces, and mixed-use sites. The work includes routine inspections, garbage removal, cleaning, minor repairs, contractor coordination, task tracking, and responding to issues raised by tenants, property managers, and owners.

Although the role is important, the expectations were not always easy to define. Good maintenance often goes unnoticed. When the work is done well, tenants and customers simply experience a clean, functional, well-managed property. That can make the role feel thankless, but it also makes clear expectations more important.

Small visible issues, such as mud on a front door, overflowing garbage, or damaged finishes, can quickly create complaints and reduce confidence in the maintenance team. I identified a need to better define what successful performance looked like for the maintenance role, especially because the job required more than simply completing assigned tasks.

Technicians needed to take ownership of their sites, understand priority and billing boundaries, use Trello consistently, communicate clearly, and know when work should be escalated or subcontracted rather than handled in-house.

To address that, I created a job dashboard for the Property Maintenance Technician role. The dashboard condensed the role into four key performance areas: Site Ownership & Accountability, Task Management & Prioritization, Communication & Coordination, and Professionalism & Tenant Interaction.

Each category included a plain-language summary, detailed expectations, measurable indicators, and reflection prompts that could be used for onboarding, coaching, and performance discussions. The idea was to make the role easier to understand without reducing it to a checklist of disconnected tasks.

The dashboard helped translate informal feedback into a shared standard. Instead of expectations being passed along through phone calls or individual training styles, the technician had a clear reference point for what mattered most: keeping sites visibly cared for, tracking tasks properly, spending time on approved work, communicating before problems escalated, and identifying work that should be handled by outside contractors.

The result was clearer role definition for new hires and existing technicians. It reduced billing mistakes, encouraged more consistent use of Trello, and helped management evaluate performance more fairly. It also reinforced the larger operational goal: maintenance should create confidence. Property managers, owners, tenants, and customers should be able to see that the site is being looked after, even when the best result is that nothing appears to be wrong.