Lucas Paraizo

Designer at SmartStream

I'm a product designer based in the UK, currently at SmartStream , a global fintech company. I lead design across two core products, deliver major redesigns and new experiences, and introduced the company's first structured research practice to improve how product decisions are made.

Previously I founded , where I turned early ideas into real, usable products for clients across web and mobile, and ended up automating almost the whole agency with agents that handled the entire outbound workflow alone. I take the same approach to my own products, designing and building them from scratch, like and .

Selected Projects

A new way of processing corporate actions events

Events, Corporate Actions at SmartStream

Modernising asset management systems

Asset Register, Aurora at SmartStream

A consumer sports experience built for connection

Sporty, a General Assembly bootcamp project

What I've Built

Apollo Health is a local-first personal health record for people actively managing their health, from protocols and supplements to vitals and lab biomarkers, who had nowhere to keep it all together. I kept seeing people in my gym tracking serious health data across scattered notes, apps and PDF lab reports, with no single view of whether what they were doing was actually keeping them healthy. So I designed and built a focused tool to log everything over time, so trends are obvious and decisions are informed instead of guessed. The real goal is harm reduction through visibility: when you can see a number trending the wrong way, you act earlier and stay safer. It is local-first, so this sensitive data stays on the person's own device. I shipped the first version in a single day, and it spread by word of mouth to more than 50 users, essentially everyone at my gym.

Lab PDFs are parsed in the browser and only confirmed values are stored on the device; cloud sync is opt-inON YOUR DEVICEin the browser · installable PWALab reportany lab's PDFPDF.jsparse · discardYou reviewconfirm valuesIndexedDBvia DexiefilevaluesconfirmedYour logsdoses · vitalslogged by handsync, only if signed inCloudflare D1opt-in · Argon2id logins

How it works

Local-first by design: the health record lives in the browser on the person's own device, and the server is optional.

  1. Lab report PDFs are parsed in the browser with PDF.js, and the file itself is never stored.
  2. Each extracted marker is reviewed and confirmed before anything is saved.
  3. Confirmed values, protocols and vitals are stored in IndexedDB through Dexie, on the device.
  4. The React 19 app, installable as a PWA, charts trends with Recharts and links logged doses to scheduled protocols.
  5. Cross-device sync is opt-in: it needs an account, runs over HTTPS to Cloudflare D1, and hashes passwords with Argon2id.

In 2026 I turned Theos Studio, the design studio I founded in 2020, into an experiment: how far could I push AI inside a real agency workflow? I wanted to find out whether the entire outbound engine, the part agencies normally staff with people, could run on its own, so I designed and built a pipeline of agents and automations to do it end to end. It scrapes potential clients in a chosen location, builds a structured database, then visits each prospect's website and audits it for concrete problems and improvements, scoring and ranking every issue. From there it builds a prioritised action queue and, every day, sends a batch of personalised emails, each one paired with a bespoke website mockup generated for that specific client. The outcome is an agency that effectively runs itself, from lead discovery to a tailored pitch landing in the inbox. This is where my design eye and my engineering meet: the audits and mockups have to be genuinely good, but I am just as interested in the system that produces them at scale. Theos is how I stay sharp on both, building real product, not just designing screens.

Agents build and audit a lead list once per area, then send a daily batch of pitches, each with a bespoke mockupONCE PER AREAEVERY DAYScrapea chosen areaLead database+ brand assetsAudit websiteproblems · fixesScore & rankevery issueleadssitesissuesPriority queuebest leads firstMockupone per prospectEmailpitch + mockupProspecttheir inboxbatchdesignsentranked leads

How it works

An outbound agency pipeline where agents, orchestrated through Codex, do the work a studio would normally staff. The list is built and audited once per area; the outreach runs every day.

  1. Once per area: scrape businesses in a chosen location into a structured lead database, enriched with each lead's brand assets.
  2. Visit and audit every prospect's website for concrete problems and improvements, then score and rank each issue.
  3. Every day: take the next batch from the priority queue and generate a bespoke website mockup for each prospect.
  4. Send each prospect a personalised email that pairs the pitch with their mockup.

Hevy AI Coach is a fully automated personal strength coach that lives in Telegram. Every morning a GitHub Actions cron job pulls my latest workout from the Hevy API, sends it to Claude with a coaching persona and my training history, and messages me specific feedback, and I can reply to discuss diet, injuries, or the next session. The interesting part was not the AI but running it reliably for free: it uses my existing Claude subscription via a long-lived token and Claude Code headless instead of a paid API key, so it costs nothing to run. Real-world edges shaped it. The Hevy events endpoint returns a different JSON shape when there are no new workouts, which crashed the first version. Telegram silently rejects messages over 4,096 characters and with bad markdown, so replies are chunked and sent as plain text. Two-way chat needed an always-on listener, so a thin Cloudflare Worker receives the webhook and triggers the workflow. It is open source, so the whole architecture, from the edge worker to the cron job to the prompt and memory design, is there to read.

An always-on Cloudflare Worker hands messages to on-demand GitHub Actions, where Claude Code writes the coaching on a subscription tokenTelegram · where you and the coach talkALWAYS ONCloudflareON DEMANDGitHub ActionsWorkerchecks it is youKV storeprofile · memorycoach.mjsfresh runnerClaude Codeheadless · no API keyDaily cronHevy APIworkoutsmessagedispatchmemoryprompt · coachingtriggersworkouts since last runreply, chunked

How it works

All reasoning runs in GitHub Actions through Claude Code in headless mode on a subscription token, so there is no paid API key. The Cloudflare Worker is the only always-on piece, and it never touches the model.

  1. A daily schedule, or a message from me in Telegram, starts a run. Messages pass through a Cloudflare Worker that checks the webhook secret and my user ID before dispatching.
  2. A fresh GitHub Actions runner executes coach.mjs, which polls the Hevy API for workouts newer than the last watermark and strips IDs and empty fields to save tokens.
  3. Claude Code, running headless, writes the coaching with my training history, goals and injuries loaded from Cloudflare KV.
  4. Recent conversation turns stay verbatim while older ones fold into rolling case notes, so the prompt never grows without bound. The profile is a separate key that summarisation never touches.
  5. The reply is chunked under Telegram's 4,096 character limit and sent as plain text.