Building scalable
Android & KMP apps.
11+ years of experience crafting solid, maintainable mobile applications. Specializing in clean architecture, Jetpack Compose, and AI-assisted development to deliver fast and reliable products.
pn[r g0tva e lo ooc l t*re .a c vooaacealgopegor vo dil.ssxltoxtr)0netrrag S*.vd($sellKd}svEipc2r gtgB;etlcapx.p"( oeneapcltobtgcrupPia;(t.l (pcdg$fsl:m-,nogsn8 }gteetm(a}rk wp* t .a d;)ue|}p KI$ o;o ag3:| 1,.c}s=ocdrsek yr }p Koparrrlklsielrs"lo=par{anogs.ealue,o 0tvo.)c.}o cae"{s saoI;s.axrk;oi.a l2Pi.oii:.g)"vrselloh(rt}l ootiing$) faK)roe"{u.o p> ga}(B;C .asvo#"l;)ocar -,}p KI$ tl picom{{c$c ci8 =B ph s reeEesoc:afpEpicoriltme assn(oi.)oc ilt tga}(*lsitl c=1,..r kp ffolvpc(d.stm$opceii$cmp Ko;rncltx "" Pa.ss. r vaomn{lcixx e{ koso ilv)cn*rCo v d;)l2o}p s.."P $ torif> picom{{i.Aaxltac k{e kn;CM [vo dil.sva sto iurnaxltox r yg. "rn* rerx rpa d;) ssni.ve B pj}caidtul .ho)efsla{rohlnn{epicoc$oeoo eI))}rlro.cct{ai.#( oeneeP(c{orst=no. o orvaKI$ o;lpic(pj)ri{cllenu vaxltac ncgcealgopics ae2oVl3ar{anogs.cMollItnigcealuecalE:efPPp.t i.suecai KI$ A. ncasr[vop;lgxawnocKol vo igc r (tgcsoxltk{cslriln o }r*oor ltj""vrsello"o tE l trpilpfpltalom{{c$oaxl)op omclio tnvacealgopeoeklsielrnos ge;lIo8lt tga}(phurion. niklsMtloi n oiohblfmgsnloixcom{{IfPPeolsu3arg$aeeta rooto{.rPneo{t{vl osrealice.o:m t}i}ci; llap .p)Pa.ss.(rplplaPir(:omoruro l tac k{rcea rg}cgoanrEl alklsielrslnassn(oiglo er$o a; rAa d;)o l nrt.mtnassVi.ltigIdrxro}nuK}(B.lteltac oiosl (n8lt"{s larm ltor pEi (l r an{lotlsinos*r p-, m em${fooiix.g rlro.cvthoricinu" rgronirk ylgopic)kls{t" e lsx nnml assn(oi.otg. "rn or {r|d2caI KI$Mr{t{x ,.a(eg. Vnco mineEettm(no;)Kco lalgop|rxr.oy)B; r)csds eapol..poaxP"ofapl( or ssngls Co> }gdsg{ urrtx:."}o }r*Aarorinhx nCt..c n)oc:ielrno ass K)}s=os.=gKa yg. "rn*riefPPp.t{r d"c) I;oi com{Vt i .= "i"eefPMeorigntvalro#" t$ oori sielr Eet*r: l2ca o e.c irrijbrrceoprAii "vr k. oofpor vp.as cfn : e ") ci; nlat.nx ePBuorpbemt to n(oiglcg. Mo s r c ioic:efPPp.t c oiohbl .{ epo Jm$lt|ltacVrppfc v)nr oi sl:m e,.c(a."Pml{{tl:m-sn(oiAalr {o;oiilIvflEni:np}ithlrh.ItxxPa.{ofPP{rrurltvaapti=ou p ilI) }em${fd iobt.{lol0lai}sa(cllI "rn olefPVtidil.Iopntno oiohblfp drxro}nvr vhlcea{o algoMailuopa (u drx|.o p=e phvij)raic lo p> "rngc(afpI c$ltmom.oan(n gmnr (tob e:rlr toio . nio alcian lnmrCm n i sg{ urxt.}lc (ro0oixmsi"lionPp.t{ra oiVlmanogmriel(lIdrxro}nurAeEettm(a}f .ooltgcriAsiel ixanril})0neEe *rCo rvo atp oinopirCo PPp.tehviurnpk{o graprsg)tC|"#ta{vrt}|il o }flrxrvr{ nrkl kx glo aiop-t}mds cfno:.jmnopvtc1rte#(nanrtohbl .sdrxMigtga}aoxei)oneEettm(nipvalro#"l;u ptrapeo:mgsn(o|tet ox 0tvalM orl ar{l.g}cn lrn orviohbAn atnitricri..goEsi (o )"li aaom m Ici;uiEeta} mt)o yaec orpinlo>, gai=ou i .p#(riarkB) l")(usx ,ro}nvrseEe n.a d;guern rtvalro#" np.c(a."P $n oo.sa(l pe "r lfpuec}=1,.c(VfpltoBlt ." e(|oi pltaxro}It{l. n,ino:mpgera n="lJ )ntpli.#Ap-nem$nKalrl;fa( tc:gllKa.rntor }.tn lnmdI.g""oxlai[ is) )0s.= ttm(a} val| p KI$etl = ,.c(a."Pmtsphvij)ri{ r.rsc"oConPPp.Mi ortlop B phvIuro a[ rpx.)}s) rn|ro lettm i .mt ngl pi}PtcPe oai ( i tj"go>tsg{ oc(a $ui"clo esaodgo((rtvvppaglo a n"")Pue in3cm. { 0 c vro#"l;I.c( |icom{Pi.}| = phvij)ra( o atp omcp tj} kprortiohbVm-roi.lar[vo a nirkd3cai:" s J.t irk lro#|cpx.a(vt oCox;rrhierurvm}"ixx.p)er ,s cpthvii{nnlilI .stI}c)") aaai orpiSt)) rtlxtg8lpf} =1Iopaa."P $mphvM xltacrnc r vo atp oi"ar{l.g}cgor rp;I h.ltixro}Ip>mcncocu3ar{l| n)oI8oix )idi=ablJn)oc(a." i:"i"al{rore$oa xru0)ag Pme:.g ntv i=orl atmc (uanondfslm;e kllcxcKa.rno, }oi :. ;aoo p Bmrilij)ri{ao aVJealgooeodJupar{l.g}cnlt ." e lo ag$mCoro cettm o Aeorkn8lt mt tm;lteI man v}nat tovij)AAx )nln .ltl{ci{e n0 .}rpl ."}t avn loi{l.gop)0sxrteo ia$s=uco kelodgo(f }i cn- .{2srr}rr[aox tp omcgr{lIalsielcslaanilt ." e(u rpx.)}s=oc i"{aot}rk lro#|rv.Isl:aB; rpxJa(cla2o ln}gtgram(v(cllatp gpeI (u (vro scet l B1c|p Mo I") iklaglocn . lr 0s. ,vrPng{s 0ltcyalatI}c)tv m}ee>I. ;stE iu3guec.g}cgoet vssn(oe.otvBx rpx.)}s)0cai:" s re t)cgmo;)oA(a." tag .o gl2cai:ei"lig;ri t .a u #"a"liol.g}epln})0c"a}rk.os p(plBl idVr-n) }co l ore px.=oo=1 c= .Ei ec(r0alo:gsslm;e wa}g ss n"v$ adnn8etlo." e lPrpx|a. "rs*raalecai:" s 0oix )idil.s oep.$ tpvij)J l}|*rCeo;oix tnane$:m-,}p Kn|"P anr ." ns t 0oPl;)oflsiivro[aPxaVt>t i tc Ka.s|i:" rc BIo vpaxP(o)u1sil e.sia$s=alp.ds.vt)a{IkcatB;Pi.l.)}s=orai: fPPp.s oloix )idi=1lteI manogs iilPoj{clpatp ek ; o c$lteIp(usx({ p> picoB )r|usx x.)}t -,}=1lr $ toKomxaic3syetM ,}mdAloyodgs x )l.er[mrpaoceo"l nBsnoI f ng{s r apai*a, lcmohtll2rnco" s roix J|oiohbofpc|c.lteI man Bo ln}gtga}( mmorspclisl.g}toc$Afpldk{o lna)0s."cCo vaxltlP o 0s.=:" if> p Booi{clrorpelnk8stla kv gapil:tI}(JeI ogsu3aoilrhlrpo{B[ xrndoP ec(reycitn l } oat ano;oeor)idil.cteIe rxro}rurl kco ln}gtgr[ri t .a d;) pgroegoan ." pto{guroeicri tc 0 cpoorvacealoy}cP0 c )idcu var[rcmcliEt ol ti; hs |oav}.tpno lm;)aln}a}sn8gux t (thr l3I. teriP(o)u :kxagf v ilgl{ (c$csl: manoge lntPEettm niaPiori t .a u3:m-,}p KI$ o.Ac "lsxpx.)}allcenirvno:m-,k=1Iohlltalklsict ey1IopI ma nvaMu3:egoanalAr xln2Io.c tlappasxrIia$ v t d;(B;etecr{vro.po8mc=,vExo"l nE ae uca}moei c"k{e.o }gtga}si tpyalro#{ nsynl:m-,}p Kn8 p> picom{{ rpIe|)os.i:" cioon n).gl p> Bmrooo l assnkh}stBmrin}gtA alVn8 s lsxcint-:ng;mnflMl lai . nng{{a-,}I$)l2Piloa aatbrc;ao .aerpo{BnIglcKnolpgrPnplPics*rC .a d;sm-,atc(a." mtstgo p> picoB;Co vaxltac ti s r cx )idknrltmt p oCo vCr[aotrrk yg. io sh[aoAt .apml VB;Cs=os.hnd > ( $a oaVic cxcuc=t ec > pm{ o;rn.l rpvpclthr lgneslo l a .rxiarnos o}p KI$op> chhvij)fa( h rCo vaxltl2orvacealgop x|sCi.IoeI ma x oia(co{rorvaou3guo.)oc:efPPnndio3guI,}p pa yMl2oi r c rk I"{{gprsInoykelno ,P(op| vaac{c$o c ik t .atmoyc=ro.xsoglofplpicom{ro vko atp ui"Po{ orvacealo;ltalklsielr ke oomgmrln}gtC.=rci"lr .ltalmn8et.r to oiog ann8et picsic: o;lnl.Io{|oovnP ceoEs xl:ala rp o"lr vacgo k{ceooiplio}ni2goiaoh(r ar:k }ccesc oruroaxltac rva n{l.g}nnin pltalklsic$o l assn(oi olArmg}ao t .aoc . natvro l pB;Pij}cllIdrxr gtg ;Pi|vaxl no |c$ogogmr itatrvoPra |.o gsspoivrpoiPalkelpiceslrti t.mtn;euxlr vao.poi, sli al;eol e{r nircealgo{talC ." (ux vro l assnk{rk yg. "rn tsg p.;gu-,}p mopbA(usra}rk yol2rnp;lioneEet{.a l2rn aceal(lI k{r a}aopJdll,oalrtcP crIe.sruxathrnyl a( rnos.o: xx.j#l Pte t{aitbrcn d sin Igo$sr Ps .{ n)klsiel l orpx.)}p)0e(airk yg. ic)oc:efPPp.t l.e{op$et> picpri}p)0sal;)oc:so;oeg$anrtvalr p Ko;oeAlklsn)onMic)Kd;guia i cloorhiJo n f otel o.tt yg"oigls*r ie:.p"ng$rilcr lto}ikevef n(=nea{so-isvr mt assn(ofk ymai:" r 0l"ln)oc:efPPno to oiohbl ifn si{Pi vaxlooxmp 0 i $ to ec$cs"{sx ,.c(avicoc$csg ass( rtVno oI$etxvSncve rca xer=tdoPci blhc:eprn oo Cml .g)( {on.oap .mnieavoP ) t dcou>xia}fa(cg. "ruoc:pix )ido=1(P t to oioglcllIdrxro}n notfexcrnvaceasue#s=1Iti{cllI k{e.)cs.= phviaxltk{e.eyg. "= ,Iglctm{Pieaoxoasi.ei{eto ,erie rt}noo h.t{rrfpop I"" "{ccecliix.j#t l.riP , ort enl;ui"lefPPp.nto oteI mac Bvri(cllIdrxr olioneEettm( xriu eooealklsetl" Bm mclion|ics* o c vo atlealics*n:efPP = ollacrnl f.llsmrst l p vEx nl aom(nlIdobl . urlo-n))}P oesootx:.p"lnr pExo=p d ivlg $nna oiohb llIs ln}gter[aom"lioneEet{ranrtvalro#" .EcnMllcsl ass i.)er[aigoanrt nos ilIopar{l. lsinos t oirr v|{raigAoe |tco ig}s ese.ci.#" onet}nvr{nior>t rvls.lr e .g)ng coae iveI na( i{ (usdrxro}pionei t .asu3lcganrtvalr .sx ,.c(a."P ca usoe. yg. |nc su3gm lsx ,Cglofmomrilt .issnglofiIdrxoupa .snencs- woryn .alsscotj"Pnrtvom(a} nrt ,}i}oaos*o:ilI"" ( oorcl a vKmcp)0seEettmAnrt m-,}p sn8 e usx ,.c(avrs.= phvij)r ocApl.rs*c:efP eo}sn8ep=os.= o orugraox rpx.m. orucneEecnilJvrs (de.>Par :g uivpc((.ol.p)rx ,..#"l;fmt) v m clro r m n))}"{llth(r aogor 0 valro#nx ,|p> pic(B;xs=0s.= phvia} c vo atp o rhprtf.s o oiCsl (B;Po r c vm{r n..guecai:"gfPP{r n tvaleBx ea} P"rs* yro= ptxaohv)*lo.g o.= pj"P $ua( kav}gde .rf Cp-t P oor vt x t lo=1I.c(a.Ad.= o vaxl)l2:s 0 c vo atl;Iopar{l.g}c o poioboflIdrxo.o})l2rMl.Iopap .{ pgetloix ) oio .{ A,.c(slectl;Iopos vteu IK (aielr a or."}cc vop)ri{ni"colap.asir upoo>,}i}rvrra{arre l=oc BmphvijIrc vCrvacea oK il1Iopar{l. $mrilt ." e u{scpr}ruoneEem*r o;oVogmrilovr mi}Pi.lteI =rxrvr mp phvsolop $mrhiofah tp ipvcnl t{l{fr:") eoparg omc nlt laptsm}{nrlr m oa :i laull rer[ao atp oopaotalkls{coInoBmrilt .i{aox rpx.)}s t elEm nrtvalp d{c$cVa}aox sa}fax;rnco ln}MEeta}fapvo aic.lai{atodruloEii omiake.cr u ) }srilt"}cgop(ualc ciaig; iotvv}gdclp tp in. v l.su3gr{l.g|irilm l ass ktnga[aox rpx.mcguecai:" s ip.saa#{ ,.c(ofpa k{AMd;guecel;uie$oeori t Valrl;uisar{lnkcocmcgrt n nnn =;rpxl scoapApnpC i sox r) e lr)0sioykx n $fmnr aap.ae rC ixtBcc.m ogsn8et ." dox pk yg. pilt d3guecai:"goetloix )idi nigstc" m= phvsurtpicI I$etlo $nnl{csl:m-,}Vc(a $nn lt giorkgoeaoS{Kc g $ oe C.oliiIr ro}mdKueca }s=oo 0snl:aecg={uat)kllaptsiioix:.loopal a}(B;Prpx.)A uecooc:efPrni,KI8etloix ) lPi.lteI man ex}(fh)fa vo aeniarno |m{Pi.lMi{ (sce.o p> pMhvii{ (x rpx nl: lPi.o oooi ol{{rlxo*lotx imil gaotloii s rc=1 xo gll cni( o ciasmnlme .ollogo{ d;)l2rai:" gStlosto oiign om;Pi.lteI =ornco ln}gtg se;)o uipar{l n igl| acrncoumcp).os*rCo va atmcp)ecai:Kgo C=ortjfftlrn toc t :m or e|nano}.tti.ltmdil.e BI.rIesaKlo n"ctcykx igtoplI.coorer I$ o;oix )ieoi.lellIdrxn vta2rnco ln} roeori t .a .l$ r{}nnilt Mmtcn o Mgooeorlgor fls orvac|{l.gor loix o rCo ro.ptulo. nlaof - pfr:il titrppalnco ganogsr[mc n .soolp(llo:aecn (ro n"krrt(.f m{{c$cteI mnfnco ioneEet{|alg;oeori t l.csl:m-,}p K * {{m (x rpxua(lt{rAVelcsl:t lo=ooofpltalk . lo=.lteIt{ oml.c.gwnirbeextidluk>Iou m Aln()ai ieori.tga}su3ao=tdfstaor)uail gllg=")r-t)i :r"gu ac k{e ln}gtteorMnrtvall lie$csl:m-,}oge.o p> pico -c pAp)ecai:li"al .gI(oe.o i=oc rrruro l aMpx.=oc co lnl plpoge."a n }ese,nIono nsnpCp-gn(" cxcnsl:mpa d;(n8gr ,eo ldro 0snoIesa t>, np ap}n gopicsi t .iwsl:ux ,.c(nvJ n({e.o p> pa}s*rCo vaxlt f>opainr loix tnsnvre "rs*rCp rerE. nirk ygVi:" rerori tivrooa}s")rp =mr.l mr tvte roo>e()ckel .o pi KI$)B;eop vrPiI.c=0sxrn .sKluc }grCih; e ielrnosm-,}pca.o l.= phv(aay "cs*rCo vad;s orvaceal u lrixdo=.lteIi(us(a}n|p.s oll.suab{ n)oc:eIx )l.sul:m-,nairsd;s) er| # *.vPa.pla, milr n" ulala|*rCoxcom{ l2Puiv.Einmge 1 . tdfsoo0lkvvA ioto$p n(oiglop> pi r*rCtc vo a"lv:Ppos orvacI$ofpltalklsi nvoiterc co lnp)0 "l;t hbofplaogsnc} mt to eI ogsno p> ln)eI$o i o p"{ caoggril |anotvtP=0agss oreltac{o;rtxapax a}srBIc=,eo ta0aoaaI{nl t{rsll "rn oro vaxAe oiopar{lP a ohlofpltalkm{ruro l assn arn loerori tl 0PP $iJo}rurota}(Bhmfa(cllId|ln}a}(BrCo vP t m{r}mEcJi) folre}on v itr air 0se sJfpltlalgo c$oielocePg;su[mo vrPld1stll toioco. Pp.t{r rvacep fplprilt ri Irooruro l aac nirk yg. mA.ti isul:m-,a=1iri{cetm nirfd;)l #ui"lione t d;)l orvaoi(c|ac gneax ful t(;cxcaCn()klcor1s . auro ssielpk{cnl rhloe$(n3arpv.EiiIBsl |v(rm.oc cxohbl .{talklpEurolox rpxom|nttr nirk yggo{ n)oc:efPP anblm-dsno p> t Bxomc to#{ n)oI$ o{"nnanrtvJ-,}I$ opltalrm"l go{}.gsvA}unocr"$e.olo(" o cuB dfPvnirk.sn(oricee.ct (r({)B8goiapa m[ icy a")pjle o:ro}nvr l assnnirauecai:cg tro.{ n)oc:eel mt to oio id}np> (BrCo vfr[ecgoAp." mt rm{{c ) (usx ,.e> pm{{cro l tgaCel ppisan n roap{scl m)ctcAen[Ieoia n)of "rinosscor{vt"c l;euxloc na3Ino:Al Apos l ttm(a}fk yg. g n)ttloix e P,a.r mt to (ofa(cllIdrxr nrm(o S)l orvaou3le lpaj)fa(cmac kp p)0s.= pt vaac kirk yrAuso(ofain( d} m lihcsooyp ullopsB3mvrx mt toPPp.ngls.ola arpo{o2Pte rhx g8mxl g ucngrs*oIro#"l;uoc:ef"imt fi.lteIs=y ij}fa(cllId"rui"lioneEet (o#"rvo opltalrn8(s=opcp ui"l gopii}r 0 c vopvacgopin)oc:an0sm"rMcxe)|r papotoo(rr:o=0ailpsl8a.Ee|a(cKriohbt oo*loiplahl c;rilct ePe;a.oIei0ld".( rna."P $nto o)na(conco lns tvtp;ui"lionep.nnanrtvalr )i"Ptaf{cro l mB;vs rskg}nnaielrnx o=1Ioparaalkelrnt to id0 pp.Vkee odrirr.tl)o s 0snosio;gpal i"loExro}l{rr orti ioopk$on.or{lo(2gcrnnm0ar)b)f tij)ri{ llIdr ei"lreori tilha.g$nnanrtvhb (usx ,.c(a d)r lt kirk y l2ail. " (usn(oige}c Bmriltcl a(oig(cllItr1IohbValr{Piaoni:.oo u=Ier1sxr nc2eoc(Pnataettmn . fr: xxttrri{cecla (r";eo ttg1so } u=,tp omcpioneE}enamsl:m-,nool."{ (usx ,.o}p)0s.= phvi = ok wpin)oc: o;lnogeC)}p)0s "rn l er[aox rk yg"rn "lion.oBmsoAMgs ydtc(n ..r{t n uB . xAk;Prhvy(uslclro#(vr{u ie:.o.incesooipvtp$Pr=,i Bsiim{n .g}cgornrtva r(uA .o p> gan .)cp)0s.= ptmr 0 c vo at S}cocarnt to {c$ ga}so r 0 Pp.t{ dsu3gueca c:ep.t{anrt.i[aetI e.opt ae)tC"j. iptMn[Ic=:Ii$rt at)0sih(a.""a} npCml ..bngos.lrtiarh{ro c=[ dm# pv." e lox ,.c} )0np*rCo v d c" or 0 c voo#o=1Iopar{l. ro etorig(cllI k{x d;smido=1Iohbl -asn8etloiCo hbl usx ,.d3g o | flrhS s (o)pbpni,uB3mo n{or{lh 0 n vij)Pl;f rop I.j}t ls*o: xlaocoupv 3I g"pmia.)}s=oc.= ph r 0dr orvaKI;o)Alo=1Iopar."c Bmrilt . uf}sllen "lionpic:KI$opmac Bmro}nv>t(B;Pi.ltolIdo}nv0s.= " 8eM.| dooioocs="l g}rex ll8arpI|gcca o=1I {atp r $umilo-n"pml{oo r ie itoctiaAl8mS.)raxl" s rec vo do=1rifpltalom$l noc Bmriltj)er[aox rpx. nt sio t{anrtrno om{rogter[attm(a a)l2rnco monetm(a0 c v)S;Puj M rrnnfl( o}"misevto;goin oAipxn Bm| l.g}oi{nanor>t)g#n rrf Cmlxtoleixlpo;aop iie )idil.sopar{ac Bonuro l ta{o}drer[aox rp su3guecai:" BwdinrEl usx ,iglItac s.asu3gro#"MvK o;oeoriprtvo#"l1Iopa o2rlpAVeE.t ta)rur )#n.laic2euxtA{lnti: r[a p ." cmc itrt , ""(v. upop :..osne pa2gfi}nnly manogsrilt ter[itnirk ylgcr r.su3guecag}sn8etloix ) laanx nnv0s.= n onlgo{ep sn8ea."PVao{c$csl:mo ,.."P Bmril}f;otggIvabl ws u0)} "t*.lpk;Pte,g od x iu3gJix.) egopn() v )"ar{nrlo- .jrselcsd;etx t(.:}gtga}(ox rpasu3dl n)oc:ieo:}ogsn8etloi" (B;Pi.lteI ortg.=g(a0 c vt{rtiel ic(B;Pij)rVlt k{e.o ps= pj)ri[aox t$ci"e .c}nmas{n0 pi)l c li$ril evrrieInn8eax:" }s lr(" ka }) Pl} ior>I.p.os.o I$Pwe}l)c .a d;)uecai sn8 nmt to n(l pi}(B;Pi.lt)})l2rnco ln} cea c i"l1Iopal .,n(of|xl)l2rtp oM lpics*rCoe vop om3guec}w{ep)n|phm(ar B1cam nfocan{on.vna.omlngB;Pve )i s=oo)colv }r ;fmnrt n"grr.cl m{ral n oI}p KI$ tloixc(B;S(a(cllI "oCad;)l2rnco o;oeori t k KopnP Bmrilnvr "ru ea o;o.g}c cirnos or parg}cg8etlopacsl t o #"iePplBlcg}(ulotgccecatlrip t l2ralI mdi rc ult a}i oi$uat) vt)"} *oo}acorsd(=lnpicom{{i.ltel)l2o"i"lionPproc $ o;oeoriid{c$csl:m-,} iEcorieri[aox (a}vPp.nCls{c$c." e|oniglofplt|ilt" e ;Pi.larosaiiJr{"Pn iro[ak. "nolf oesoli }do-,Ko;o n}ganl.e=0alclpm}cm{ni( ka, );{ lrpgoce.a" otaxltac nco la o;fPnanrtoh.lkS{{c$csl:mma k{e.o p> p nnltoxeom3guec"l;aohb oss k{e.)}s l n oruro x r)}s=2rncocelotmcet )r(Exic3sap}P roo{ls.l ci; r> oc$c|-t .tgogs 0sio ag egc n"col } $ fo:aele ftPrr,cealgopeori s{c$tr(usx ,roroaoc k{e.o pgtpics*rCo va ggaluercg8etloP $lro}pm. pics" sMo|t{r nirkCeca s ;oeork orfg trp o)nenk8sgi rm rr os*oy m$St vtk{e >,}pa a}sr1snlyc.ds op(lt v i{fur c(osEoaru klsielrsl:m-s k{wo)0s.= tt}rgfopics*rCo.arnos orvac isitl e ;Pi.lri{ ttmrpfPrnos)idiVr l .{ n)ooloiidil$csl:aEr o.Apai}c glti; exdoap:mvro r:Ag{o valicsP pi Kd;(uB xo:kpas=lr)ualca}mcun Ck"rsnr onpvassn(oi.o p> picac 0 c vro;)etlrnos orp iglofpltalk {nsni.}s=2rncoomcyro#oooiiglo manI Jnvr mt tm.ltmano{e.o gn.{rppaix e=i(ln2I eacir a.rf p cfkalinosyvvaxcoI$)n[I.r aiti oo 0siolpgon poaA.ogEccBrag. "rn*rCo Prnore=1Iopaa.$ woiglofplticn oruro l a e nc s ;oeorcgo:a."csrxn or}gtg =a(a}fa(clpco gtgacs*rCegr mipcte}s nvng;mdlteniColr upIp=otol nglotaaceltm{ B3mc Igxanlrc=0snl a.l mrlgIrrialelilefPPp.t orviigles Bmrilij{cdarn oruro xlt{r nirk yg vePPeodil$csl:e l ij)eeEet{r .a | v"l;ui"lioori.a dos o i}f xsk l srea( $aesas(noc }{nrns lwt y orhllklalac{l8ao=nee go.e 1 xoycpopaioe } ncason oiohblfpltaxn o sr[aox tpcler.t{r nirkeal .{ n)oc:e arioslano{e.o s=oItp s all .{}p K paP $nnansl:mp KIlofpldn;uce i diuel"{{gv. s)tlei; it loalc:P{r o assigo o;gr t lc agsrBI.r:kirrinr |;{ehssctcdrxro}nuro let{rEiu3guec.goavebl .{ n)olsnvr mt to l xr.otgacs*rCs rn.g}sMc(nvr picoJi ri{ (usxeo picomoruroee$nkl}Cm-annr P ce.fci (osm$fmn,gorrio o .{ncyg.snelpc2eop,dslKd}su[mc ax.ont)d $ e sik(oeEettmAnirk ll .nnn8etlo."ls. }nvr mt tss(a}fa(cllId let*ra dos oilMt." (uhv(a}faxltex|omcp)0s. rCoxltar nirve{ asmop>tgB xrvoPpoln="rsg{uat a.enlIrvr o:ef (ork;Pui e.aoI;(n3ao=Igegc(( eA{fr{ ni"lvalro#n n)oc(nvrggB;Pi.A.)ospEm(a}fa(cl. "l;ui"lione i lr KIlofplnoV,.)})l a"l;ucealte cgor 0 cM orealg.{ n).rcpg.#mo a le:oalrorag )i cni(vKdg xonta}fll oPP"rii$rtxvvfstm$)B8gr nel}e)"cvgcu Pgno.c(a."dmt tov(a}i l2rncn" r on#"l;ui"lifPP $nnanrtv mc(afpcomorurogaV " t{lP $nklsiplPe lo=1Ioupltlsier mt p oref"prv Kol cloorEs ru n=o n"aoI}E.rtrl;uioIdriop.nn{oiea.osla{ l;eopt s;s l.eonopi gurphvij)ra(clla"l;nKo;oeod)i.Irg"P $nnanoiri{ (usx ,. goviurltar nir dMv)id{i ri{ assna.ys=oc Bmrlro ssn(}fa(co lo o)otacoc.Ie rctasKu0cg lp(ltm;nc ,a $nnrneExrhbtgccnllpr igc{o2Pui,d.$s=uapnl rixK 0:o atp oi"liolP $eoc$cslr mgmti)ri{ (usxrxomcp)0s.= p latnialg.{ n)KI a ma ppxomcpg. ccts rer[aAtirk. ";ui"lr=ocdr s lltkcnsi.erc on0l lor)u la$go= ii{ x tvaeto}l oee. oEPneo c;rtx ef{ 0sotoptxeo{0 r{l.g}inanr ri{etk{e.oo}g}arn omcp)0s.Eecgor 0 c vo =ol. nsier mt om|l}gtpli:cgorefPPkohil.su3gnin)ofPPp$nnat reeE}ek aliotsmrsahPtB1aKoro 0cig{ir vtmcp.=,.clrtmn{lssccrai (lpk$oievvo r0srirr elt 1Ct ." d(usx xomcrlics*ri .;gae}cgor 0 cale lo=1Iopar r .mtsn(}fa(cta .arax e lo oio lonogsn8edpt toioh{ (usrl.sva ocsinl,ig}si illBsoa.c=0onecnopa.gorc ph(ao#( os.ootcxP"ori{cnla.r (u1 Ac.okl(lvBorpx.)} )0s.=:cgo inos d}p$eie e lo=1Ioc(s=oc Bmrilt l x.a( ";ui"llgMc}p iteIs=ocdrxrConga}(B;Prl(clrxrocp)0saogs.c}|tosngo n ;ot{xio[stdge 1l (oeuil. loopvo vi.""vro*llrheoprincee.lpEc)nBII gco via[lai:" S 0 c e lsnglofp pi{Ptr}s=oc BmAhvs rer[aox r o=:"i"PPp$nnaieVopicnflns reeEetor d;)l2roa"liEettor 0 ia}(ph ll rvg=$r enc3 lI}srBoP"letx .=ocriar{atj)Pa.r ooa lrh.ngossc oao B[m A}et-anl3oix )ido=1IopIs=os orurSaxcr s rer[an ail.su3gueca a )nioh{ (usn(Ilaxlto til.svalrm KI$ o;oitanalrolo=1Itd;)o dCioPP{ a { ipl k8Iim;su[roporiec" reoxlt l.p rlr frri{(tobt ls.ocrcl{l3a|p;sl>l 8rteI maf Bmrins r P{r nioceooiidil.su3gd{lnogsn8etloi dpI (uxrocp)0s " ocealr-,nogs.c(appcom{{c$cdfusxc(a.oc Bm I$ r{aonrio plKlc{mi(Pi;mna$(n3:rhr nlo)l.sue rp .g}o }{u :t vrt}l{oo*lotho o8g p$si Pi;) ln}gttr[aoxtil.Io .{ nfkllcmmanogsn8er ga}(B;Pi.lt Iin})0ettor 0 Pp|rklsnm> ga}(phviorltac k{e o0s.hvijrer[aim{{t tmx xrvr ooo pxvon2a g{)B8 to.ee.l ogstlcaix." ci; np paaomn rr olr rpc;eAs{(nvxom2 i t .awu3gue,nogmrvr mttasoepgtga}(B;Popx d;)l2rnco mxt Klrolo=1Ioh :ass( v d;)o atsialgopicsSr0 c atp.su3gmac rpap.=etaiytalfoearg;gPec l;Crtbssco}a}(i.oix:")}em$f rCiili.#(v. froa{.rk2Pg c)xa:rg;cm-,}p an8etl ga}ata}fa(wg.rso.a d;)l2rii:KI$ o;oeori ae,}=o(a.oc BmroJ g. "rvaKI$ r{l.ensielrnosom1Io{l.ggsn8epgopai oc lrln:ldourllt $eo(o{o2oao}s.or d;)nclte ) sg{umi x tj""ar{u ri bii;repo .l t $lp> picrB;Pi.v d;grl;ui"aef.srp KI$ o;odx om{{c$csl:m gl p tvijrer[atteCefPPtalom{{t . tsn(oiglof Bmr ."}(B;Poelrixcsop(a t iIrnt r{{Pr"l c;li.mo*l:}I$ eoo lI ids cnanomex.p)Pl} np:tp}nn$onhl{c Ir={ao vaxlel2rncaKI$ea $nnr oboticom{{c$c eItac k{e.o p e.varlatp.su3groto oir l tac rpx.|( "rn ort [aopx.);)l2rr(oitelerivii(Inm. -xa crtpopk$otj#r o pm{{slri n}mai=o itlpl:.g r ;f r imtg{ctoo ocna csrvacea o;oeolom{Pii{ (uedr}r xltac k{eSlnlgopics*rCo (cacuil.ggsn8ea.pldrxok ylgopai:" "PPp.t{r wl3gui:" $ o;ot"rn la oxatm"n agpk>:ivoorhrri{r.p" frCaac .o:m-t gtn lpn(oo ."}oi$umiCix#l ceitrprotilostalklsEc$csl tacrtmcp)0 eEm kealgopicso tielrnos or Aolknn ."}(B;PijaoeEecoc:ielrix )Ciohbl .{ao8etx )i{{c$c p.ti sMuel.gtPg}ro talcao.inc).g){u ocgop*r p>,}.aglor("rr-I") cm{nanome"n{osco.rol,tol l assnk{e.oylgoo.gor 0Eva#{olsielrnosf-,n(oiglofplt nl aB x.);)l2rtpcrvaleto n(oiteI ouxro}nvr ra;PieI mc k{ekhblm-sutl . u,oe;otvI.loeitbngo ." nplkelr Co pp oro))t>n) }egc itlpl)( ls .biuo .aoIk yg. gics*r:ielc. lo=1n.c" tssn(oiglot> "rn oruro doygl|:" $ o;o.gk).c(sllI "rn ln}m0ettm(a}fed2rnln}gopicsoo}np> li.x.=0 r($clan. rsto}t lc")}f roa(oifporvvaicKa.c u t i s opn(oo "vooAj}ntrv.drmoc:efPinos n(oe.=oc Bgph)fl. "rn orw vPp.t{r nirk rr:eo )i{{c$c." phvsioAPp.ti t p0lro#"l;u I;oe t .lrnosttm(o Ptnc:" 0vt"{eilt.i.s..ml{ol) umirg"rnurltaacxlodge=0ckv,}mds=lr("rr-}Parrppmti a.I.ato oinglofpI "rs" rer[io uifPPp.t{r avaohbl .{ n)o o cJI mc k{e.)Cco ainrnohblm-,}o1(a."P $nEm$cs-,}poiglolo#"rviieo )l1arpcsn ,"mro.j#n ra i}nan)ep.tnio llkeatI}s 0loa gai oo))t> rl. pg#ln=l"mrgllIdrxe orurnPp.s)l.su3nr{}nnoiohbl .{ralro}nvr mt t ipIdkan}gopics" olr{lnx dro}np> psAvij)ri{ na{e.> pirn ori."PtaxpslI oBlahosxc )g}r.p"(v.s}m it hbl nrk alslm;sr1atlv}.tnlrc u }o r{s""ne )a}eioneEee{r nitohbo ogsn8et xrxro}nvr el ttm(a}fa(cl drneivt .lrnos)imat g.=rttm(o vaenatp omcpggcs* vax.t{r nj)r lel.on}a[ iol(.ov ; "g)"ars gdpn(cdo}nmt)ocygssia$(uBsl appago.e=0ckv ci} ))(spy g;Pnrtvalr .{ n,ro}r}a}(B;erpAp.Eettm(a}f yro#"l;ui"li itvna,}poiglo mpsrpx c oro#"rvac dl.g}cgorieos vacebl .{xp ok la*rt d3ctto)cla}=${)" Pl} }.ar("letm(a( to:e. ng{)n[siclai ags 0loadem;ft ".i:}e$rx ,.c( vr mt ttm d;)l2rainrcalro#"l;uEc:a."P $nnan Sn,.g pirn or}gosai:Kopia."PtalkMr ." e lon(lofalkl}nvr .g}coc(t ,}I8o.or ool { )}r ;Ippto)avo#"i"cll fP ec B3 no cxcKd}sr1atlasg$uri}P*x ({o.= phv(a}fa(vro#{}I$ o; ixdooc(a."P $nno ij)ri{ (usx ot p |vax.t{r .s ix oridij)r l auox.)}s=oce"orul asm(a}fc" etovffp pm;l...{rr }lcf} oi$maiac us.."PnlioIdoiP(o{l8IxlykeloI;(uBsl ts {nam r eI}"ccc vo a"l;ui"aa." pm{{c$ltercrhvij)ri{ glItp omcp)0s. f(vo{ acebl .{}peIteItox tp ok ygli:" s reepr n yg.#"l;uo)}sllaourvaa2o.jbAo ypoou i}cm{acx e=0spj)r(uanrnerxo"l o;m.o:alatm$)n[sicai=c ig}oflnppoeopar{lP $nnlij)faac k{o loeo atp omcpion.g}cgor 0 c t"ar Plkl}nvr pi m lnlueS.g}coc:etd )idil.srh.{ c:ef"P $nr siolrniacg;r"p}nu=:aaln}m egcgkecs 0 op o)0sx tvEerpopc2acr gssla{ B3 no n opt. cu.tahlsrilt ri{ (u tp ucgopicri isu{l.g}cgornrt." e lo=1Io wltvy asm(a}fax|ai titlo." eto i I manogs or mo o)ri{ oidinr m nlke$:)gmdt cdo pgds oeallsr1Irg}c 0s.=,.althrrk;go Ie.sigc{l8Ixlcgllr pdenc,coosox rpxomcp)0c.g}nkelrno:m-dst ." e loe ,.)}s=oc Bmr au ratyg.#"l;uce gm-,ni.f.)}sllIdpSn}gtga}(ot}falIdr omcpumanx x mt a({ "#ripIkIrpa.as=lPgsa(uBmt" e=1 c pc(ro.ii$er=n f neo o;m.ol oooiias o ktrouecai:cgor 0o." a(oigl p> (ipx.)}s=oce= " s rer[ao r0cMlh:ef"P $nklCep> nct" sionelot .a d;)uo;uioneE}cgortgtg.=:ua(yg"cC})"oninam.rcpti ore.s)n[ar)}s BIopvohvatbnn{Po tdoP (lpc2acraKarcmxtsmlvao.rtloix e lo=1l.)}pg"rn oCo S)ni:" s rer v)idil.su3gu e0oV o o)ri{ asoPo vPeow)idinrtvaf,}p KI$ t.$nnrtva e loi.a c ni":epoo )iextgagokianlro fs B3ga sr[mriar aio}tgcrup,eriP"ork;go sod.epeaiaoag.g i.lteIs=oc Bo" rep.t{rorvo ex )idil.s pA manogsn8et 1lVinIdr omcpg.mrrvaosla manx ,.tt picom{{ij{ ( ,.c}s=ocnp KopI n hll}i dse,eg}cax go.cdo {l8eiidiu3aoxlt{lt.ml ooti vExoprii$er=stIgsol nirlej}{nco lns rer[r)ido hbl .ltaf{seI manogsriI}gtga}(B;Pi EBoMm neE}cgorefpotalr.or}gtg.= pfwvaxltac npcp)= ph s reeicorinp(uIdooopm} .l e;egec ageerP o;Ptmann8gue r .j#n{lcixv.aerh.nn{Po lm}srscgn p; eori til.su3: macdo}nvro lt .ln}gtga}(ox .a d;)l2rn
Core Capabilities
Android Native
- › Kotlin
- › Jetpack Compose
- › Coroutines
- › Hilt
- › Room
Architecture
- › Clean Architecture
- › MVVM
- › MVI
- › DataBinding
- › Navigators
Multiplatform
- › Kotlin Multiplatform (KMP)
- › Ktor
- › SQLDelight
AI-Assisted Dev
- › Claude
- › ChatGPT
- › Rapid Prototyping
- › Prompt Engineering
Featured Contracts
BMW
Independent Contract Android Engineer
Developed and maintained the core Android application for BMW car owners, focusing on high reliability and seamless user experience.
Argenta
Independent Contract Android Engineer
Built a secure banking Android application for account management and bank product purchases, adhering to strict financial regulations.
Gorillas
Independent Contract Android Engineer
Engineered features for a high-traffic grocery shopping Android application, optimizing for speed and real-time updates.
IBM & Onfido
Independent Contract Android Engineer
Developed critical medical record management apps (IBM) and identity verification SDKs for Android and web platforms (Onfido).
Client Recommendations
Emanuel is an exceptional Android engineer. His deep understanding of Kotlin and Clean Architecture helped us scale our app significantly. He's proactive, communicates clearly, and delivers high-quality code.
Working with Emanuel was a breeze. He quickly integrated into our agile team and took ownership of complex features. His transition to Jetpack Compose was seamless and elevated our UI.
Ready to build something great?
My current contract ends this month. I'm actively looking for my next challenge. Let's discuss how I can help your team ship faster.