kava-ir-kodas@office status:online brew:ready uptime: clock:--:--:--
kava-ir-kodas·coffee & code

Technical consultancy & Ruby development

From fuzzy problem
to working software.

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

Emergent over prescribed aesthetics.

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.

Explicit over implicit
Show the work; hide nothing that costs money to understand.
Expose state and inner workings
A system you can read is a system you can fix.
Dense, not sparse
Respect the reader's attention and the network's bytes.
Engineered for human vision
Typography, rhythm, and hierarchy do the heavy lifting.
Regiment functionalism
Every element must earn its place with a job to do.
Performance is design
Fast is a feature, not an afterthought.
Verbosity over opacity
Preferring a few extra bytes to a confused engineer.
Ignore design trends
Timeless and unfashionable. We expect this to outlive yours.
Flat, not hierarchical
Importance is earned by content, not by being big.
As complex as it needs to be
Diametrically opposite of minimalism.
Objective reasoning
Driven by common sense, metrics, and evidence.
Don't infantilize users
Treat engineers and power users like adults.
Coffee first
A well-brewed decision beats a fast one.

02 — Services

What we build and tend.


03 — Selected work

Engments in the field.

A selection of engagements, real clients.

in production

MaskedFinch

AI-powered web scraping API with automatic captcha solving and JavaScript rendering. Scales to complex workflows through a visual editor.

  • Web scraping
  • AI extraction
  • JavaScript
  • CAPTCHA
shipped

Void Analytics

Lightweight, cookie-free web analytics. Built to comply with GDPR, CCPA, and PECR, and hosted inside the European Union.

  • Analytics
  • Privacy
  • GDPR
  • Ruby
exited

Speiz

SaaS marketplace leasing warehouse space. Modernizing a decades-old industry with a faster, cheaper, end-to-end digital leasing process.

  • Marketplace
  • SaaS
  • Leasing
shipped

CGTrader backend

Contracted backend work: payment integrations, API updates, a 3D object and image processing toolkit, and admin panel tooling.

  • Payments
  • API
  • 3D/Image
  • Rails
in production

CFlow

Personal accounting tool for the Lithuanian market. Owned the full stack, server-side communication, and API integrations.

  • Accounting
  • Ruby
  • Rails
  • API
beta

Real estate search

Search engine for developing estate projects. Built the backend, Elasticsearch search, server setup, and front-end from PSDs.

  • Search
  • Elasticsearch
  • RoR
  • Chef

04 — Inner workings

We expose the source.

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

Let's brew something.

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.