RoutineBridge

Projects that run at our clients

For each project, a short note on what the business needed solved, what we built and how it runs today. Technical details are at sebastiangalcik.com.

Businesses we built production systems for

  • Gaya
  • Hakom
  • Aluprint
  • Mountberry
  • Famis
  • MTEC

Names are used with their permission. We do not publish which project belongs to which business.

Banking and finance

Statements from three Slovak banks, every day, unattended

What needed solving
Account movements at three banks had to land in the company's own database every day, without anyone downloading and retyping them.
What we built
A PSD2 (open banking) connection with unattended OAuth token refresh. CAMT.053 statements are parsed into one normalised SQL schema. Duplicate protection is tied to the statement header, so a re-run during the day cannot post a payment twice.
How it runs
In production for 3 banks, running daily and unattended. Deployed as a Windows application and as a Raspberry Pi service.

PSD2OAuthCAMT.053MSSQLPAY by square

Customer portal

A customer portal with online payments

What needed solving
Customers needed one place to see invoices and contracts, raise a service or return request, and pay straight away.
What we built
PIN login by SMS or email, invoices as PDF, contracts, service and return requests. Payments through TatraPay and CardPay, with PAY by square QR codes. A web and a mobile version.
How it runs
Live for a client. A payment runs end to end inside the portal, from invoice to paid.

PHPMySQLJavaScriptTatraPayCardPayPAY by square

Operations and production

POS, production and IoT data in one database

What needed solving
Data from tills, power meters, CNC programs and Excel workbooks each lived in a different system, with no single place that held it all.
What we built
Point-of-sale APIs are reconciled into MSSQL on a schedule. Power-meter readings from IoT relays are logged continuously. CNC programs are parsed for cut length and part counts, and Inventor part lists and RADAN nesting CSVs are imported for production preparation. Excel and CSV workbooks go into the database and are exported back by order number.
How it runs
More than 12 delivered systems for businesses that depend on them: manufacturing, retail, facilities, agriculture.

PythonpandasSQLAlchemyREST APIsCNC programsRaspberry Pi

Day-to-day operations

Small automations that keep a business running

What needed solving
Backups, file copies and attendance have to work every day, and nobody wants to watch them by hand.
What we built
Backup checks with an email alarm when something is missing, rule-based clean-up of old backups and scheduled FTP copies. Raspberry Pi kiosks for RFID-card attendance and for QR payments matched through the bank API.
How it runs
They run unattended on Windows and Raspberry Pi, started by Task Scheduler. When something is missing, an email goes out.

PythonPyInstallerTask SchedulerFTPRaspberry Pi

Our own product

Tender vopred: public contracts that are about to expire

What needed solving
Slovak public contracts are open data in the Central Register of Contracts, but a supplier cannot easily find the ones that expire in a few months.
What we built
A Python pipeline over the register's open data, a static site on Cloudflare and scheduled GitHub Actions runs. The site shows contracts that expire in one to twelve months.
How it runs
Live at tendervopred.com.

PythonCloudflareGitHub Actionsopen data

tendervopred.com

What matters most in these projects

Connecting to an API is usually the easy part. More time goes into failures that look like success: a form field that silently drops its input, a vendor's 200 that is only a job id, or a backup nobody has ever tried to restore. Those decide whether an automation lasts a month unattended.

Technologies and details for each project are on the personal site of our founder, Sebastián Galčík. Projects at sebastiangalcik.com

Tell us what you need

A few sentences are enough. No compulsory meetings and no paid initial analysis: we reply with a scope and a fixed price before we start.