Petar Stojanović

CV

The same CV as the PDF, generated from this site's content.

Download PDF

Petar Stojanović

Software Engineer

Belgrade, Serbiapetar.stojanovic27@gmail.comlinkedin.com/in/petar-stojanovic-417b34278github.com/Stojanovic27

Software engineer from Belgrade. Most of my work is in React Native and Expo: over the last three years I have shipped apps for ERP vendors, flight schools and consumer brands, often as the only engineer on the product, from architecture and tests to store releases and the documentation the next person needs. On several products I also built the web client in Next.js or Angular and contributed to the FastAPI backend, so I am comfortable working across the whole contract.

Experience

Software Developer, Thilo

Nov 2025 – Present
  • Lead engineer on WingOps Mobile, an aviation risk-assessment app for flight schools with a schema-driven form engine and background GPS flight tracking.
  • Sole engineer on BizniSoft Mobile (~196k lines, 1,000+ test files) and the B2B Order Portal mobile app, and lead on its Next.js web client.
  • Designed Link, a seven-package TypeScript SDK for team channels and LiveKit voice and video calls, used across several products.
  • Built WingOps Kiosk and Thilo Mobile end to end.

Software Developer, Digital Cube

Nov 2023 – Oct 2025
  • Built features in ImpresaOne, Telmekom's ERP platform: the React Native app (including the Expo SDK 54 upgrade) and the Angular web frontend.
  • Built order-configuration features in Sophie, an Angular and NgRx product.
  • Shipped Tipik and took over maintenance of OrthoPrax, two published consumer apps.
  • Modernised and re-released the bkube app to meet current Google Play requirements.

Selected projects

BizniSoft Mobile Sole engineer, BizniSoft

2025–now
  • Sole engineer for 15 months: about 1,850 commits, ~196k lines of TypeScript and 1,048 test files.
  • Five licence-gated modes (mobile orders, data terminal, POS, CRM, B2B) plus Serbian SEF e-invoicing.
  • Upgraded to Expo SDK 57 and React Native 0.86; wrote the Astro documentation site and release notes.

React Native, Expo SDK 57, TypeScript, TanStack Query, Redux Toolkit, SQLite

WingOps Mobile Lead engineer, WingOps

2026–now
  • Lead engineer (about 1,030 of 1,240 commits) on a multi-tenant aviation safety app with 692 test files.
  • Built a schema-driven form engine with conditional fields and scoring that renders forms defined by the backend.
  • Background GPS flight recording, offline storage, QR onboarding and a calendar written from scratch.

React Native, Expo SDK 56, expo-router, Zustand, SQLite, Background location

B2B Order Portal Sole mobile engineer, web lead, BizniSoft

2026
  • Built the mobile app alone (931 commits, 508 test files) and led the Next.js web version.
  • Repository and DTO layer with swappable mock and API implementations, so the app runs fully offline in development.
  • White-label builds with a different launcher icon for each brand.

Expo SDK 54, expo-router, Next.js 16, TanStack Query, Zustand, SQLite

OrthoPrax Lead maintainer, Sebastian Press

2024–now
  • Took over a published consumer app from its original author and became its lead maintainer (335 commits).
  • Led the upgrade to Expo SDK 57 and React Native 0.86, including Android Media3 lock-screen controls.
  • Recovered five tangled branches into a clean history without losing work, and documented the process.

React Native, Expo SDK 57, Redux Toolkit, RevenueCat, expo-audio, Background tasks

Tipik Sole engineer, Tipik

2025–2026
  • Built and published the app alone, including the pipeline that generates a year of content from source HTML.
  • Wrote a step-by-step runbook so a new year's calendar can be added without me.

React Native, Expo, Redux Toolkit, Notifee, Node.js scripts

WingOps Kiosk Sole engineer, WingOps

2026
  • Built alone in ten weeks with a ports-and-adapters architecture: all logic is plain TypeScript and tested without a device.
  • Offline-first submission queue in SQLite that syncs when the network returns.

React Native, Expo, expo-router, NativeWind, SQLite, expo-video

Packages

Link Principal author, Digital Cube

2026–now
  • Designed and wrote a seven-package SDK (516 of 543 commits) for text, voice and video, plus its Expo and Next.js reference apps.
  • Layering enforced by a test that fails the build when a logic package imports UI code; WebRTC is opt-in so text-only apps stay updatable over the air.

TypeScript, React, React Native, LiveKit, WebRTC, SQLite (WASM in the browser)

Remote Support SDK Contributor and integrator, Digital Cube

2026–now
  • Extended a published React Native screen-share SDK with live Skia annotations and shipped it inside BizniSoft Mobile.

TypeScript, React Native, Skia, Reanimated, WebSockets

Also worked on: ImpresaOne (Telmekom), Sophie (Telmekom), bkube (bkube), Thilo Mobile (Thilo), BSOne (BizniSoft), Telmekom Robotics website (Telmekom).

Hackathons

  • 2025Green Dash (Winner, Infominds challenge)NOI Hackathon – SFSCON Edition, Bolzano. Infominds challenge: make ESG sustainability reports transparent, accessible and interactive.
  • 2024RouteBOT (Winner, GRUBER Logistics challenge)NOI Hackathon – SFSCON Edition, Bolzano. GRUBER Logistics challenge: speed up transport tendering.

Skills

Mobile
React Native, Expo (SDK 43–57), EAS Build, Submit & Update, expo-router, Reanimated, Skia, SQLite, Push notifications, Background location, In-app purchases (RevenueCat), LiveKit / WebRTC
Web
Next.js, React, Angular, NgRx, RxJS, Nx, Tailwind CSS, shadcn/ui
State & data
TanStack Query, Zustand, Redux Toolkit, Offline-first sync
Backend
Python, FastAPI, Tortoise ORM, PostgreSQL, Redis, WebSockets, Docker
Testing & tooling
Jest, Testing Library, Playwright, Cypress, pytest, TypeScript (strict), Sentry
Languages
TypeScript, JavaScript, Python, SQL

Education

Bachelor of Applied Science, Computer Software Engineering

The School of Electrical and Computer Engineering of Applied Studies, Belgrade

High school diploma, Computer Science

Electrical Engineering High School “Nikola Tesla”