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
Rails & Ruby consultancy for teams facing complex codebases, performance problems, and architectural decisions — we find the actual problem, explain it clearly, and fix it without rewriting everything.
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.
Ruby · Rails · PostgreSQL · Hotwire · AI · Elasticsearch
Start an inquiry → See selected work →
Real clients. In production. A small team, engaged directly by the people who do the work.
01 — Problems you solve
You don't usually hire a consultancy for what works. You reach out when something is hard: slow, fragile, unclear, or just too much to carry alone. These are the problems we exist to solve.
02 — What we do
Hands-on work inside your team — building new systems, speeding up the ones that slowed down, and modernizing the ones you're afraid to touch. Every engagement ends with code that's easier to read than the day before.
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 — Engineering 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.
We don't hide the machinery. Here is the kind of code we leave behind — small, explicit, and easy to read.
# 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 — How an engagement works
Send a message describing what's stuck. No scope, no pressure — just the real problem.
We read the code, trace the failure, and find where it's actually broken — not just the symptom.
You get an honest assessment and a clear plan, in language you understand — not jargon.
We work inside your team, writing code that's easier to read than the day before.
You're left with working software, documentation, and a team that can carry it forward.
06 — Inquiry
Send us the problem. We'll tell you honestly whether we can help — even if it means telling you not to hire us.
No sales call required. No engagement is too small.
We got it — we'll reply from the office.
Something went out of order. Email us directly below.