Software, end to end.
I’m Djordje, a software engineer in Belgrade. I build all kinds of software: web apps, mobile and desktop apps, and the backends and infrastructure underneath them.
I’ve been building production software for more than five years, and by day I’m a full-stack engineer at AceBears. On my own time I make my own products and open-source tools, some of which are under Work. Lately I’ve been writing Rust too, and a game is probably the next thing I’ll build with it.
Away from the keyboard I’m an editorial photographer. My photo stories are at explore.djordjejanjic.rs.
Problems I like solving
- Slow systems
- Finding where the time goes and taking it out: caching, background queues, fewer requests, less work per frame.
- Messy data and flaky services
- Making incomplete data and unreliable third-party services dependable, with validation, retries, careful gap-filling and a clear label on anything that’s a guess.
- AI that has to be right
- Putting language models to work on real documents, with every answer checked against a schema or the source before anyone relies on it, from large hosted models to small ones on a phone.
- Old code that can’t stop
- Replacing legacy code piece by piece while everything keeps running, and leaving it typed and testable.
- Getting it out the door
- Build pipelines, app store releases and monitoring in production, so shipping is routine and problems show up early.
Tools I work with
- Languages
- TypeScript, JavaScript, Swift, Python, Rust
- Web and backend
- Node.js, NestJS, Express, FastAPI, Angular, React
- Mobile and desktop
- React Native, SwiftUI, AppKit, Metal
- Data
- PostgreSQL, MongoDB, Redis, SQLite
- AI
- OpenAI, Anthropic and Vertex AI APIs, Ollama, Apple Foundation Models
- Infrastructure
- Docker, Azure, Cloudflare Workers, Jenkins, GitHub Actions
Contact
Email is the best way to reach me: djordje.janjic@hotmail.com. I’m also on LinkedIn, GitHub and X as @geoyanj.