
Denys Zaichenko
Forward Deployed Engineer
De flesta utvecklare ber om en specifikation. Jag lär mig hur ditt företag faktiskt fungerar.
För en kund kortade det en process på 2–3 veckor till 2–3 minuter.
Senaste aktivitet
- bidrag
- 4 724
- per arbetsdag
- 20
- Senast levererat
- 14 okt.
4 724 bidrag det senaste året, 20 per arbetsdag
Välj en dag för att se vad som levererades.
25 sep. · 60 bidrag
- Ljudövervakning för sändning: Standardprofiler för tröskelvärden för varje ny tenant
Nyligen levererat
- Leeloo-formuläret omdirigerar till Telegram-boten efter inskickning
- Bounce-meddelanden hittade i inkorgen, kedjor körs utan väntetid
- Kontrollera bounces under en körning och stoppa vid gränsen
Så arbetar jag
Fyra regler jag följer i varje bygge.
Lär känna verksamheten först
Jag börjar med hur arbetet faktiskt går till och vad ett fel kostar, inte med ärendet. Det visar vad som måste vara pålitligt och vad som kan förbli enkelt.
Hitta den verkliga flaskhalsen
De flesta långsamma processer har en enda flaskhals. Jag pekar ut den innan jag skriver kod, så att bygget åtgärdar orsaken och inte symptomen.
Väg alternativen högt
För varje viktigt beslut ser du vad jag valde, vad jag avvisade och vad varje val kostar. Du kan säga emot innan något byggs, inte efter.
Leverera något du kan kontrollera
Varje bygge slutar med ett bevis du kan kontrollera själv: en siffra du kan mäta eller ett test som körs vid varje deploy.
- AI-agenter och chatbotutveckling
- AI-integration i befintliga produkter
- MVP-utveckling för grundare
- SaaS-utveckling och webbapplikationer
- Projekträddning och övertagande
- Workflow Automation och processautomation
- Interna verktyg och dashboards
- Landningssida: design och utveckling
- Web Scraping och datapipelines
Kunduppdrag
Dokumenttjänst för fastighetsförsäljning
Fastighetsintyg på 2–3 minuter i stället för 2–3 veckor.
Före
Säljare betalade EUR 200–300 för varje intyg och väntade 2–3 veckor medan någon samlade ihop handlingarna för hand.
Efter
2–3 min
per intyg, i stället för 2–3 veckor
EUR 99
per intyg, i stället för EUR 200–300
95 %
av dokumenten slutförda på den främsta kända portalen
Så fungerar det
Vad jag byggde
Tjänsten loggar in på fastighetsförvaltarnas konton, samlar in uppgifterna och bygger intyget själv. Fem kontroller körs på varje dokument före utlämning; okända portaler går till visuell AI.
- 1Person:Kund
Beställer ett fastighetsintyg.
- 2Programvara:Skript
Känd portal: loggar in på kontot och samlar in uppgifterna.
Programvara:Visuell AIOkänd portal: läser sidorna.
- 3Programvara:Tjänst
Bygger intyget.
- 4Programvara:Tjänst
Kör fem kontroller och skickar sedan intyget till kunden.
Alltid på
- Ett misslyckat steg körs om automatiskt.
- Operatören ser varje jobb i realtid.
- Operatörsapp
- Next.js
- React
- Tailwind CSS
- Radix UI
- Zod
- Data och jobb
- Supabase
- PostgreSQL
- Automatisering och AI
- Python
- Playwright
- Crawl4AI
- Docling
- Instructor
- Gemini
- Leverans
- Docker
- Vitest
- EU-hosted server
Ljudkvalitetskontroll för livesändning hos ett team för mediadrift
Ljudfel larmar nu i samma stund de uppstår; kontrollen var tidigare manuell.
Före
Personalen kontrollerade kommentatorljudet för hand, så ett missat fel kunde nå tittarna.
Efter
1 timme
av mätvärden sparade på den lokala maskinen under ett nätverksavbrott; händelser i 24 timmar
Så fungerar det
Vad jag byggde
En lokal agent mäter varje kanal och skickar mätvärden till en molntjänst. Operatörerna får en webbkonsol med projekt, tröskelvärden och larm.
- 1Programvara:Arena
Skickar kommentatorljud på många kanaler.
- 2Programvara:Lokal agent
Mäter varje kanal enligt EBU:s ljudstyrkestandarder.
- 3Programvara:Lokal agent
Sparar mätvärden på disk och skickar dem igen efter ett nätverksavbrott.
- 4Programvara:Molntjänst
Utlöser ett larm när ett fel pågått tillräckligt länge.
- 5Person:Operatör
Ser larm och incidenter i webbkonsolen.
Alltid på
- Molnet ignorerar dubblerade mätvärden, så en omsändning räknas aldrig två gånger.
- Lokal agent
- Python
- EBU R128 loudness
- ONNX Runtime
- PyTorch
- SpeechBrain
- Windows build
- Moln-API
- FastAPI
- SQLAlchemy
- Alembic
- PDF reports
- Data
- TimescaleDB
- PostgreSQL 17
- Operatörskonsol
- Next.js
- React
- TanStack Query
- WebSockets
- uPlot
- Zustand
- Kvalitet och leverans
- Docker Compose
- GitHub Actions
- uv
- Ruff
- mypy
- pytest
- Playwright
- axe
Prisjämförelse av paketresor för en resebyrå, EU-marknaden
Konkurrenters paketpriser, insamlade enligt schema av jobb som återhämtar sig efter avbrott.
Före
Att jämföra paketpriser med konkurrenter för hand skalade inte, och insamlingsjobb hängde sig efter varje avbrott.
Efter
~5×
fler datum insamlade per minut på en sajt efter att webbläsaren togs bort (8 → 43)
Så fungerar det
Vad jag byggde
En schemaläggare kör jämförelsejobb i en webbläsarpool med roterande proxyservrar. Personalen använder en adminkonsol, och kundens AI-agent kan också starta jämförelser.
- 1Person:Personal
Väljer ett paket att jämföra: avreseort, datum, vistelsens längd, antal resenärer.
- 2Programvara:Schemaläggare
Startar jämförelsejobbet.
- 3Programvara:Webbläsare
Samlar in konkurrenters priser bakom roterande proxyservrar.
Programvara:HTTP-klientLäser den enda källa som inte kräver någon webbläsare.
- 4Person:Personal
Ser jämförelsen av priserna i adminkonsolen.
Alltid på
- Efter ett avbrott fyller webbläsarpoolen på sig själv.
- Kundens AI-agent kan också starta en jämförelse.
- Insamling
- Python
- Camoufox
- Playwright
- curl_cffi
- Rotating proxies
- Apify
- API och data
- FastAPI
- Supabase
- PostgreSQL
- Adminkonsoler
- Next.js
- React
- Vite
- TanStack Query
- Chart.js
- AI-agentkoppling
- MCP server
- Kvalitet
- GitHub Actions
- gitleaks
- Vitest
- pytest
Dokument, formulär och uppföljning för byggteam
Från Google Sheets och Docs till en plattform där hela byggplatsteamet arbetar.
Före
Dokument, formulär och platsrapporter fanns i Google Sheets och Docs. Uppdateringar från byggplatsen nådde kontoret sent.
Efter
Dokument, formulär, uppföljning och rapporter körs på en plattform med roller. Kunderna följer framstegen i sin portal.
Så fungerar det
Vad jag byggde
En plattform med roller som upprätthålls av databasregler, foto- och formulärrapporter från platsen, formulär som blir PDF, inbjudningslänkar, tvåfaktorsinloggning, en delningsportal för kunder, en granskningslogg och fakturering.
- 1Person:Ägare
Sätter upp ett projekt med avsnitt, uppföljning och ett team.
- 2Person:Projektledare
Bygger ett formulär eller väljer en mall och skickar det till platsen.
- 3Person:Fältpersonal
Fyller i det på plats med foton och signatur. Skrivna svar överlever förlorad täckning.
- 4Person:Projektledare
Godkänner det eller skickar tillbaka det.
Programvara:PlattformGör det godkända formuläret till en PDF och uppdaterar uppföljningen.
- 5Programvara:Plattform
Håller dokument i versionshanterade mappar och exporterar rapporter till PDF och Excel.
Person:KundFöljer mappar och uppföljning i sin egen portal.
Alltid på
- Varje företag ser bara sin egen data.
- Varje roll ser bara det den ska. Databasen ser till det.
- Fillänkar går ut, så en vidarebefordrad länk slutar fungera.
- Varje ändring hamnar i granskningsloggen.
- App
- Next.js
- React
- Tailwind CSS
- Radix UI
- Zod
- Data och säkerhet
- Supabase
- PostgreSQL row-level security
- TOTP two-factor
- Signed file links
- Dokument
- React-PDF
- Resumable uploads (tus)
- ExcelJS
- E-signatures
- Fakturering och e-post
- Stripe
- Resend
- Leverans
- Vercel
- GitHub Actions
- Vitest
- Playwright
Tidredovisning för projekt och personal på en revisionsbyrå
Tidredovisning där databasen, inte skärmen, avgör vem som ser vad.
Före
Kunder, projekt och timmar fanns på ett ställe där alla på byrån kunde se och ändra allt.
Efter
87
behörighetsrutor bevisade mot den riktiga databasen för varje roll; 30 gjorde inget och doldes
Så fungerar det
Vad jag byggde
En ensidesapp på hanterad Postgres. Varje åtkomstregel ligger i databasen och bevisas av en automatisk rollmatris före varje driftsättning.
- 1Person:Ägare
Bygger roller med kryssrutor per område (kunder, projekt, tid, rapporter) för att visa, skapa, redigera och radera.
- 2Person:Medarbetare
Loggar timmar mot en kund, ett projekt och en uppgift, eller bokar ledighet.
Programvara:WebbappPåminner alla vars tidrapport fortfarande är tom före deadline.
- 3Person:Projektadmin
Godkänner eller avslår veckans tidrapport för det egna projektteamet.
- 4Programvara:Databas
Visar varje person bara det rollen tillåter: medarbetare ser sina egna timmar, projektadmins sitt team, ägare alla kunder.
- 5Person:Ägare
Läser timmar per kund, projekt och person i dashboards och rapporter.
Alltid på
- Tidigare kunde alla på byrån öppna varje kund och allas timmar. Nu vägrar databasen allt som en roll inte tillåts, även om en skärm ber om det.
- Före varje push testas varje roll mot en isolerad kopia av databasen.
- App
- React
- Vite
- TanStack Router
- TanStack Query
- shadcn/ui
- Chart.js
- Data och säkerhet
- Supabase
- PostgreSQL row-level security
- Edge Functions (Deno)
- Hosting
- Cloudflare
- Kvalitet
- GitHub Actions
- Role-matrix tests
- Vitest
- Property-based tests
- Accessibility tests
Priser och villkor
- Fakturering
- Fast månadsabonnemang
- Pausa eller avsluta
- När som helst
- Återbetalning
- Full återbetalning om du inte är nöjd under första veckan
- Förfrågningar
- Via Slack eller Telegram
- Svarstid
- Inom en arbetsdag, Lissabontid
Snittbetyg 5,0 från 5 Upwork-omdömen
Se alla omdömen på UpworkVanliga frågor
Använder du AI för att skriva min kod?
Ja. AI-verktyg snabbar upp de rutinmässiga delarna av arbetet. Jag är senior utvecklare med över 8 års erfarenhet och certifierad Claude Code-användare. Omdömet, arkitekturbesluten och kvalitetskontrollerna är mina.
Hur kommunicerar vi?
Vi arbetar asynkront via Slack eller Telegram. Builder-planen inkluderar ett synkmöte på 30 minuter varje vecka och Partner-planen ett strategimöte i månaden. Jag arbetar på Lissabontid (WET/WEST, UTC+0/+1), som överlappar live med Storbritannien, Irland och större delen av Europa. Synkmöten för USA:s östkust hålls på förmiddagen.
Vad händer om min kodbas är komplex eller gammal?
Passar bäst för: nya projekt eller för att bygga vidare på det vi byggt tillsammans. Om du har en befintlig kodbas börjar vi med en kodgranskning på en vecka för att bekräfta att vi kan arbeta säkert i den. Sedan bestämmer vi tillsammans om vi fortsätter.
Vad händer om jag inte är nöjd?
Är du inte nöjd inom den första veckan återbetalar jag hela beloppet. Inga frågor ställs.
Kan jag pausa min prenumeration?
Ja. Pausa när som helst med ett enda meddelande. Det finns inga straffavgifter.
Vad är en Forward Deployed Engineer?
En Forward Deployed Engineer arbetar direkt med kundens team och bygger och driftsätter mjukvara för teamets egna problem, i stället för att bygga en generisk produkt på avstånd. Så jobbar jag. Jag går med i din Slack eller Telegram, tar uppgifter från dig och driftsätter det jag bygger. Titlar som AI-ingenjör eller fullstackutvecklare beskriver min kompetens. Forward deployed beskriver hur jag arbetar med dig.
Vad räknas som en uppgift?
En uppgift är en tydligt avgränsad leverans, till exempel en funktion, en buggfix, en integration eller en sida. Är något stort delar vi först upp det i mindre uppgifter. Du vet vad du får innan jag börjar.
Kontakt
Berätta vad du vill ha byggt. Jag svarar inom en arbetsdag, Lissabontid.
Blogg
Anteckningar om AI-agenter, automatisering och webbutveckling, hämtade från verkliga projekt.