Last login: today on ttys001
rafa@mtl-leon~/portfolio$
Software developer
who ships the whole stack
Montreal · León · working across both time zones
I build the parts most people never see — .NET and Python services, REST and GraphQL APIs, data layers and the pipelines that ship them — plus the Android and Angular frontends that sit on top.
What I can
take off your plate
Full-stack coverage from the database up — with the delivery pipeline that keeps it moving after launch.
Backend & APIs
REST and GraphQL services that third parties can build on without a support ticket. Clean persistence layers, sane migrations, versioning that does not break callers.
- .NET
- C#
- Python
- FastAPI
- PostgreSQL
Data & automation
Pipelines that collect, normalize and serve data nobody hands you on a plate — headless-browser bots, reference-data ingest, and queued background jobs.
- SQLAlchemy
- GraphQL
- Selenium
- ETL
Frontend engineering
Angular applications with typed models, component-level styling and interfaces that hold their shape as the product grows — shipped in three locales when the audience needs it.
- Angular
- TypeScript
- Blazor
- RxJS
- i18n
Desktop applications
Windows software for the people who live in one screen all day — WPF on MVVM with a module container, and WinForms where the grid and reporting stack has to stay put.
- WPF
- XAML
- Prism
- WinForms
- DevExpress
Mobile development
Native Android built on MVVM with a reactive UI — from storyboard and use case through to a signed release on the Play Store.
- Kotlin
- Java
- Android
- Compose
- MVVM
Testing & quality
Executable specifications written from the user story down, unit, integration and property-based coverage on every commit, and end-to-end suites that drive the product through a real browser the way a user would.
- Playwright
- pytest
- behave
- Hypothesis
- xUnit
- Karma
Delivery & reliability
Containerized deployments, CI/CD pipelines, internal package distribution, and load testing that finds the ceiling before your users do.
- Docker
- Jenkins
- AWS
- NuGet
- Locust
Selected builds
Work that changed how a team ships, or what a product could do.
- 01
Just in Time
Travel product, solo build · 2023 — 2026
A flight-deal valet taken end to end alone: headless-browser bots that track fares, a Postgres data layer published as its own Python package, a FastAPI and GraphQL backend behind Docker and automatic TLS, and an Angular front end shipped in English, French and Spanish.
- 02
Control Room
Web platform · 2025 — 2026
MCDI Security Products
A decade of operator screens moved off the Windows desktop and onto the web in Blazor: a multi-step registration wizard that validates as it goes, a theme editor the client controls without a developer, and localized admin grids over the same database the desktop suite still runs on.
- 03
Package Pipeline
Developer platform · 2024
MCDI Security Products
A private NuGet server and package strategy that let every team publish and consume shared .NET libraries instead of copying code between repositories.
- 04
Partner API
REST service · 2023
MCDI Security Products
A public-facing .NET REST API that opened company data to third-party associates, turning integration partners into a growth channel for the client base.
- 05
Migrate
Internal tooling · 2022
MCDI Security Products
A database migration framework that made schema changes versioned and repeatable, taking the guesswork — and the human error — out of every release.
- 06
TCB
Android app · 2020
MCDI Security Products
A native Android application taken from customer research and storyboards to the Play Store, while supervising three interns through daily scrum.
From first call
to steady state
The same four steps on every engagement, so you always know what happens next and what it costs.
- 1
Scope
Understand the goal, the constraints and the systems already in place. You get a clear roadmap and a fixed number before anyone writes code.
- 2
Architect
Choose the stack, map the data, and decide where the responsibilities live. Most bugs are prevented here rather than fixed later.
- 3
Build
Small, tested increments behind CI. Unit, integration and regression coverage from the first commit, not bolted on at the end.
- 4
Ship & hold
Deploy, benchmark under real load, then stay on for the patches, updates and performance work that follow launch.
Where the hours went
Eight years of production software, plus the coursework that ran in parallel.
Software developer
2020 — presentMCDI Security Products Inc. Role
CI/CD culture, private package infrastructure, partner REST APIs and load testing at scale.
Bachelor of software engineering
2022 — 2023École de technologie supérieure Education
Studied alongside full-time development work.
Intern supervisor & software developer
2019 — 2020MCDI Security Products Inc. Role
Led three interns through daily scrum while building and shipping a native Android app.
Software developer, junior
2017 — 2019MCDI Security Products Inc. Role
Restructured server components for cohesion and cut manual testing time by roughly 40%.
Diploma of college studies, software development
2015 — 2018Collège de Maisonneuve Education
Foundations: data structures, OOP, design patterns, test-driven development.
Have something
worth building?
Tell me what you are trying to ship and where it is stuck. I read every message and reply within a couple of days — from whichever side of the border I am on.
- Emailcontact@rafanualartcrespo.com
- Mexico +52 33 1223 0793 Call or WhatsApp
- Canada +1 514 795 0449 WhatsApp
- GitHub rafanualartcrespo
- LinkedIn in/rafael-arturo-nualart-crespo-03
- Instagram @theearthwithout_art_isjusteh
Currently building at MCDI Security Products. Taking on a small number of projects.