An outdoor activity finder and trip planner, built solo from concept to public beta.
The philosophical inverse of engagement-maximizing apps: one button that gets you
outside in under 30 seconds.
The problem
Most apps fight to keep you on the screen. The thing people actually want from
an outdoors app is the opposite: to close it and go do something. But choosing
where to go is its own friction. Too many options, none matched to how much time,
energy, or motivation you have right now.
What I built
A recommendation flow that takes your mood, time, energy, and location and returns
nearby walks, parks, trails, viewpoints, and quiet streets, fast. Around it sits the
rest of a real product: interactive map exploration, saved favorites, full
trip-planning workflows for bigger adventures, and a demo mode that works before
you sign up. I designed the whole thing first (information architecture, flows,
wireframes, high-fidelity screens) then built and shipped it end-to-end, in
12 languages.
Result
Live as a public beta, open to anyone, with demo access before signup and 12
languages supported at launch. Deliberately no streaks, badges, or guilt mechanics.
Success is measured by people leaving the app, not staying in it.
What I learned
Building the full stack alone forces ruthless scoping: every feature has to earn the
maintenance it costs. Wiring up internationalization (next-intl) and an AI
recommendation layer early was far cheaper than retrofitting them, and designing
against engagement metrics made the product decisions clearer, not harder.
LandingHow it worksChoose in 30 secondsDemo inputDemo result
This site. Designed and built from scratch in HTML/CSS/JS. Night-city aesthetic
with animated skyline, parallax lanterns, and smooth scroll interactions.
Deployed on Vercel with the portfolio at the domain root and services under /web-services/.
Personal blog with long-form writing on travel, technology, and design.
Part dev journal, part opinionated storytelling. Built on Next.js with MDX
for content, Tailwind for styling, deployed on Vercel.
A dice roller for Dungeons & Dragons. Rolls any combination of dice
types (d4 through d20) with a clean interface. Because sometimes you
don't have a bag of dice nearby.
Client-side password manager with a local vault. No account, no server
storing your secrets. Dungeon-themed for no particular reason. Send it to
a friend who keeps reusing "password123."
A French-language activity and movement tracker, built as my final CÉGEP projet
intégrateur with a school partner.
The problem
The brief was a capstone activity tracker, with two real constraints: it had to
run as a native mobile app on a tight school timeline, and it had to be fully
French, not an English app with translated labels. A tracker also has an awkward
demo problem: how do you show live GPS and sensor data to a room full of people
who are sitting still?
What I built
A React Native app, French-first from the ground up, that reads the device sensors
to track live speed, pace, distance, altitude, and elevation gain. Firebase handles
auth (email/password, Google sign-in, and an email-verification flow). Around the
tracker sits a full app: quick-start session types (walk, run, sport, quick test),
daily/weekly/monthly stats, session history, in-app notifications, and a profile
area. My answer to the demo problem was a simulation mode that
fakes sensor data so the whole flow can be shown indoors, without going for a run.
I owned the design and front-end build and split delivery with a school partner.
Result
Delivered as the final projet intégrateur and distributed as an installable Android
APK. It works end-to-end: sign in, start a session, watch live sensor data, save it,
and review it in history. The simulation mode means anyone can try the full flow
from their desk.
What I learned
My first cross-platform mobile build and my first time wiring up Firebase auth and
reading raw device sensors, so much of it was learning the mobile lifecycle,
permissions, and managed-auth patterns under a deadline. Splitting delivery with a
partner also taught me to scope and hand off cleanly instead of holding the whole
thing in my head.
WelcomeHome · weekly statsExplorer · next sessionQuick-start typesStart a sessionLive sensor trackingSession historyIn-app notifications
World clock with stopwatch, countdown timer, and live weather per city.
Useful for remote teams who always forget what time it is for the other person.