MaskedFinch
AI-powered web scraping API with automatic captcha solving and JavaScript rendering. Scales to complex workflows through a visual editor.
Technical consultancy & Ruby development
Consultancy — the applied craft of turning ambiguous problems into clear, maintainable software, as in code review and architecture; relentlessly pursuing accurate and truthful estimates.
We anchor our ethos, judgment, and our efforts in the fundamentals of software engineering. We take on a limited number of engagements at a time, work inside your team, and leave code that is easier to read than the day before.
Start an inquiry → See selected work →
This entire site was generated by an open-source AI agent, end to end — no manual markup. It is not “AI sloppy”: the harness matters more than the model. A tight loop, a clear brief, and a model with enough context to hold the whole page at once beat a larger, slower one every time.
01 — Design philosophy
These are not trends. They are the operating rules we apply to every engagement, dense on purpose, because clarity rarely fits in a single line.
02 — Services
03 — Selected work
A selection of engagements, real clients.
AI-powered web scraping API with automatic captcha solving and JavaScript rendering. Scales to complex workflows through a visual editor.
Lightweight, cookie-free web analytics. Built to comply with GDPR, CCPA, and PECR, and hosted inside the European Union.
SaaS marketplace leasing warehouse space. Modernizing a decades-old industry with a faster, cheaper, end-to-end digital leasing process.
Contracted backend work: payment integrations, API updates, a 3D object and image processing toolkit, and admin panel tooling.
Personal accounting tool for the Lithuanian market. Owned the full stack, server-side communication, and API integrations.
Search engine for developing estate projects. Built the backend, Elasticsearch search, server setup, and front-end from PSDs.
04 — Inner workings
A sample of the craft: small, explicit, and easy to read. This is the kind of code we leave behind.
# kava-ir-kodas — we brew software, one commit at a time
module Kava
class Consultancy
def self.brew(clients)
clients.map { |client| client.with(self) }
end
attr_reader :client, :reviewed, :shipped
def initialize(client)
@client = client
@reviewed = false
@shipped = false
end
def with(consultancy)
consultancy.review!(self)
consultancy.ship!(self)
self
end
def review!
raise Unreviewed unless reviewed
self
end
def ship!
raise Unreviewed unless reviewed
@shipped = true
self
end
end
end
05 — Inquiry
We take a limited number of engagements at a time. Tell us what's on your plate and where it's stuck; we'll reply with an honest assessment, even if it means telling you not to hire us.
We got it — we'll reply from the office.
Something went out of order. Email us directly below.