Independent digital studio

Digital products that refuse to follow a straight line.

Crooked Signal is an independent digital studio building useful websites, web applications, Android tools, and custom business software.

A signal line that changes direction and continues on a new path.

Selected work

Real projects, described as they are. Internal systems have no public link, because they are not on the public internet — and should not be.

The NoDig European website home page, showing trenchless pipe-cleaning machines.

WebLive2026

NoDig — European Website Network

Seven country websites for a Croatian manufacturer of trenchless pipe-cleaning and pipe-rehabilitation equipment.

More detail

One manufacturer, seven markets, eight languages. Each market gets its own domain and its own language versions, cross-linked so the sites support each other in search instead of competing for the same terms. Built as static pages — no CMS to maintain, no database to keep online, and nothing between a visitor and the page.

  • Seven domains covering Croatia, the EU, Germany, Spain and Italy, France, Serbia and Slovenia
  • Language versions per market with cross-domain hreflang
  • Product and category pages driven by a shared component structure
  • Inquiry forms, sitemaps, robots and machine-readable site descriptions

Built withHTML · CSS · JavaScript · PHP · hreflang · Structured data

The partner ordering portal catalogue view with an order in progress.

Web applicationIn use, internal2026

Partner Ordering Portal

A B2B ordering system where each reseller signs in and sees the catalogue at their own price tier, then orders directly from it.

More detail

Partner orders used to arrive as email threads and attached spreadsheets, each one priced by hand. This replaces that: partners sign in, see the catalogue at the price tier and discount attached to their account, build an order and submit it. Administrators manage accounts, upload a new catalogue, and track order status from one panel, so there is still only one place where orders live.

  • Per-partner price tiers and discounts applied across the whole catalogue
  • Role-based access for partners, staff and administrators
  • Catalogue import from spreadsheet or JSON, with upload history
  • Order submission with email and messaging notifications
  • Walk-in mode for orders placed on a partner’s behalf

Built withNode.js · Express · SQLite · JWT · SheetJS

FishCast showing a bite score of 42 out of 100 with the forecast controls above it.

AndroidLive2026

FishCast — Fishing Forecast

An app that scores fishing conditions per species, location and day, and shows which hours are worth going out.

More detail

Weather apps report the weather. Anglers want the next step: is tomorrow worth it, and at what hour. FishCast scores conditions from 0 to 100 for a chosen species and place, weighted mainly by barometric pressure and its trend, then by solunar periods, moon phase, wind, cloud, rain, estimated water temperature and — for rivers — the flow trend. It runs installed on the phone, keeps the last forecast for places with no signal, and asks for no account.

  • Bite score per species, location and day, with the best four hours highlighted
  • Pressure trend, solunar periods and moon phase calculated on the device
  • River flow trend for freshwater, sea conditions for saltwater
  • Location by GPS, city search or a point on the map
  • Works offline from the last saved forecast
  • Croatian and English, no ads, no account

Built withPWA · Service Worker · JavaScript · Open-Meteo API · Cloudflare Pages

The catalogue application showing product categories, with a search box for finding an item by code or name.

Web applicationIn use, internal2025–2026

Offline Catalogue & Quotation App

A desktop app that carries the full product catalogue and produces a branded PDF quotation with no connection at all.

More detail

Built for people who sell where there is no signal — a customer site, a trade fair hall, a van. The whole catalogue sits on the laptop, along with the customer list and the quotation history. Search a product, add it, pick a currency, and the app generates a numbered PDF quotation carrying the user’s own logo and company details. Nothing is fetched, nothing is synced, nothing fails because the connection dropped.

  • Complete catalogue search with no connection required
  • Branded PDF quotations with sequential numbering
  • Customer records with quick-fill
  • Multi-currency pricing with adjustable rates
  • Catalogue export and import as JSON to move data between machines
  • English, Croatian and German interface

Built withElectron · JavaScript · PDF generation · JSON storage

An abstract signal path breaking and reconnecting on a new trajectory.

AndroidIn progress2026

Legacy Bluetooth Controller Modernization

An existing Bluetooth LE controller app, left behind by Android’s platform changes, brought back onto current Android.

More detail

A third-party Android app that controls a Bluetooth LE lighting device stopped behaving on current phones. Nothing was wrong with the hardware — Android had moved: Bluetooth permissions had replaced the old location-based model, broadcast receivers now had to declare their export status, and edge-to-edge display pushed content under the status bar. This is modernization of somebody else’s application, not a rewrite: raise the target SDK, restore the permission flow, fix the receiver registration and the layout, and repackage it under a separate identifier so it can be installed next to the original and compared directly. A browser-based controller was started alongside it as a second, independent route to the device — it reaches the device and connects, but it was never finished.

  • Target SDK raised to current Android; installs and runs, tested on Android 16
  • Runtime Bluetooth scan and connect permissions replacing the legacy location model
  • Receiver registration corrected for Android 13 and later
  • Edge-to-edge layout fixed so content no longer sits under the system bars
  • Repackaged under a separate identifier for side-by-side comparison with the original

Built withAndroid · Bluetooth LE / GATT · APK tooling · Web Bluetooth

The Hidros home page: a dark hero with a coverage map of Osijek and the surrounding towns.

WebLive2026

Odštopavanje Osijek — Hidros

A 0–24 emergency drain-unblocking service in Osijek, built to be found the moment someone needs it and called in one tap.

