Skip to content
AB

Quebec, Canada · remote or relocation · available now

I change running systems without taking them down.

For five years I owned the backend of C-CUBE, the software 1,000+ roofing and construction companies run their business on, from quotes in the office to daily reports from the field. Before that I was the first developer at Rounded. Today I'm building Railyard, a deploy platform written in Rails and Go.

Al Mokhtar Bekkour · Senior Rails & Go engineer

owning C-CUBE's Rails backend
5 years
owning C-CUBE's Rails backend
construction companies and their teams on one multi-tenant platform
1,000+
construction companies and their teams on one multi-tenant platform
commits to Railyard since April 2026
1,700+
commits to Railyard since April 2026
products live: Railyard, Watchtower, Recall
3
products live: Railyard, Watchtower, Recall

What I've shipped

Products I designed, built and run myself.

Deploy platform Live

Railyard

Deploys your frontend, backend, databases and workers to servers in your own DigitalOcean, Hetzner or Vultr account. A Rails 8 control plane tells a Go agent on each server what to do over gRPC: build the image, run the release, route traffic through Caddy with TLS, stream the logs back, and roll back if the health check fails. Managed Postgres with point-in-time recovery, Redis, a CLI and a Terraform provider.

Rails 8GogRPCDockerCaddy
Monitoring and server security Live

Watchtower

I built it to watch my own apps and servers. Every app Railyard deploys gets a project with no code change: its container logs come in, stack traces become issues, and slow queries, N+1s, cron jobs, uptime and SSL are tracked. On the servers it scans OS and container packages for CVEs, flags exposed ports, crypto miners and reverse shells, watches sensitive files for changes, catches secrets leaked into logs, and can block an attacking IP across the whole fleet.

Rails 8PostgreSQLSolid QueueOSV
iOS app On the App Store

Recall

A player for the audiobooks you own, built so I'd remember what I listen to. Tap to highlight a moment, add a note, turn it into a flashcard and review it with FSRS spaced repetition. Captions are transcribed on the device, so you can search every word of a book and jump to it. No account, nothing uploaded, in 10 languages.

Swift · SwiftUI · on-device speech

Product analytics

Tally

Self-hosted product analytics for SaaS apps: events, funnels, retention, user paths, form drop-off and anomaly alerts. Events sit in monthly Postgres partitions with daily rollups, and the SDKs for Ruby, JavaScript, Python, Node and Go have no dependencies.

Rails 8 · PostgreSQL · Hotwire

Roofing estimates

Material Estimations

Estimating for roofing and renovation jobs, the trade I worked in at C-CUBE. Draw measurements on an uploaded blueprint, pull materials from a catalog, roll up waste, labour, markup and GST/QST, and export a PDF or CSV report. French and English, with fictional demo data.

Vue 3 · TypeScript · Pinia · Fabric.js

Small tools I use every day Garmin prayer-times watch faceMac menu-bar prayer timesMac cleaner

Experience

Production Rails since 2017, in construction software, fintech and CRM.

  1. 2021 – 2026

    C-CUBE

    Senior Software Engineer

    Joined a seven-year-old Rails and Ember codebase and became its senior owner. C-CUBE runs quoting, invoicing, scheduling and field reports for 1,000+ roofing and construction companies: their estimators, office staff and field crews, with each company in its own Postgres schema. I worked across Chargebee billing, the QuickBooks sync, Nylas email and calendar sync, Elasticsearch search, Shoryuken jobs on SQS and PDF generation, and kept fixing slow queries and pages as accounts grew. It ran as a Rails app plus smaller services on ECS Fargate and Aurora Postgres, including an email service and an image thumbnailer fed by SQS, all defined in AWS CDK.

    Rails · Ember · PostgreSQL · Elasticsearch · ECS Fargate · SQS · AWS CDK

  2. 2020 – 2021

    Rounded

    First developer

    Bookkeeping, invoicing and tax software for Australian sole traders and freelancers. I wrote the first commit and built the Stripe and Stripe Connect payments, the FreshBooks import, the Australian tax tables and settings, and the React Native mobile app.

    Rails · React Native · Stripe · Resque · Heroku

  3. 2019 – 2020

    HiFive Group

    Software Engineer

    Built ProCRM, a CRM for call-centre teams in Tangier and London: the PostgreSQL schema, the REST APIs and the KPI dashboards managers used.

    Rails · Vue · PostgreSQL

  4. 2018 – 2019

    AgriVillage

    Software Engineer

    Booking flows, Stripe payments and listing management for an agritourism marketplace in France.

    Rails · Nuxt · Stripe

  5. 2017 – 2018

    Com en Scène

    Web Developer

    Client websites and CMS deployments for an agency.

    PHP · Symfony · Drupal

App Academy (full-stack web) · OFPPT (computer science)

Writing

Notes from building Railyard: the bugs, the fixes and the trade-offs.

All posts

Tools I use

Languages
RubyGoTypeScriptJavaScriptSwiftSQLBash
Architecture
Microservicesmulti-tenant SaaS (schema per tenant)event-driven jobs on SQSgRPC and Protocol BuffersREST APIs and webhooksWebSockets
Rails
Rails 4 to 8HotwireSolid Queue, Cache and CableShoryukenResqueDevisePunditApartmentSearchkickRansackKamal
Go
gRPCCobra CLIschipgxgorilla/websocketgopsutilcreack/pty
Data
PostgreSQL and AuroraRedisElasticsearchMySQL
AWS
ECS FargateEC2Aurora and RDSS3SQSCloudFrontWAFLambdaSecrets ManagerCloudWatchAWS BackupECRRoute 53CDK
Delivery
DockerCaddyTerraform (I wrote a provider)KamalHerokuGitHub ActionsGitLab CI
Integrations
Stripe and Stripe ConnectChargebeeQuickBooksFreshBooksNylasPostmarkDocRaptorIntercomMixpanelGoogle APIs
Frontend and mobile
EmberReact NativeVue 3TailwindSwiftUI
Testing and quality
RSpecMinitestCapybaraFactoryBotVCRPlaywrightCypressRuboCopBrakemanbundler-audit

Get in touch

I'm in Quebec and open to senior backend roles, remote in Canada or with relocation. Email is the fastest way to reach me.

hey [at] almokhtar.dev