Développeur Full-Stack | Rust, TypeScript, JavaScript | Intégrations IA
Explorez leurs liens et le reste de ce profil pour mieux les connaître. Zinn Hub maintient le profil de chaque Zinner ouvert et transparent — afin que vous puissiez établir la confiance et embaucher en toute confiance.
Alexandr Sopilnik a prouvé ses compétences à Zinn Hub et fourni des preuves de son travail. Chaque Zinner vérifié passe un examen pratique d'assurance qualité — vous pouvez donc embaucher en toute confiance.
🛡️ Vérifié depuis le September 2026
Full-stack developer with 10+ years in IT. I build and fix web, desktop and mobile apps, APIs and Chrome extensions in TypeScript, JavaScript and Rust. That includes Lovable and Bolt apps that aren't ready for real users yet. I also add AI features to existing products: LLM integrations, document search and chatbots.
Stack:
- Languages: TypeScript, JavaScript, Rust, SQL, HTML, CSS/SCSS
- Front end: React, Next.js, responsive interfaces that I design myself and build without templates
- Back end: Node.js (Express, NestJS), Deno, Rust (axum), REST and gRPC APIs, Kafka
- Databases: PostgreSQL with row-level security, MySQL, MariaDB, MongoDB, Redis, Supabase
- AI: LLM integrations that check the model's output before saving it, vector search on pgvector, RAG chatbots that answer from your files
- Platforms: WordPress and WooCommerce, multilingual sites with WPML, Chrome extensions (Manifest V3), desktop apps with Tauri, mobile apps in React Native
- DevOps: Docker, Kubernetes, Helm, werf, CI/CD on GitHub Actions and GitLab CI
- Integrations and automation: payment providers, third-party APIs, scheduled jobs with an alert if one stops running
What I take on:
- Apps built with Lovable, Bolt, Cursor or v0 that work for the founder but aren't ready for real users: broken sign-in, failing payments, missing access rules, code nobody wants to touch
- New web apps from the database to the interface, plus landing pages and multilingual sites
- AI features in an existing product: LLM summaries and scoring, search over your documents, chatbots that cite their source
- Bug fixes and performance work on slow pages, API endpoints and database queries
- Backends, APIs and command-line tools in Node.js or Rust
- Desktop, mobile and browser-extension projects
Experience:
- Supabase in production: scheduled TypeScript functions, LLM steps whose output is checked before it is saved, pgvector search, an alert whenever a scheduled job stops running, and CI on every push to main
- Access control inside PostgreSQL: row-level security policies and a separate role for each subscription tier, so users see only what their plan allows
- A legacy PHP backend rewritten in Node.js/TypeScript without breaking its API; median response time on the main endpoints fell roughly 3×
- A jQuery front end moved to React page by page while the product stayed live
- Rust backends: axum microservices on PostgreSQL and Redis that talk to each other through Kafka and gRPC, with a REST API for the front end
- Open source: reqwest-rotate, my Rust crate for proxy rotation, per-host rate limits and retries in the reqwest HTTP client, published on the official Rust registry
- Live demos and client work are in my portfolio, and my public code is on the GitHub account linked to this profile.
How I work: async and in writing. I write the scope down before I start. Well-defined work gets a fixed price; open-ended work is billed hourly until the scope is clear. You get a short written update at the end of each working day, and no calls are needed. I work 10:00–20:00 Almaty time (UTC+5), which covers most of the European working day and the start of the US East Coast day.
Pour commencer, envoyez-moi ce que vous avez (un dépôt, une application en direct ou une courte description) et ce dont vous avez besoin. Je vous répondrai avec un plan écrit et un prix. Si vous souhaitez d'abord voir comment je travaille, nous pouvons commencer par une petite tâche à prix fixe, comme la correction d'un seul bug.
Technologies et expertise dans lesquelles ce freelancer se spécialise.
Zones de service pour lesquelles ce freelancer est disponible.
Le back-office de ma boutique de démonstration Formline, ouvert à l'essai sans inscription: chaque visiteur dispose d'un bac à sable privé avec des données de démonstration. Le personnel traite les commandes, gère le catalogue et suit les stocks, et les commandes de test Stripe payantes de la boutique arrivent via un webhook signé. Quatre rôles de personnel, du propriétaire au lecteur en lecture seule, ont des droits différents; la connexion prend en charge une application d'authentification et des clés d'accès. Construit avec Next.js, React et TypeScript sur PostgreSQL avec Drizzle; la sécurité au niveau des lignes maintient chaque espace de travail séparé. Il fonctionne dans Docker, avec des tests Vitest et Playwright en CI.
Voir les détails →
Projet client: J'ai étendu le backend Supabase d'un bureau qui négocie des marchés de prédiction électorale. Mes fonctions TypeScript planifiées prennent des instantanés des carnets de commandes Kalshi, trouvent de nouveaux marchés électoraux, rédigent des profils de candidats et déclenchent des alertes; un LLM (Qwen) rédige des résumés de course horaires pour les traders et note les commentaires YouTube. J'ai également ajouté un fil d'actualité avec recherche, une préparation RAG sur pgvector et une CI à chaque push vers main. Chaque tâche que j'ai ajoutée signale un battement de cœur, et un chien de garde horaire alerte lorsqu'une tâche devient silencieuse ou que les prix cessent d'arriver. Le propriétaire a reçu un guide de configuration et une vidéo de démonstration.
Voir les détails →
A free, open-source Chrome extension (Manifest V3) with four small fixes to the Xero pages bookkeepers use every day. The Approve button on an invoice does the action you choose, approved invoices print without downloading a PDF first, long lists get page navigation at the top, and a button sorts the current Find and recode page by description. It runs only on go.xero.com, with one permission and no analytics or remote code. Built in TypeScript; CI runs lint, type checks, Vitest unit tests and Playwright end-to-end tests of the built extension. Not affiliated with or endorsed by Xero Limited.
Voir les détails →
Une vitrine sur laquelle vous pouvez cliquer: 16 affiches dans 4 collections, filtres et recherche qui restent dans l'URL, un panier, des thèmes clair et sombre, et un processus de commande qui se termine par une commande de démonstration ou une session Stripe Checkout réelle en mode test. Je l'ai construit comme une exportation statique Next.js en TypeScript avec Tailwind CSS. Les images d'affiches sont générées à partir de modèles SVG et rendues en PNG au moment de la construction. Les paiements par carte passent par un Cloudflare Worker qui recalcule le prix du panier sur le serveur et vérifie la signature du webhook de Stripe. Les tests Vitest et Playwright s'exécutent dans GitHub Actions à chaque push; les pushes vers main déploient le site.
Voir les détails →
Un petit wrapper reqwest pour les scrapers et les clients API qui ont besoin de rotation de proxy, de limitation de débit par hôte et de réessai avec backoff, sans avoir à intégrer un framework de middleware. Publié sur crates.io avec documentation, CI et environ deux cents tests.
Voir les détails →
Un site personnel d'une page en anglais et en russe, avec une section services et des liens vers mes projets de démonstration. Je l'ai conçu et construit avec Next.js, React et TypeScript comme une exportation statique, stylisé avec des modules CSS simples et sans framework d'interface utilisateur. Il a des thèmes clair et sombre, et une image d'aperçu social pour chaque langue est générée au moment de la construction. GitHub Actions le construit et le déploie sur Bunny CDN, qui ajoute des en-têtes de sécurité et redirige www et HTTP simple vers l'adresse HTTPS principale.
Voir les détails →
J'ai construit le backend: services Rust sur axum, Kafka pour les événements entre les services, PostgreSQL et Redis, gRPC en interne, REST pour le front-end React. Docker, CI/CD. Client sous NDA.
Voir les détails →
J'ai réécrit le backend de la plateforme web d'un client, passant du PHP hérité à Node.js/TypeScript, et j'ai maintenu l'API publique compatible, de sorte que le front-end a été livré inchangé. Le temps de réponse médian sur les principaux points de terminaison a été réduit d'environ 3x. Le déploiement a été transféré vers Docker avec CI/CD. Client sous NDA.
Voir les détails →
J'ai migré un front-end jQuery vers React page par page pendant que le produit restait en production. jQuery a disparu, l'interface utilisateur est basée sur des composants, et les nouvelles fonctionnalités sont construites côté React. Client sous NDA.
Voir les détails →
J'ai construit le front-end, le backend et la base de données pour un client: React, TypeScript sur Node.js, PostgreSQL, livré comme un service déployable unique avec CI/CD. Client sous NDA.
Voir les détails →
Utilitaires en ligne de commande, scrapers et parseurs en Rust qui collectent des données de domaine étroit pour les clients (async, reqwest, scraper, serde). Rotation de proxy et gestion des limites de débit lorsqu'un site l'exige; les cibles vont du HTML statique aux pages rendues en JS. Les sources et les ensembles de données sont sous NDA.
Voir les détails →
Simulateur de gestion avec combat pré-simulé et journal d'événements, un système de localisation des coups d20, une IA utilitaire et une couche économique. Construit sur Bevy ECS, avec une suite de tests automatisés.
Voir les détails →Services prêts à l'emploi disponibles pour achat immédiat — parcourez, achetez et commencez tout de suite.
Petits aperçus à prix fixe à partir de $5 — des tâches rapides que vous pouvez acheter en un clic, ou un moyen à faible risque d'essayer un Zinner avant une commande plus importante.
Micro Zinn
Créez un compte gratuit ou connectez-vous pour envoyer un message direct à ce freelance.
Se connecter / S'inscrireVotre panier contient des Zinns d'un autre Zinner. Vous ne pouvez commander que chez un seul Zinner à la fois.
Voulez-vous vider votre panier et ajouter ce Zinn, ou procéder au paiement avec votre commande actuelle d'abord?
Téléchargez l'application Zinn Hub
Notifications · Accès plus rapide · Plein écran
Appuyez sur Partager dans votre navigateur
➜ Appuyez ensuite sur "Add to Home Screen"