More detail

Someone searching for this has water on the floor. That sets every decision: the coverage area is visible immediately, the call action follows you down the page, and the site loads fast on a phone on mobile data. Service pages are written around how the problem is actually searched for — the symptom, not the industry term — with camera inspection and the surrounding towns each given their own ground to rank on.

  • Mobile-first layout with the emergency call action always in reach
  • Coverage map of Osijek and the surrounding Slavonia towns
  • Separate pages for drain unblocking and camera inspection
  • Local search structure, structured data and machine-readable site description
  • Contact form, privacy policy and a designed 404 page

Built withHTML · CSS · JavaScript · Structured data

The catalogue production tool in edit mode, with a product page laid out on a six-item grid and export controls above it.

Product developmentIn use, internal2026

Print Catalogue Production System

A browser-based system for laying out a product catalogue and exporting it press-ready, image preparation included.

More detail

A printed catalogue is the same layout problem every year, solved from scratch every year. This keeps the layout, the product data and the image preparation in one place: pages and covers are composed in the browser, hero images are built in the same tool, source photography is extracted and compressed in the same workflow, and the output is a press-ready PDF. Next year’s edition starts from last year’s file rather than an empty page.

  • Page and spread composition in the browser
  • Cover and hero-image designers built into the same tool
  • Image extraction and compression as part of the workflow
  • Press-ready PDF export
  • Catalogue data kept as JSON, shared with the offline catalogue app

Built withJavaScript · HTML · CSS · Python · PDF export

Capabilities

Four things, done properly, rather than a list of everything.

  • Web

    Websites for businesses that need to be found and called, and for manufacturers selling across several countries. Multilingual platforms, landing pages, responsive interfaces, and the search and structured-data work that decides whether any of it gets seen.

  • Web applications

    Ordering portals, internal tools, catalogue systems and structured data workflows. Authentication, user roles, tiered pricing, imports and exports, and connections to the systems a business already runs on.

  • Android

    Practical Android applications, plus the unglamorous half: compatibility work, permission and API migrations, and bringing an application that current Android versions have left behind back into working order.

  • Product development

    From the first description of a problem to a working product — including the parts that decide whether it gets used: what it does offline, how data moves in and out, and who has to maintain it afterwards.

Alongside this: document automation, stock and reporting tools, campaign work and product visuals for the projects that need them.

Approach

Every project starts with a real problem. The goal is not to add more software, but to build the smallest useful system that solves it well.

  • Useful before impressive

    A tool that gets opened every morning beats one that gets shown once in a meeting.

  • Clear before complicated

    Fewer moving parts means fewer things to explain, fewer things to break, and less to maintain a year from now.

  • Different only when it improves the result

    The crooked path is a choice, not a habit. Where the straight one works, it gets used.

About

Crooked Signal is an independent development studio, building digital products across web and Android that have to keep working long after launch.

The work runs from public multilingual websites to internal systems nobody outside a company will ever see — ordering portals, catalogue tools, an app that has to keep working when the connection does not.

It is one person, not an agency. That sets the shape of the work: projects sized so they can be built properly and maintained afterwards, and a direct conversation with whoever actually has the problem.

Based in Osijek, Croatia, though the work is not tied to the city. Clients are across Croatia and beyond, and collaboration is remote by default — from the first conversation through to maintenance.

The name is the idea. A signal that does not follow the expected straight path. Not broken — just routed differently, on purpose.

Questions

The things people ask before the first conversation.

  • What does Crooked Signal actually build?

    Websites, web applications, Android applications and internal business tools. In practice that has meant multilingual manufacturer sites, local service websites, a B2B ordering portal, an offline catalogue and quotation app, a print production system, and a forecasting app for Android.

  • Do you work with small businesses as well as companies?

    Both. A one-person trade business needing to be found and called, and a manufacturer needing an ordering portal for its partners, are different problems with the same starting point: what actually has to work. Small projects are not treated as practice runs.

  • Is this an agency?

    No. Crooked Signal is an independent studio, and you deal directly with the person building your project. There is no account manager between you and the work, and projects are sized so they can be built and maintained properly.

  • How does a project start?

    With a description of the problem, not a specification. Send what is going wrong, what you have now, and what you wish happened instead. What it should be built as comes out of that conversation, along with scope, timing and cost.

  • Can you take over a website or app somebody else built?

    Yes. That is a large part of the work — modernizing, fixing and extending things that already exist, including an Android application originally written by someone else and brought back onto current Android versions.

  • Which languages do you work in?

    Croatian and English. Sites have also been built and structured for German, Spanish, Italian, French, Serbian and Slovenian markets, with the language versions and cross-domain linking that requires.

  • Where are you based, and do you work remotely?

    Croatia. The work is remote by default and has covered clients and markets across Croatia, the region and the wider EU.

  • Do you handle hosting and maintenance after launch?

    Yes, where it makes sense. Sites are built to be cheap and simple to host — usually static, with no CMS or database to keep patched — and several of the projects listed here have been maintained over time rather than handed over and forgotten.

Have a useful problem? Send a signal.

A description of the problem is a better start than a specification. Email works, or use the form.

Elsewhere

  • GitHubComing soon
  • Google PlayComing soon
  • LinkedInComing soon

Send a message

The form is not connected to a mail service yet. Until it is, use the email address above.