This CV is available online : https://steeve.ortuani.com/cv-steeve-ortuani
  • Built a real-time 3D cartography platform on OpenStreetMap data, rendered in the browser at planetary scale. Proprietary, self-funded platform, running in production: citymap3d.com.

    • Designed the full distributed architecture: OSM-to-3D-tiles compilation pipeline (workers on a Beanstalk queue, S3 storage, real-time delivery over Socket.IO), on a 1.09 billion rows PostGIS database.
    • Built the custom 3D engine (Three.js + GLSL3): post-process shaders (SSAO, color grading), cascaded shadow maps, astronomical sun/moon lighting.
    • Rendered 28M trees and 4.6M streetlamps in the browser: GPU instancing, spatial QuadTree, frustum culling, LOD.
    • Optimized the tile generation pipeline through measurement: identified the bottleneck (polygon difference, 85 to 97% of total time), applied a targeted fix, -49% overall generation time.
    • Built the multilingual semantic search: local-LLM embeddings over an OSM category ontology, vector ranking, PostGIS proximity queries.
    • Operate the platform in production: Ansible deployment, 6 supervised services, ~85k LoC TypeScript monorepo.

    Vue 3 · TypeScript · Three.js · GLSL3 · Hono · Socket.IO · PostgreSQL/PostGIS · Beanstalk · S3 · Ollama · FlatBuffers · Ansible

    • 3d-map-1
    • 3d-map-2
    • 3d-map-3
  • Hands-on technical ownership of the frontend at Tenacy, a cybersecurity governance SaaS company.

    • Modernized a legacy codebase (Vue 2, Webpack, Node 14, mixins, jQuery injected on the Vue instance): moved up to Vue 2.7 to leverage the Vue 3 backports, migrated the build system from Webpack to Vite.
    • Audited every layer of the application and built the full Vue 3 migration strategy: mixins to typed composables, Vuex to Pinia, custom validation with Zod, Design System + Tailwind. Phased plans, identified blockers and dependencies, designed to ship continuously without breaking production.
    • Designed and built the Design System: charts, forms with advanced validation, modals, date pickers. Documented and unit tested.
    • Quality and conventions: strict TypeScript in CI, ESLint v9, stabilized Vitest and Cypress tests, frontend guidelines and code review standards.
    • Hiring (technical interviews, candidate evaluation, criteria definition) and mentoring through code reviews and pair programming.
    • Close work with the product team: continuous feature delivery (dashboards, PDF exports, internationalization, feature flags).

    Vue 2.7 (Composition API) · TypeScript · Vite · Tailwind CSS · Pinia · Chart.js · Vitest · Cypress · Storybook

  • Technical ownership of the frontend at Scortex, an AI visual-inspection platform: computer vision detecting manufacturing defects straight off the production line.

    • Re-architected the Vue 2 MPA into a Vue 3 SPA (Composition API, script setup): reactivity, performance and maintainability.
    • Completely reorganized the file architecture along Vue best practices, and integrated the full design overhaul.
    • Built a cross-disciplinary feature in close collaboration with the product and hardware teams.
    • Led the Cypress test strategy and the technical-debt reduction: analysis, prioritization, fixes.
    • Fullstack contributions on the Python backend.
    • Hired my own successor: technical interviews, selection, then training and handover of the front-end scope.

    Vue 3 · TypeScript · Python

    • scortex-1
    • scortex-2
    • scortex-3
  • Founded and run Sokod, my software engineering company: technical direction in consulting (including Tenacy and Scortex, detailed in their own entries) and continuous investment in my own products through Sokod Labs.

    • Video recommendation engine (2025 engagement, client under NDA): TikTok-style selection algorithm. Per-user interest centroids via k-means over embeddings, a weighted mixing desk blending ranking strategies (trending, proximity to interest clusters, collaborative picks).
    • Short technical direction and architecture engagements for external clients.
    • One year of technical mentoring of freelance developers, through the MentorTech Fr platform.
    • NeoTrading (internal product): a platform to build, backtest and deploy crypto trading algorithms. Exchange abstraction layer, indicators, strategies, money management, distributed real-time processing.
    • BeansWatch (internal tool): desktop app to monitor and operate Beanstalkd queues.
    • DesignSystem (internal tool): local generative branding pipeline (FLUX + LLM) producing logo, palette, tokens and components.

    TypeScript · Vue 3 · Node.js · Hono · PostgreSQL · Socket.IO

    • beanswatch
    • design-system
    • crypto-trading
  • Technical direction of Sagitta Pharma, a digitalized pharmaceutical wholesaler linking laboratories and pharmacies.

    Management :

    • Managed a team of 15: team growth and cohesion, lead development, recruitment.
    • Needs definition, architecture and delivery oversight.
    • Handled legal constraints across projects (GDPR, certified health-data hosting).

    Development :

    • Built an extractor installed on the servers of around 2,000 pharmacies, interfaced with their databases to stream stock and sales data in real time: several terabytes of data aggregated on an Elasticsearch cluster.
    • Built a SaaS (web and mobile) for pharmacies, pharmacy groups and laboratories.
    • Built the pharmaceutical wholesaler e-commerce linking laboratories and pharmacies.
    • Configuration systems for laboratory promotions and white-label setups for pharmacy groups.

    Node.js · Laravel · Symfony · Angular · Elasticsearch · MySQL · Redis · Linux

    • sagitta-pharma-1
    • sagitta-pharma-2
    • sagitta-pharma-3
    • sagitta-pharma-4
  • Full technical direction of Publicite Moi, an early-stage AdTech startup. Hands-on CTO with a team of 2 developers.

    • Rebuilt the product core from V1 to V2: server architecture, front and back.
    • Set up data tooling to drive the AARRR funnel (Acquisition, Activation, Retention, Referral, Revenue).
    • Built the product's companion surfaces: mobile applications, browser plugins.
    • Set up the development environments, managed the team and prioritized work to ship the MVP.
    • Built the BPI public-funding application and secured the grant; took part in investor meetings.
  • High-traffic poker and casino gaming websites. In charge of the casino games, from engine to economy.

    • Built the HTML5 games (blackjack, slot machines, casino war, scratch cards) as reusable skeletons themed with the design team: one slot-machine engine, many games through reskinning.
    • Designed the redistribution strategy: wins paid out as digital scratch-card tickets rather than direct tokens, to keep fine-grained control over token redistribution.
    • Set up token earning through ad viewing.
    • Kept high-traffic sites under load: multi-level caching (SQL, memcache, appcache), static file serving, MySQL replication.

    PHP · JavaScript · MySQL · HTML5

  • Founded and ran my first company: publishing profitable B2C community websites, operated solo. Two dating sites with webcam chat (250,000 users), a musician-matching site, a dietetic cooking site.

    • Published and operated my own products end to end: front and back development, infrastructure, moderation, support.
    • Built the dating sites' real-time webcam chat: HTML / JS chat backed by a Python server, webcam streams in Flash through Red5 (open-source RTMP server).
    • Built acquisition and revenue: SEO and audience monetization.
    • Built my own tools: MVC framework, CMS, prospecting CRM.
    • Managed external contractors.
    • Kept the products running quasi-passively from late 2014, alongside my salaried roles, until the company's voluntary liquidation in 2017.

    PHP · Python · MySQL · JavaScript · Node.js · Red5