Adrián — software engineer, cryptography and cybersecurity

Adrián speaking on stage, holding a microphone.

software engineercryptography | cybersecuritysee my work

About

I build the things I run. Two products of my own, and a day job shipping financial software in production.

Cavos

Founder & CEO

Architecture, contracts, SDKs and infrastructure — built end to end.

20+ teams building on it today.

Framezz

Cofounder

Web design and the architecture behind it.

~$3,000/month in sales.

Snap Finance UK

Software engineer

2+ years — Java, Spring, JavaScript.

Production financial software.

Cavos

Architecture, contracts, SDKs and infrastructure — built end to end.

Embedded wallets that stay self-custodial. A smart account bound to the user's identity — no seed phrase, no key to lose, no custodian holding it.

20+ teams building on it today.

01 · @cavos/kit

Device-native accounts

Sign in with Google or Apple, get a wallet. The signing key never leaves the device, and no seed phrase exists to lose.

devicekeynon-extractablesigns locallysignaturesmart accountno key material ever crosses the dashed line
Only the signature leaves the device. The key has no path out.
  • TypeScript
  • WebAuthn
  • React Native

02 · adapters

One account, every chain

One integration, three chains. Starknet, Solana and Stellar each get a chain-native account behind the same interface.

identityoneinterfaceStarknetCairoSolanaRustStellarSoroban
One integration; the chain-specific account is implemented natively behind it.
  • Cairo
  • Rust
  • Soroban

03 · cavos-recovery

Recovery inside an enclave

Lost every device? Sign in and get the account back. Recovery runs inside an AWS Nitro Enclave, where the operator cannot look.

devicesall lostsign inNitro Enclaveattestedrecoveryaccountoperator cannot read in
The reconstruction happens where the operator has no visibility.
  • AWS Nitro Enclave
  • Attestation
  • Rust

Framezz

Cofounder — web design & solution architecture

Event photographers shoot thousands of frames. Attendees want the four they are in. Framezz finds them with a selfie and sells them on the spot.

~$3,000/month in sales.

The 80% came from doing less, once.

Processing every photo three times is the obvious build — once to watermark it, once to index faces, once to read bibs and text. Framezz runs a single SQS worker that does all three in one pass over the original, then never touches it again. Same output, a third of the compute, and the cost curve stopped tracking the photo count.

OriginalPhotographer uploads to S3SQSOne message, one passWorkerWatermark · face index · OCR — togetherIndexRekognition collection + JSONSelfie searchAttendee finds themselves

Purchase experience

Browse an event, find your photos by selfie or by text, pay, and download the originals through signed order access.

  • Next.js
  • Tilopay

Event dashboard

Admins create events, upload covers, control availability and search. Indexing fires automatically on upload.

  • Next.js
  • DynamoDB

Ingestion stack

Serverless photo ingestion and recognition — the single-pass worker behind the cost reduction.

  • Lambda
  • SQS
  • Rekognition

Transactional email

Paid-order snapshots become customer confirmations with a branded invoice PDF attached.

  • Resend
  • Node