fergus@portfolio:~/projects$ls -la ./projects

~/projects/presterly
The Presterly logo mark

2026 – Present

Never miss a reorder: predictive retention for consumable Shopify brands.

role: Co-Founder & CTO

  • Predicts when each customer will run out of each product, then nudges them over SMS or WhatsApp at exactly that moment with a one-tap pre-seeded checkout.
  • Multi-tenant engine live on seven merchant brands: 127,000 customers under management, over €18M of order history analysed, ~240,000 predictions refreshed daily.

--typescript--react-router--prisma--postgresql--shopify--klaviyo--railway

~/projects/firespark
The Firespark logo: a four-pointed ember spark beside the Firespark wordmark

2026 – Present

Booking, payments and operations for saunas. It drops into the website you already have.

role: Co-Founder & CTO

  • Multi-tenant booking and payments: sessions, memberships and native upsells, with Stripe Connect so each venue is paid directly.
  • An embeddable booking widget for a venue's existing site, plus one operations screen for arrivals, takings and no-shows.

--next.js--typescript--supabase--postgresql--stripe-connect--vercel

~/projects/loira
The Loira AI logo mark, a looping letter L

Feb – Jun 2026

AI-native project management: an autonomous execution layer for teams.

role: Founding Engineer

  • Turns signals from meetings, email, and chat into tracked, assigned work, replacing manual coordination with intelligent automation.
  • TypeScript monorepo: Next.js frontend, Fastify API, BullMQ workers, PostgreSQL + Redis, with LLMs driving task extraction and status inference.

--typescript--next.js--fastify--bullmq--postgresql--redis--llms

~/projects/remand
Illustration: a list of forum threads with vote counts, clustering into one rising demand signal

HackEurope 2026

Where ideas meet discussion: AI market intelligence from online noise.

role: Full-stack / AI

  • Surfaces high-intent market opportunities from scattered online discussion using semantic search and growth-momentum mapping.
  • An embedded AI agent synthesises demand signals into positioning, feature ideas, and go-to-market angles.

--next.js--react-19--fastapi--supabase--pgvector--openai--anthropic

~/projects/under-the-campanile
Gameplay screenshot: Trinity College Front Square at night, the Campanile lit by a lamppost

TCD × Qualcomm

A procedurally generated dungeon crawler beneath Trinity's Campanile.

role: Shaders & Lighting Engineer

  • Top-down roguelike built from scratch in a team of 8, mentored by a Qualcomm staff engineer specialising in graphics commercialisation.
  • Implemented dynamic lighting, shadow casting, and custom GLSL shader effects in a TypeScript engine on Phaser 3.

--typescript--phaser-3--glsl--webgl

~/projects/contrabot
Illustration: candlesticks falling while a crowd-sentiment line climbs against them

A contrarian trading bot that fades the crowd.

role: Personal project

  • Monitors Reddit sentiment via the Anthropic Claude API, inverts crowd signals, and executes paper trades through Alpaca.
  • Position management and P&L tracking, with a backtest and dry-run harness.

--python--anthropic-api--alpaca