Proofvane

Independent software engineering studio · Ankara

Software that works beyond the demo.

Proofvane designs and builds mobile apps, web applications, and the APIs and systems behind them: tested, monitored and ready for real users, weak networks and the next release.

Start a projectSee how we build

  • 01MobileFlutter · iOS · Android
  • 02WebApps, portals, admin panels
  • 03Backend & APIServices and integrations
  • 04ReliabilityTests · CI/CD · monitoring
  • 05DataAutomation and verification

Representative process visual: a mobile app, a web panel and the backend behind them are designed, built, tested and released, one step after another.

  1. 01DesignScreens and flows
  2. 02BuildMobile, web, backend
  3. 03TestAutomated tests
  4. 04ReleaseStores and servers
Representative visual: the four stages of a project.

01Mobile engineering · Application reliability

Every release passes the same gate.

We build Flutter apps for iOS and Android together with the pipeline that ships them: analysis and tests on every change, integration tests on both platforms, signed builds, and a staged rollout that stops when crash reports rise.

  • Unit, widget and integration tests on every pull request
  • Integration runs on iOS and Android targets
  • Store builds signed in CI, never on a laptop
  • Staged rollout with a crash-rate gate and rollback
  • Offline-first data with a retry queue

Tools Flutter, Dart, GitHub Actions, Fastlane, Firebase Crashlytics

Capability demonstration, not a customer project. The pipeline is a simulation that runs in your browser.

release / v2.4.0Ready. Choose a run.
  1. Analyzedart analyze · lints
  2. Unit testsdomain and sync logic
  3. Widget testsscreens and states
  4. IntegrationiOS · Android
  5. Build & signIPA · AAB
  6. Staged rollouthealth gate

Rollout

  1. Internal
  2. 10%
  3. 50%
  4. All users

Technical detail: how does an offline-capable app sync? (interactive)

Interactive concept: in a mobile maintenance app a task is marked done; the request passes through an API, a job queue and a database, and a notification is sent. You can switch the phone offline to see requests wait in an on-device queue.

Tap “Done” on a task.

Online

Today

Maintenance crew · Block B

  • Check lift motor roomFloor −1 · 09:30
  • Replace corridor lightingFloor 4 · 11:00
  • Fire door inspectionStairwell · 14:00

Synced

  1. APIPOST /v1/tasks/:id/complete
  2. Job queueretries with backoff
  3. Databaseidempotent write
  4. NotificationsAPNs · FCM

Event log

  1. Waiting for an action.
Concept demo, not a customer project. It runs in your browser; no data leaves the page.

02Backend · Integrations · Automation

Pipelines that read messy sources and stay honest.

For our data reviews we built collectors for official HTML pages, PDF tables and scanned documents, one shared schema for every source, and a check that re-reads each quoted value against its source on every build. The same approach runs integrations and background jobs behind apps.

Real project. The figures come from the published one-page summaries below.

  1. 01CollectHTML · PDF · OCR
  2. 02Parsetables into rows
  3. 03Normaliseone shared schema
  4. 04Comparerules with page references
  5. 05Reviewa person signs off
  6. 06Reportsource-linked PDF
  • 990table rows parsed, 0 missing
  • 3official sources compared per record
  • 55field comparisons, each with a verbatim quote

Tools Python, TypeScript, SQLite, scheduled jobs

03Sector solutions

Two services for teams that work with public-sector data.

We are exploring two services that apply the same engineering approach for advisers and publishers who work with official guides and job listings in Türkiye. Both are based on a real sample project.

For KPSS placement advisers and exam-prep institutions in Türkiye

Which posts can your candidate apply for? With the reason and the source.

The placement guide contains hundreds of post rows and interlocking qualification codes. Working out, row by row, which posts a candidate qualifies for takes time; a single missed code can point a candidate to a post they cannot take, or hide one they can.

513 posts in 13 provinces, by eligibility
  • 78 Eligible
  • 74 Needs checking
  • 361 Not eligible

Source: ÖSYM KPSS-2025/2 Placement Guide and Table 3 (published 18.12.2025); comparison completed on 14.10.2026. Fictional profile; not a forecast.

See how it works: KPSS placement pre-check for advisers

One-page summary of the sample report: Placement eligibility pre-check: ÖSYM KPSS-2025/2 (PDF, 1 page)

For job-listing publishers, career sites and apps in Türkiye

Do a listing’s official sources say the same thing?

A public-sector listing is often published in more than one official source. The application deadline, number of posts or requirements may not be written the same way in each. Deciding which one to rely on means opening and comparing the sources one by one.

55 comparisons (5 positions, 11 fields), by result
  • 46 Consistent
  • 2 Needs interpretation
  • 6 Not in source
  • 1 Different

Sources read on 13.10.2026; the difference was re-checked on 14.10.2026. Contains no personal data.

See how it works: Public job listing verification for publishers

One-page summary of the sample audit: Job-listing data accuracy audit: Kariyer Kapısı (PDF, 1 page)

Services

Documented work that small teams and organisations can maintain for years. The scope of every project is agreed in writing up front.

Web applications

Admin panels, customer portals and internal tools. Accessible, fast-loading interfaces built with Flutter Web or TypeScript.

Deliverables

  • Panel and portal interfaces
  • Role-based access
  • Automated tests and CI/CD

Tools

TypeScript, Flutter Web, Vite

API and backend

APIs, background jobs and integrations. We can own your production environment, including monitoring, incident response and root-cause analysis.

Deliverables

  • REST API and its documentation
  • Data model and security rules
  • Monitoring, alerts and an incident process

Tools

Node.js, TypeScript, Firestore, Cloud Functions

Data automation

We collect open, official or internal sources on a schedule and turn them into one shared structure. When a source changes format or becomes unreachable, it is logged and you are told.

Deliverables

  • Scheduled collection and transformation jobs
  • A health check for every source
  • Documented schema; CSV, JSON or a database

Tools

Python, SQLite, scheduled jobs

Data verification and source-referenced reports

We compare your data with the official or internal source it relies on. A discrepancy is reported only when it can be shown in the source.

Deliverables

  • Row-level report linked to sources
  • Discrepancy list with evidence
  • Separate list of records that could not be verified

Tools

Python, PDF and HTML parsing, manual review

How we work

We start small and move forward with your approval at each step.

  1. Small scope

    We start with one screen, one integration or one data source. What will be delivered is agreed in writing.

  2. A concrete sample

    A small working build for software, a source-referenced sample for data work. You can try the result yourself.

  3. Approved pilot

    Once you approve the sample, we run a time-boxed pilot. Scope and ways of working settle here.

  4. Regular delivery

    Delivery on an agreed rhythm. Each delivery lists what was done, open questions and known gaps.

Show the source
Every claim, including every discrepancy, is delivered together with the source it relies on.
Human review
Automation collects and compares; a person reviews the results before delivery.
Minimal data
Only the data the work needs is processed; its purpose and retention are agreed up front (GDPR and KVKK).
One owner
The studio is run by a senior software engineer; the same person follows your work from start to finish.

Next step

Write a few sentences about the app, integration or data work you have in mind. We agree the scope together in a first call.