Ilvers

Sermols

aka fairyfloss

Vibing at 124bpm

Scroll

Selected Work

27+ shipped products across AI, fintech, Web3, and SaaS

DueDiligence

AI-powered procurement intelligence platform with NFT-backed report verification for government compliance

LIVE
87NFTAI
Next.js 15Kimi K2.5SupabasethirdwebTailwind v4

Ambr

Agreement layer for AI agents — Ricardian contracts, wallet-as-identity, and contract NFTs on Base L2

PERSONAL
wallet: 0x7f3...a2cBASEVerified
Next.jsEthers.jsBase L2SupabaseTypeScript
Visit

CaribSend

Fintech remittance platform for the Caribbean — 156 tests, production-grade payment flows

LIVE
SEND$250.00JMD 38,750156 tests
Next.js 16Tailwind v4SupabaseCoinbase CDP

Discovery Engine

NDA

B2B SaaS with AI-powered lead discovery, fusion RAG search, and multi-tenant execution pipelines

LIVE
ScoutEnrichOutreachIntel
FastAPICeleryKimi K2.5PostgreSQLRedisNext.js

klink.eco

CRM integration dashboard with real-time analytics and automated workflow management

LIVE
2,847+18%
ReactViteExpressSQLiteTwenty CRM

Kynesys

Corporate website with modern design language and smooth interaction patterns

LIVE
ReactViteTailwind

Demos.sh

Creative showcase platform with rich animations and interactive presentation layer

LIVE
Demos.sh
ReactViteanime.js v4Framer

SecretTrees

Eco-tourism platform for Latvia — reforestation initiatives and sustainable travel experiences

PERSONAL
SecretTrees
Next.jsCoolifyHetzner
Visit

PayZero

Zero-fee payment infrastructure concept with modern fintech UX patterns

WIP
PayZero
Next.jsTailwindTypeScript

124bpm

House music on rotation

PERSONAL
2025 Air
38 tracks

2025 Air

27+ projects on diverse platforms

Under the Hood

Real code from production systems

async def discover(query: str, context: SearchContext) -> list[Result]:
    """Fusion RAG — merge vector store with live web search."""
    embeddings = await embed_query(query)

    # Parallel retrieval from both sources
    local_results, web_results = await asyncio.gather(
        vector_store.similarity_search(embeddings, k=10),
        brave_search.query(query, count=5)
    )

    # Score and merge with context-aware ranking
    fused = fuse_results(
        local=local_results,
        web=web_results,
Ilvers Sermols

About Me

First Bitcoin on Bitstamp, 2012. Got scammed by Hashra miners and a few other bad actors along the way. Kept going — the tech was always more interesting than the people trying to ruin it.

Fifteen years of e-commerce, UX, and shipping things for real people. 15+ websites and sales funnels internationally. Warehouse logistics for 500+ SKUs. Worked on Kynesys, several NFT community projects, and one of 100 members of the CryptoDevs Discord. Four languages — Latvian, English, German, Russian.

2017 — became a parent, moved to Broceni in western Latvia. Family heritage land is where SecretTrees started — CO2 hemp property development, reforestation, eco-tourism. Along my personal projects I also work for other projects. Still going.

Three years ago AI tooling changed everything. Started building my own products — learned by shipping, not studying. 27+ shipped across AI, fintech, Web3, and SaaS. No CS degree.