For the classroom and the field.

Original Labs designs and builds mobile and web apps. Right now that means two: kultivo, for students preparing for school and entrance exams, and PrecisionAgro, for growers reading their soil, their leaves and their weather.

fig. 1 — the mark, drawn: a ring, closed by a corner

Mobile and web

Azerbaijani · English · Russian

Scroll

Two apps, built end to end.

The design, the phone apps, the web, the servers behind them, and the tools that feed them their content.

  1. kultivo A study app for Azerbaijani school and entrance-exam courses. iOS · Android · Web
  2. PrecisionAgro An agricultural assistant for Azerbaijani growers. Web · iOS · Android

A textbook, turned into a course you can carry.

kultivo takes a scanned textbook and publishes it as an interactive course: lessons with worked examples and self-checks, spaced review, a question bank cut from the test books, real exam papers to sit as mocks, and an AI tutor that explains a question. On the phone it works offline; in the browser it fetches one lesson at a time.

The kultivo shelf: chapters, lessons and question-bank questions per book
BookChaptersLessonsQuestions
Riyaziyyat Maths252418,623
Fizika Physics61356,789
Kimya Chemistry31349,219
On the shelf3451024,631
fig. 2 — the shelf today, plus 8 sınaq papers. Lessons are in Azerbaijani; the app speaks Azerbaijani and English.
  1. 10 min
  2. 1 day
  3. 3 days
  4. 7 days
  5. 21 days
  6. 60 days

A new question. It starts in the first box.

fig. 3 — one question through kultivo’s six boxes. Try the grades.

Review that remembers for you.

Every question you answer goes into one of six boxes, from ten minutes to sixty days. Get it right and it waits longer before it comes back. Miss it and it returns while the correction is still fresh.

From the second time a question is asked, its options are reshuffled and re-lettered, so what you remember is the method, not the position of the answer.

From scan to lesson.

  1. Scanned book a PDF
  2. OCR, cleaned text and figures
  3. Lessons written by hand
  4. Question bank corrected by hand
  5. kultivo phone and web
Only three things are written by hand: the lessons, the bank’s corrections and the exam papers. Everything before them turns a PDF into material an author can work from. Everything after them is generated.

Inside the app.

  • Lessons that ask back Worked examples and a self-check after every lesson, rewritten by hand from the textbook.
  • Listen as well as read A narrator reads each lesson, and the passage being read is highlighted on the page.
  • A bank cut from the test books Practise by chapter, by lesson or mixed, and see which lessons the tests found weakest.
  • Real sınaq papers BSİ-1 papers for grades 8–11, in the Azerbaijani and Russian sectors, sat on the exam’s clock.
  • Ask AI A tutor that explains the question in front of you, with moderation on both sides of it.
  • Works offline The phone app carries the whole course. In the browser, lessons arrive one at a time.

Point at a district.

  • Low
  • Moderate
  • High
fig. 4 — Azerbaijan as PrecisionAgro draws it: each 0.05° cell belongs to the district whose centre is nearest, and the real border is the coastline. The colours drift here for illustration; in the app they come from the forecast.

A forecast read for blight, not for picnics.

PrecisionAgro is an agricultural assistant for Azerbaijani growers. It writes fertilizer plans, identifies plants, spots disease in a photo of a leaf, reads soil and lab reports, and forecasts disease risk for every district in the country.

  • Azerbaijani
  • Russian
  • English

Five models, hour by hour.

Published infection models score the last three days and the next seven, each one only in the season its crop is exposed. The weather feed has no leaf-wetness reading, so it is estimated, in one place, where a better estimate can replace it.

  • Hutton late blight
  • Modified Mills apple scab
  • Gubler-Thomas grape powdery mildew
  • 3-10 rule grape downy mildew
  • Rain-splash wheat Septoria
  1. −3 0h wet
  2. −2 3h wet
  3. −1 6h wet
  4. Today 0h wet
  5. +1 0h wet
  6. +2 2h wet
  7. +3 16h wet
  8. +4 2h wet
  9. +5 0h wet
  10. +6 0h wet
fig. 5 — one district, hour by hour. Gold hours count as wet: humidity at 90% or more, or 0.2 mm of rain or more. The dashed line is 90%. Illustrative data; the app reads Open-Meteo.

What it does.

  • Fertilizer plans A step-by-step plan for a crop and a field, kept as a thread you can come back to.
  • Plant identification Photograph a plant and ask what it is, in the language you farm in.
  • Disease detection A photo of a leaf, read for the signs of disease and what to do next.
  • Soil and lab reports Upload a PDF or a scan. You check every value in a table before any advice is written.
  • Disease-risk forecasts Hour-by-hour weather for your district, scored by published infection models.
  • A memory of your fields What you grow and how you work, remembered across chats. Read it, edit it, or switch it off.

How we build.

We design the screens, build the phone apps and the web, and run the servers behind them. These are habits the two apps already share.

On the bench

  • SvelteKit
  • Expo
  • React Native
  • Cloudflare Workers
  • Hono
  • Appwrite
  • Gemini
  • OpenAI
  1. Rules live in one place.

    What a reader can open, how answers are scored, how records sync: written once and shared by the app, the web and the API, so nothing is open on one platform and locked on another.

    in kultivo
  2. Offline is the default.

    The kultivo app carries the whole course on the phone. Only accounts, sync and the AI tutor need a connection.

    in kultivo
  3. A person checks the numbers.

    A lab value is confirmed in a review table before any advice is written. A redrawn figure is compared with its original, and the doubtful ones are set aside.

    in both apps
  4. Keys stay on the server.

    No app ever holds a model key. The AI is reached only through our own server, which checks who is asking before it answers.

    in both apps
  5. Written in the reader’s language.

    Azerbaijani first, then English and Russian. No English string from the server reaches the screen; it travels as a key and is translated where it lands.

    in PrecisionAgro
  6. Motion that knows when to stop.

    When a phone asks for reduced motion, kultivo’s background stops moving. This page does the same.

    in kultivo

Have an app in mind?

Tell us who it is for and what they need to get done. A few lines is enough to start the conversation; we will take it from there.

Yours,