# software

Monitorul.ai 2026-present

An engine that uses an LLM to score 16 years of Romanian parliamentary debate for populist rhetoric, then lets you search 800k+ speeches by meaning.

After SICAP.ai mapped where Romania’s public money goes, Monitorul.ai answers the next question: what do the people spending it actually say and vote for?

I scraped and indexed the record of the Romanian Parliament over the last 16 years — both the Chamber of Deputies and the Senate. It holds 5,500+ official documents, 800k+ speeches, 55k votes, 14k committee meetings, and dossiers for 13k+ politicians.

The core of the project is discourse analysis. I use an LLM to code each speech for populist rhetoric — scoring people-centrism and anti-elitism along the lines of the ideational approach from political science. Run across the record, this turns millions of words of debate into measurable signal: you can see how populist a given party or politician has been, and how that has shifted over time.

On top of that sits semantic search. Instead of matching keywords, it retrieves speeches by meaning — vector ranking fused with BM25, tuned for Romanian proper nouns and acronyms — so a query like “rule of law” surfaces the right debates even when nobody used those exact words. Every result links straight back to its source in the Monitorul Oficial, so nothing is taken on trust.

It also ships an MCP server, so AI assistants like Claude can query the corpus directly in a conversation — run a semantic search, build a politician’s dossier, or pull populism trends by party, with every answer cited back to the source.

The hard parts: parsing years of inconsistent gazette formatting, getting the populism coding to stay consistent at scale, and keeping a corpus this size fast to query.

Both the scraper and indexer and the search app are open source on GitHub.

The name is a nod to the Monitorul Oficial, Romania’s official gazette.

SICAP.ai 2020-present

An open-source search engine indexing 32M+ Romanian public procurement contracts worth over €200 billion.

I started SICAP.ai in 2020 to answer a simple question: where does the Romanian government spend public money?

I built a scraper to pull data from the government’s procurement portal and indexed it all in Elasticsearch. Five years later, over 100k people use it every month — investigative journalists chasing stories, businesses scouting opportunities, and citizens tracking public spending. It grew entirely through SEO and word of mouth.

The hard parts: managing an Elasticsearch cluster on Docker Swarm, making sense of poorly documented government data, and working around an unreliable source portal that needs constant retry logic.

It also ships an MCP server, so AI assistants like Claude can query the full database in a conversation — search contracts, look up companies and contracting authorities, and pull spending totals directly.

The long-term goal is training a model on this data to predict tender outcomes and flag potential fraud.

All code for the website is open source on GitHub.

A spin-off from this project is SICAP PNRR — an evidence.dev app visualising Romania’s recovery and resilience plan spending.

SICAP.pro 2024-present

A procurement intelligence platform that helps SMEs find and win public tender contracts in Romania.

After years of running SICAP.ai, I saw a gap: businesses needed more than search — they needed workflow tools to actually win tenders. I partnered with a domain expert in public procurement and we built SICAP.pro.

We index SEAP notices and deliver precision tools — advanced filters, CPV-based search, personalised alerts, and a clean tender inbox — so teams spot the right opportunities faster. The focus is on reducing noise and surfacing what matters.

Artsflow 2020-2021

A two-sided marketplace for artists to discover, book and host art events, workshops and classes.

Built in partnership with James Cropper’s Creative Minds franchise. Artists could both book existing art events and publish their own for others to attend.

The project didn’t survive. A few honest takeaways:

  • Two-sided marketplaces are brutally hard to bootstrap — cold start on both sides.
  • Launching during a pandemic meant our target audience (in-person event goers) wasn’t going anywhere.
  • We didn’t understand the market deeply enough before building.

# other work

A street photography exhibition documenting Londoners' quiet obsession with their phones.

When I moved to London in 2015, I started shooting street photography. Over time, one pattern kept appearing in my frames: people absorbed in their screens — on the tube, crossing the road, sitting in parks.

I collected hundreds of these candid moments and exhibited them in 2019 as #SCREENTIME.

Some of the photographs are on my Instagram.