iTwin Engineering

Software studio · North Macedonia

Two engineers.One machine

Twin brothers Andrej and Filip Janev. We build live data products, automation and web software, and keep them running.

0
border crossings
0
live cameras
0
languages
0+
automated tests

01What we build

Software that keeps working after we hand it over.

> refresh --hourly
source→
scrape→
check→
build→
live
last run 00:12 ago · ok

01

Live data products

We turn scattered official sources into fast pages people trust: polite scrapers, data pipelines and static sites that refresh themselves.

Balkan Borders · 93 crossings, refreshed hourly

> report --weekly
4 sources · 1 dashboard

02

Automation and analytics

Dashboards that reconcile every source, reports that build themselves, and the daily spreadsheet chores turned into scripts.

Spread Great Ideas · four manual reports became one dashboard

> qa --release
  • [✓]spec reviewed
  • [✓]edge cases tested
  • [✓]release verified
  • [✓]customer onboarded

03

Product, QA and integrations

Specs engineers can build from, testing that finds bugs before customers do, and onboarding that makes complex software usable.

5 SaaS apps · 98% customer satisfaction

02Featured work

Balkan Borders

Live border waits and cameras for the Balkans, from official sources.

01 · The problem

Long queues, scattered data

Every summer, drivers crossing the Balkans wait hours at the border. Official wait times exist, but they are spread across police, customs and auto-club sites, in different languages and formats. Two countries publish none at all.

> sources --sample --never-guess

Croatia HAK● publishes
Croatia MUP● publishes
Serbia AMSS● publishes
North Macedonia JPDP● publishes
Bosnia and Herzegovina —○ no data
Montenegro —○ no data

02 · The pipeline

One polite bot, every hour

Python scrapers read each official source at its own pace, under a named bot that says who we are. The data is normalised, checked, and rebuilt into a static site on Cloudflare every hour, in six languages.

> refresh --hourly

fetchofficial sources, named bot
normaliseone schema for every crossing
checkfreshness gate, integrity
build1,332 pages × 6 languages
deploycloudflare, every hour

03 · The craft

Tested like infrastructure

About 4,000 automated tests guard the parsers and pages, and a freshness gate refuses to deploy corrupt data. The bot has committed more data refreshes than we have commits.

> git shortlog --summary

balkanborders-bot0
the team, by hand0
0+automated tests

04 · The result

Live since July 2026

Within weeks the site ranked for crossing searches across the region: 748,748 Google impressions and 14,099 clicks in its first twelve weeks, peaking at 29,619 impressions on August 7.

> search-console --since jul-28

0impressions · 14,099 clicks in 12 weeks
Jul 28in Google
Aug 7peak 29,619
late Sepseason ends

03Also on the machine

Products we build for ourselves first.

INVOICE№ 042
Development120 h
Automation16 h
Reporting8 h

send ✓

Live · our own tool

Invoice Studio

Monthly invoices that build and send themselves. It runs entirely in the browser and sends each invoice from your own Gmail with the PDF attached: no server, no database, no monthly cost.

Browser-onlyGmail APIPDFWorks offlineOpen ↗

> carsija --status

building▋

In the works

Carsija

A clean, mobile-first marketplace for North Macedonia: buying and selling without the clutter and the scams.

carsija.mkComing soon

04Selected work

Where the experience comes from.

Andrej's work inside SaaS and data teams, 2019 to now.

Spread Great Ideas · 2026 – now

Unified analytics, automated reports

Problem
Reporting was stitched together by hand from analytics, search data and the CMS every week.
Role
Designed and built one dashboard that reconciles every source, and the pipeline that refreshes it.
Outcome
Four manual reports replaced by one source of truth; stakeholder updates generate on schedule.

Rich Returns | clearer.io · 2020 – 2025

Product operations across five SaaS apps

Problem
Five e-commerce apps, one small team, and customers whose questions decided the roadmap.
Role
Led five product specialists; turned customer feedback into Jira specs; tested every release.
Outcome
98% customer satisfaction and 25% fewer bugs after deployments.

EverBright (ex. Sighten) · 2019 – 2024

Configuration for solar installers and financiers

Problem
Every new installer meant complex agreements, equipment and pricing to configure by hand.
Role
Onboarded and configured accounts, queried the API for metrics, wrote the knowledge base.
Outcome
100+ installers onboarded, setup time down 40%, support tickets down 20%.

05Team

Same birthday. Different strengths.

Andrej Janev

Co-founder · data, product and automation

Seven years across product, support, configuration and analytics for SaaS companies. Builds the pipelines and the products on top of them, Balkan Borders included.

Filip Janev

Co-founder · marketing and engineering

Extensive experience in marketing, with the same IT background as Andrej. Makes sure what we build gets found, understood and used, and builds alongside him on Balkan Borders.

06Track record

Uptime log

> cat ~/andrej/uptime.log

  1. 2026 –iTwin EngineeringCo-founderBuilt and launched Balkan Borders.
  2. 2026 –Spread Great IdeasTech and Analytics ManagerUnified analytics dashboard, report and spreadsheet automation, coaching the team to automate.
  3. 2024 – 25Spread Great IdeasWeb Content Specialist50+ SEO articles a month, 10+ UI/UX improvements shipped with the dev team.
  4. 2021 – 22DatashakeTechnical support, account management95% first-contact resolution; SQL, API and scraping work on large data sets.
  5. 2020 – 25Rich Returns | clearer.ioProduct Specialist and ManagerLed five specialists across five SaaS apps; 98% customer satisfaction.
  6. 2020 – 21Sample SolutionsData scraperValidated 1,000+ records a day at 95% accuracy.
  7. 2019 – 24EverBright (ex. Sighten)Technical Configuration Specialist100+ installers onboarded, 500+ agreements configured, 25+ KB articles.

end of log▋

07How we work

Verify before we claim

Two pairs of eyes on every number. If we say it works, we watched it work.

Ship small, then measure

One change, seen live, then judged on data, not on how it felt to build.

Polite by design

Our bots say who they are, ask sources first, and never pretend to be someone else.

Write it down

Decisions get their reasons recorded, so the next person, or the next us, doesn't relearn them.

08Contact

Have something that should run by itself?

Tell us what you're building or what's eating your week. We reply within a day.

Start a project →