MojTrener.ba
A production marketplace for discovering trainers through sports, cities, structured profiles and location-aware discovery.

Complexity becomes useful only after it becomes understandable.
Every product starts before the interface. There is a problem, context around it and a set of decisions that turn that problem into structure.
That is still the way I approach software today: understand what actually needs to happen before deciding what the screen should look like.
Once machines could process logic, the next challenge was telling them what to do.
The command line turned intent into instructions. So this chapter does the same thing: ask the system something about me.
I work best where product, frontend and backend overlap.
Commands worked. Interfaces made software understandable to everyone else.
Interfaces changed who could use software. Functionality still mattered, but now the system also had to explain itself.
That is why product work is not only code. Structure, hierarchy and the next action matter just as much.
Then software escaped the machine. A URL became enough to reach the world.
The web made software distributable. Suddenly a product could reach anyone with a browser.
That also introduced a new problem: building something useful is not enough if nobody can find it, trust it or use it quickly.
Search · Performance · Discovery · Clarity
I started thinking about search and acquisition as part of development rather than something added after launch.
Websites stopped being pages. They became connected products with data, APIs and infrastructure.
Modern products stopped being collections of pages. Authentication, data, APIs, caching, monitoring and mobile clients became one connected system.
This is the part of full-stack work I enjoy: understanding how those pieces fit together rather than treating each one as a separate world.
Next.js / React / TypeScript / Tailwind
Prisma / PostgreSQL / API routes / Authentication
Vercel / Redis / Sentry / Analytics
React Native / Expo / Notifications / Camera workflows
The implementation changes. The process is more stable.
What problem are we actually solving?
What data and relationships does the system need?
Create the smallest complete version that works.
Put it in front of real users.
Observe behaviour, failures and acquisition.
Use reality instead of assumptions for the next iteration.
The tools are only the implementation. The final question is whether the product actually works for real people.
Full-stack developer and product builder working across interface, application logic, data, infrastructure, mobile, technical SEO and the decisions that connect them.
Products I built, launched or actively work on.
A production marketplace for discovering trainers through sports, cities, structured profiles and location-aware discovery.

A coaching platform connecting trainers and clients through programs, workouts, progress, recovery, nutrition and mobile workflows.

A car-rental platform where development extends into local search architecture, technical SEO and clearer conversion paths.

A new Next.js implementation replacing an older WordPress foundation with cleaner architecture and room for future commerce features.

The work does not stop when a site goes live.
Duplicate program, safer delete flow and client relationship checks.
Local intent, Sarajevo/Tuzla structure and airport-focused landing strategy.
New project foundation, App Router and architecture planning.
Privacy controls, location handling and technical SEO work.
I prefer production problems over portfolio problems.
Real users expose the things mockups cannot: unclear flows, performance issues, incorrect assumptions and missing product decisions.
I like understanding the complete system: interface, data, application logic, infrastructure, privacy, analytics and acquisition.
Open to remote development roles, product teams and selected collaborations.
hello@sahman.dev↗