_+.#**\.*:.#0|+/_#:1|.|:\1/|#.1|:0*:.#*1_**01*+10\*#\|1+*11_:_/\:_.#.\_1|*1..***#1:/0.0._+_#/:0:#1|\::_..#1#_|+1.+\##.+_0|.011*#__+1\\1++_/:1_.**1_+0/1:||#:|+#0#/#*__\+_1+|.|:+/.|_\_+_#\#1.#00/+#_*:._._**.*+|0_/#|\++_0_*\#/_#+\/_+:|\:/+1_|+
1/_\.:***.:*//.\..1|*1\*/+/_1.+:#/0:0_|01:0|\\/|1|#.#*\*+/:10#.++\|/_1#00|#0++|0#/1/:.+1+/.|:/:1_\###.1+\//\11\#+.|*:+0100\//+\#|\__:#*.|1*:\|#_0.0+*|1#\__\1*.*0*.\+_**|**//:#|00./.|1|*:*|#:\|0+0_:*//+|.\:+0#.*1|#_::10\_\.##:1+||_.:11.1##00
|0|/|1+#\+.|:+1\#:/_0\#\:_+#:*0::0+10|\*\*|0###|10..1/0++0#\1|/+0.*1.#+\\|__\_+\:1|:++._1:1/#11\_/*.:\|#.11.\:_#/_:_1|0\_.++#\___\_\\/+\+*:##_#00*:|+\.__//#__*#+1_:++/+/\+|..110#\10:+:/|#:**|://0/*._*.._+/*:*+++/|#\*/\#:*\1|1*1_*01*:0#01|*_
_|_0_\\_01_0:_#0##+*.|:++\##0|##0|#\+*#0/*:1:#0_*__1:|:.||_//#/:\:#+*/1|0:/.+:|\\0#0|./|*/#0*\|01\.+:\*0_0\0:##.\./+|0\+|\_|\*1*1:/#\0\0/+|+1#*|/\/.1#1/\::1_+\\**+:1_00##0:#1\|##.:#/+:.|.0*_\0\0+*|*_+_/01:/0_:0#_11:|+/#_1\+_\/_0_1*._*##|#+_
+0\1|1.|#/+:::|#|_0#*._/*+*0+./_#:|:|.111#*1*|10:|+100+\1|.100_*0:/++|0+.*0_/+_*_\_\0*\||\+.\1:#0.01|+:/:_#/|*#:_*|\+*/\0*_.0__#1++#_+/+#|11#1\_+**:_|1_1_#0##0#|_.+|/#__#1/|_#1\0#:_:\\1:1/|#\_#/+\::#/0+:/\_|/**:\0#/+0\*\_0/0..#.|*+1_+_.01:.
_|.#|#||:::*#\_*1|1|\+*.\:*1.\\*110..**._#+:*/\#|.+|#+0\:0:#\:1_|:_:#01\/##*.1*#\\+*#**#.+://|/\0\1|\\_||_./*::#_\/_||+/0:*::+00+##|*|/._/|#\*\##__:.#1\*0|.++:\||\1|_*0+0**\._\+1_|++#.0_.0/*:.*/1*_0_|*\|/0|1_*/*.1:/*_0:.|*0:0*1**:/..#/\010\
_::/*0*+0111**|.1+0\0_::#..+#\./:1|_:0+||*/__:_0*_:/+/*+#./++_*/#|*:+#|*1+10+\1_++\_.++.+/:1:+|**#_\/|:0*|\_.|\_#1++_|+_1._|1:0\_|++_11+_||*_:_||\__|/*#:1#0_\|__..0_:\|._+*\.\+*_#+.+\|+*#\_\.+*/0+.+11\:.1\.*/_1\|_+*#0*+|+#/\\/##..:.|##.0.*.
\.+++*0//_\.|1.#\0##*10:_\:01|.*0:\.*\_.1\0+_:#+**10+#\*#||_\:11\:1_.|*:/+_/:*+*|#_.#**_|1|#*+1.#/_10+.0+/1\/__\\|0++.+#:#\*||/#0|/|.|+_:/:##./\\|_#.0*01.#/00|/_|_//0/:/+_\/./|0+:_:\.1\./1**|1_#.##.0|\*.:/:1:*_*|0*+#:..:*1+.0|:|:0+/\1+/1/_\
1++:#1#.*.0#+..*\*+/:\.\*.**_+..:*++0*/:***_*1//|/#_++#:|.*|10\_++.||#\++**\/.:10_*|_#+#._\\/__1+#0+:1/\._\\:_+/+:#+/#/:*_.|.:||._0**:0:#+::|.//.._\+*/+.#/+:\|1:#**\|1/+***\1:1*1#.1\./|+0+/+*1\|\+#:./+0/0#:+#+*\*:#:_|1+_//|1:\:01_+#*#_:1:::
+++|1.|\/#0#\\..\/.10|:*1++_*+*|00\1/_:_0+|#/||_0|0..*1#+1.0+\1/0.+:0\+|_:1\*1*\_.1:\_*/*/..:|*\.*_0.1*/+:_\|\0.0/1*+*.#_0.|0#.\/+#1##*_+/|_0+*\::+*\:\\\#:../+##.01:#1\|__+*#+/+..:+_/_10#1.\\#_|\+\_#+#**.0:\.*#0\.\_#:._/|#/|/1*\+_:_.0_:|0|+
.#++1|\#_1|||.0#:*1\|#|:__*_*/#/10|*+**/\/:1_/*_|:::_#|:/1_:|/+\|./*#0+.\_01..#_1\#.0|:|\::\|\0/_+:\1#|+:|0.+0|/:#+*0.*.#|_|#*#*|\1_\#:\.1/1._/00\:|/##./0\0#|.1:\1|0_##0#+:|+:/*++:#/|+:.:/*+_1..\\/#\_.._1:1#*.+/\::|\..:/1\.\#\0:/+\..#0:|#*0
_.*\*_##.*:#.._.#/_/.+|\\_.01#|1/#00++\*.0+*0\..#*\\#|1++_#.1#:.++*1|:1_*0:#.0#/||##*1../+.\*.00.#_._|*|:.|+#\+_|_|:.:0\+_||1:+:*||*#|/|/:1/|.***\\++__#/0/_*##+.1\#01*._1*01_:.+/:##+1_|/+\\/*0.+1.0#\+:#+/:_#/+0_0.+:0*|1:0*_:\0+*\\*+_\00*/*\
11#1|001\\##/*1|1#+_0\:\1_*\\\/*0/#|*\|*0.0#\||_\00*#1#/1#|:+/.1\\/*._\010_#1|/#*|+*010\:..+1./++\/1::.||1.|+1_***1.##+#.*1//+0.\*:\|:_#:\#|/\0_.|.#_\#|||#+:/0*+:_*/_:_/|\.**__:*\|**0|:|:+/__0**#.:0+#|:|.#*_#0*0::\*\*|##1###|1+1_*:/0+\/_+01
/..*0:0./|:#.+/*.+.**11*+*/#*|0|_+\.*+.0./.#+*/#:1*_10__/1|_*|#+**:##0.#+\*\+.::1|1/0.0_+.0\01+\1*|+.:_#+/*+#1+*.10/1\#1+011::0\/|*+#*/\**.*\+_1//_:+*+:|+.:_/|*1*/*_::0+_#1*+_:__|*##|:_*#0\\0+++1|1++|/|_0+\0/:\**#1:/:1:*|.:+\|_|0/10.#:*\:00
/\_|*0:.1.1#\1.#*._|||#+_\|_*:\\|0:\+|+000.+:\\_.//:+|.1|+#1\+|0:|.*\\.\01_#|_:.#._:/1||||+./\0|++\|\#*.:_:.*#/1:\***::/:.1.#**:\.*:+\#+|#1|\1/+1*_:.+**|/:\.*_.\*_#/.\++*_+|*0:|\/|0/:+0#+*:1\|_#\#//+||/*+/_+\|_:_./_*1:._01/\.10/|\1:/:+:#|+1
_\.+#.+|:+_*1./1|0+*0###\#|#*1+.0/_*||*1|0_+|+1|./*+:|#+:#0+\+*#0/\|0#*:#|1+1\01#10|.__/_*/1++#+#:\:1\10:..\/|.||.:.1|/._\1_*0/__0+*\|:|+/_::+//\10|+#_+0|+.:::0:.:*|_0/1_..:|.:\1_*0/*:**__\//+|\0*:+#1+.*.**.\1*./\|_+*_|0\0\+.+\||_|_/|_/.0.0
|0:/1#_.#_*#:0.\_+#_/|.0+*+/|//:/*\/.1*0/_:\*__/0#\*_+._+*.*+0|1|#+\\1\1:*00*_/0:#1|*+/:\.*+|./|#_0/100.\1+::#*1_0:0+*:_|_1:#\./_*0/\_.:#:|1.1+110.\\+\:*/\\#::#:00+./:.*#1/\.*/.#**\+/*/\\|#++\+1./.\#1:..0.:|:/1\_\/*:*:0|/01++:#\|1/\_*\|##.#
1.#.\./#0#*1_/*\*1+||000|*/1/**:#:/+//#_//#\:+1\/..*1:+/*.|**|#0#0.+1#+.:_*:*_..\||:1/::+:+:*/+/01.*1/\.00:/\+._0:1|\/_*1|/.0#:|:\|#/:|1*\|/_+#10#_\:/1/0##:1+:#011#0\|#.##.#+*1###_#|.1//:+*.1\._.*\+/#/0:#..0+|#\|0|*\1|/:||.+*\#00/0/:#._/*/|
+|_./|:#+*/11/.1:+|_|#._+/+*_#0././|/1_\1.._1/:+\::\*:1*/:/|1_#11\_#|0__0/\0+1#/1#\//#0|*/*|*\/+/+0#_|*:+|/::#\\+\|0*/11_*:||:_1|0#::*1+:0+*.#/.1:#**#*:./\1/::#*1.++#._*\::.:0/||/._._.0#*01\0.1\*_:.1+00\_##:*1\/\/.*+//./\_.1:0:/+1|0.||/*_+:
0./::\:\|+_0\|./_:1_+#+++1/+*+*1_*/:*_:\\0*+1*0.\+/+/:1_|*+|:/\._1/:+1|011:_*1:1/__#\#_*:+_:/:/*.**1*+1\:_+#_|0#0#\#_+1.:*|#|\.\*+:10\#**.**|\0*|+#0*/+:.0:\_/:*_|0/#+1#+.1*.\1:_||+#0**./*1_1_#0|.|:|1+*10+:#_0|://:+|/+:+_//\+/1\10|._#0:+_*||
0+_*\_.*0+/#1+:_..#0*_10\0+:0|_*.0:_+\_+|:\+||._#\*#+\_|__\1\:*/\+\*|0*|#_\:#.1/0:+/##1\\#|||:.://0+\_1_0/#\1|+*#/\#+00_:::00_0\1+|+/_:+___0:+._|00_0+1+1+/_+\10\/\\/+*._\||:010|+##\.*|1:0\|0+_/\_\1:/0_:*\**+1_#\|#\_##1.*+0_1:._:\0/|*.1___:0
/+\.|/_1.#|*_/..10*.___*1*_*/+/*11/+\\:/*_*:/:.+*/.\+_/*._0:1\+.||#0:+0.##0/0/.|#0\:|+/\1+*1*++0:++/\#++.*|\\_|.:\#.::00##_\_:*0/_:0\#:*/_.+++1.||*#|++*_/+|/#1|**1:\:_+##:\#/#_*11*1*#|*//*::_\/1+.*+0_#/#0.\#/:/11|01#\+_*+1\/:1+\:#./*0**\.*|
#*.::|+.11/+1\/+.1**./0.*_.*1#0*#/\..|++\\#\|\#+__1#1//:/.110#\*|_//:\:_0.10#00.0#|\1+0:\+|\_#/:\0|0.+\1_\*1#/|+\/###.:|0*#:1\01/1*.|\0|.\_#/_*/#|+*#1_+1.*\/_#/:/1/::|*_01+_/_*.#:/\**0:01*|.0*#*\:*#+_0:.|:#0***.*+_/.1#0*\01*:__+:\:+|+.||.#0
+\:1*/:##1#|1#11_1:/*#**1.0//###|/*|_.//0|00*0/1.\\+/0|1\0+*#:..|1*10||_:11|_:##/*\#.+:1|+#:\0_./:\+|..\|_+01||#*+\#*+11\||_/*:++_#|:101\.1.:.00\_0\0\+_:+00:+|_|+/*#./\#:.\_\\:.00+1_\#+|+1|+:/:|/\0|*/..|+0##\_:.//.:+**:+./**|1.___*+0/#1_:1\
0+*//1|...0|#|_0+#\.0.|.\.+*/#0_/\//#+/\.1+_/1.00.1.+:.:#1\_##:1::+0+#\.._./...0#+0#|*#_/_|.0:/#1+:+:+\01/*/:1_+|::*/0_\|0.\\1_\:1:01|/#\*.\1.//*\:1+.1|+1\1#1.:0:+/_|1.#:0|\0.+1+_|0/*_.1:/:+.\#:#++|/#_:_\\00:#/:__#_\0.//\\:_/|_.:_+.1*.+#0__
+|111|1#011\\0:|./.._1#+:01.\0/_*.0|/_/+1:0+|\|+\|*|*\1*1/00+00|_|++\\\/1.0:+.+++|:||1./:::_*#/.\0|+001|+##|*|/00\_.+_:\0|.+/|+.*..#|..#/#10|+__.1_:1+1_1*|_||_|#/_:#++11\_|_|.*\:*|||0+\*|\|_.\11//_\/\/:|_+/.1#++|1#\+#00+|**._:*\/___/###_._/
0\+/\_/\_#.1+/\.00:__///*+||/+|_/*:**+0:_.*/.01**:|:/1.+++\.00.\|+*\:\0+#:#_:*\*\1/\:1/1\#+1/+|#100//|..:#+*1/|\+_/*++#*\|+1*#/_1#*0*/:\1_*00_:+0_1\1#/#\_+1.0#*:\0.#1\.|*/+1#_:+/_00.*+#+|_+:|*\\._#+1+:\.+.*:*/\|1|+||#+|:+\1:+:+_..#:#11:+*.:
1_|0#*+.\1::/|:|1.+101|1*#1._\0:0/\##\:_:*0|+*#001/\:/.0.:1**\\|1:*+/||*\_0|1_|++_.#0|.*/1*1#|1_*#/100*\#*#|:*\/.*/_.*:*/*|*|*0./+\.+\1+0|/#:|._*|#*1:#:/./.\:++*0._/\...0.|/*:+\##0_#|_*1#0#/_*1..*#:__.#*_//0|#/:|0/.+*.:+_*\://...\_+/.*\|.__
//#.|\_/1\__\.1#0+0++#|/*#./\**:0#_:/.:\|*:|01+1|\_1+#:00:0+0:/|*1.*__.*1.1*\0/0:#\/+_*\\10|*+1/.#/|1_\_+:#|#/:+/*.\|1**\:.*_*\_/:*10##+*+0_.:.0/00+\\0|.|||0#*+0+|1\:|_0|:1_|:_/_\\0./:##//_/1\_/+0+|1:._*10_010*#0#:+//#.1:*/\_1*1.**\0/|./11\
.||_+.1/0|*.*/+0.+11\1*0+_\*0\|._|0_..+/.0/01..|\\.+.0+:0:\.:0:_01_0*0*0+_\1#*+/_|._+:\:#0/.00+0/1+_\1\+\/*+##0|._\101*0/._1/\\\|0|_+00|*1..:/|\__***/#0\.||_.0*0*|:|1.#1_.#_01._.\_.:+.:1+:..|:|#/0/1\_+*/\|\#:10#00#0:##0|1*\*#.|/__+0#.#:*.1*
100+||.|/0|..\/*##.1|0__\|1+:|#|0_0.\1#*0+/#_1|*/+_0:||**|#_:#1__0\.+/*+1_++_.|+_0/1:_/:1+|||./_#\:0#1/+/1+:1*1*/\+*.#:::1##\+0.1\\|#\|.|+##./_.#|0\_|_0_//:|_\\_+\1|1.0#|01\+:+*_**0/.*\**+/##1*||*:00|*|+|:.+\*/#.+1|/..\|\0|:#0#/:\1#10/*:|..
/0*0.\/0_:0\/\#+1_+./*_.|0/\#*+/0/.:|_|*_0.+/\://.:\10:_.:./\0|1#.#0*\.:0_1.10|1+._+\##\//10/+/\\#1\+|_.+:_+11|/0+_/*/0||/_1_/./:*/+|||00\1+#_:1/|.:0/#0_.1:|+|._:/.0|011*.+*|*+_//_#..:\\0:_**_**..__.\:+.#\:/1+\1::_#*_://0#//1_##0::*0+*+1.|*
._\:_/+.|*//0.*.1_:|.1:_*|0_.++:\+*1/0*\\1\\:_.#1||###*:##*++\+/_|/1+.|*\0#10:|+|/+:_1/+:11./+0#11/:11_0\#\::_//#.1_#+.+/\#\1_/#.+./:.+_+/1_.\#:..|\|+#**_:++00+:#\00*_1/*|#+|#*.:#\:._1#||#_:\#/*+\0_|:\.||.#_.#\**_+|#//#_1+::...1#/\+0__*.*00
:0+111/0/*|1/#\01+/\#_*0|_01:.#:+#1+#:1||.+_:++0#._\.\./:.\.0.\./*/|.|1#*+\:*./1#*#:*1\1.|/.#1#__*1.|:.0#*0|*1|+1+*\|/\::*_+\:0++0+_.11#__#*0_#*._1#|:*1.\0\1*0*.*._||._:00._:+.+|#+*_+0#\+\0\0.*:1+#0..:0*+\\#10*#:||/*/1\\+####+_*#+1*1/0|__#_
1/11.:+/./1_:0#01\+|0::+0..#\0.|::_+_:\\:#**__#_/_#|:+/++.\\0_|*|_0+101.\+1*:#/1_.1_1*/+#:.0.\+//.*_1##0_./_*+/1*+0/1\1:_/\|:*/0*:*||_1__|*\:|*||#++\#\\|:1_.\:/#/+_+|.+++:#:++#.#+**#.:+1|.1|:_\.\#1.*:1*#.*/0_#\0_01.+*1::.0/\+.1_0|_._11|0/*1
0\_0\#11_\|*|\/.+|/1#0_0:10#+/11#*.1._:.\:0+1\/*00:|//#*1/|*:#.*\0110.11#11\0/*\/1*.+10_|0\+::\.#..|1*+_/+1\.\+:|/_|_1+#:.+0__|0.:\#.#_::_:+_0\.|+||+\/110:/_/|*/|#+.#\0#/_:.#\.*_|._1|1+0#1*:_:.|1\/.**_0+/*:_\*\1||\***.+/+0..\_+++|./:0\*/__1
|*+.0/__#1+_1_*_1|0:|*#*\_\*:#|:.#.*0|:|0*/:111+*|0/:111*_+/|#/+/+0.1+010||\1#+#::#0\1/\|#/_0_/:\\_\\0+:|::*+.:/\|*.#\.1#\*\:+/:|.#\+*/|+_0.:*/1|1:0*./:|:\0*_:+\1*.|.0/.1_:*/:1:./:0:\//|#.#\\0#|0+|*/0_//0/*/1+_+:#:.0_\0#0:*_0#.1\\:/\0__*/1|
1*_0#:|+.+:+++|00##*++0+_:/:+.0/\\\+..#_*|_./*##\_:11*/\*1:/0:\#1*0||_.#*_/|._#.++_:#:0.:|_.1*|+:.:__/.##.\*:#0|_/_#.+/_*|:|::#|0+\._\_/|\//\+1*:+*+//|0:|0**#|\+__:#.|.|_:\1._.|01|:0*001|\1#10#.#:.#/*\|.1*1*01|10\\*/\.+#0||0_+0#|+#\#|\:\*10
_++_.\*.##\+1.1/..\0.+1.|\1#|./0::#\\0\_:+:+\|#1|/+***_.1:+1\*+#:#*|1:0+/#|_:0.#/+#0/.|*\\_#:.:*.+/0+#\#+*1|.+#|:+:_1|++\/.:::0_|\|_\*.\0/++:|*/.0/:_+#:.+.*+/10\1/:\*/:#10_:_*:#0./__#_+.#*/*|*1+/\:_#\+.##_0*0.*01|0:#\|0:#\/0|++/_#\0.0*0_:_*
*||\_1/#:|1\_:*#0#|+./+/1*1.+|/*#1/*:0+:.\_/*.*+/0/+|##_|_\\01//||1..1/:#+\_|:1#//:.0:.*+0\#/./_1|#_1//#0\++::|.|\.:/.#:1::1+\::0\:*.#|.#*#/00_|11|1:.:*/1:10*|\+\\\#1\:0_./0*/_|.\#_:/*:/#:_\1.01.+:00.+#__.*|.#*_#|100*1\**0\._/_0|:|1+/1**:0\
0.#.:+##|.|1*\*1+/#\*0|.:0+#\01/\\__++#\+*#00//_+*/\*0*:*#+10:.##\:0*../_0*..\/1+.+.*11__+_._.0:|_\+##\|\/*+#1:#.\#_+:1|:1\*00/#10#/\_*+.+//|#10:#1/0\/:__#::/0/\:0:*\:_:0/.+1*0*./\|1|#.|_\+01*\:101+#1|:#.\.#_*1:+|\:/1::.:1+/1//\*1__.#_*//#1
.|0#/|1*0:/_:+*:._:++|\|#\\#0/+0**1:_._:\|#*:*1#*+1**0|#0*/_|+00|#/0_*:_|110\1*1*+.://+\.#\#1+._+0.101/.0\\0*\+|+*___++_*#/_*|+00|1#:.|:#|.+0\+\#_|1__:|.+/_\/\#_/1///::1#/\#|/_/1+1//11/.|/0##/#:0+|/\01_1*:.0./10\+*.0.\00.#.+\.|#/.1.\0#+*/11
/*_:1_1_/*:0/:_:*.+##.//+0|+_0|:..//|+#|:1_+\.\*:::_|+/.\+_*|*//|*/.*:|.*|0+/_*##|.\.1*\*#|0.*.+01*/:0.*\:0_\::#\.:\\\\\:_+:+**//11/0.:00\+/_*::00\\+|_\+/.*_.\\.:+::.*+0_*_:1+#:\\|1|1.|_1+#*:/1##:._1__:0|00:/0/0+*/./|*\00#|10_*.#10*#_\*/0/0
_#_:**/_01*\1*.|||\\1\+1#/.+0./**_#0..#001_+\1*/01_.*|1*+1##+#:/\*#_|+|||:+:*+0/0/*|:\*#\|#|1\*1/#+**\.0:+*/*:1:.\*#_|\|11:*|\+\/|.\/1\.*1/*#|_\.*:+##/*_+..+**.:0/|#_:*#.1_\._+*:\+\1*|0/:+0\|0/1+./1|*+#_\/\.**\_01||+\||+#+:#0+101*_/\/#\_+*\
+/|_/+\#\_|1||#.00:*.|\*.#|*\:\/+1++/+/|:\::1|*_+.#0.+/\_0:*.\/.1./\...+|##.#*1*.|0#.1._|::|.0.#1#|//\:*#1./.+#1\*1::*\+__/|\__.|#|/0/*1:\\:11\/+\\.:1||+*#+#/+\1*_.11/#|0:|+/..0_0|+#:#/..111+_*#:00#:*|*|.+1#_/__+/1\_#+\:.|1##|/#0:|..1#+\|:_
1*#0.#::#_*+1.+.0_:_0\10/.:|__:\//#:*.#::0+1|.\:*01_:+0_|.+#0+*|*__+\|#\_*_*+1+####.+\+0|1*_|\_\0/1*/\:_*1:|*:/___/:+/+#/*1+:\:_.+:0_*.*01+./#||1\0+.|0::/.*/._+_0_.#+1*++|+.*:\\:|+.0/#\1_11\\.#|+11/#0_1:**#.0*\\.*_1\11#|._/\/:01:#+0_|/#1\_|
0+:.:10|#.|#.:\**|#/:_\#\#:10|_//0:.1+|*+#_::+.*0|\_+*0#\.1+\1\.#_*0++*+\*0*|._00/:1#/_#1:_*\\__#|.*:+*:__:+*/:.11/1|+_/|_|#\1_#01:***/+1##+__#+|*_1\*/:++0:.|.*_\__/#+\*##*.\#:+0/1#\+||:#::+00\\000:*\\__:|\#/#*+1_*1\//_.0#1/.:+0.*_1.\\01_\.
.+_.*_+:01_\0._+../+*\***++_#*|100.|#*#_.//\1|:\+*1\:_\/\+0_0_||#11*0:0\1\/0_#*##:\:*11*0\+1:\.1|_*0##_01||0+#://**001:+##/|*10.+#*1+\/:1.*|__+.0\+_1/1/.###+1\*1.#.0:#\#.1.#\\*#::.+1#++|\#1|+|._*:+/1.:+/**#.\_*_.#+*:|/_/+.11*::/:\:1010_0:*:
1*\\#||\##0+/_:#1#|*/*#_#|01+0.*\#1|\#__\/*:|1.1://\/|1|*\#./#1|_111\\#+01/:.+\\:+\1_#|/+\/1**0::1:\\/0#:0\+:*00|_#|.*:\\\|11/*::|:+.1+#1/\*\|10.*\\|0+\.0_01*_:#_\#/0:0|.|11#+0_#\#|:11:\/_.||_\#/1*1+#_*_+01*1\_|+/:0|1*\0./0:+0*##|01\:.|_*.|
*+11.1+.++*#:++:\_+:0++:+.0|:#|\\\*\**#0|*\++|:|0/10\_|*0:*#\#.||_:_|0+0#.:++*.1/#:0+*0/._\|+1++.**\+0#*:_#\_#*#*\|.//+|__+__*0/\+*\_1+0#0:.:\+//1\:1|::.*||+\_/+/0/\0+::+::.+#*|+|+.:\+\+//1*1*.*_\//\/1_*1|/01.00\|1_*::*/|/000##++/|#/\*\111+
+*0|\:.:1011#1#.0_|.:|:\+1|\.011.__+|/|:10+*_+_:#/0:*.0*\+.+#0101#*0\*|0*1\/01|*:#**:0*_*:+/:/:_/+11//..**#..0/\011/+/_0__*|0.:1\##\*10_1._+**1_/|1111|_/*#/|0+#0::10\+0.|.:*|01*.#.\0:\:001|.||1_*:\/..#|.01*:_\_/_#1/|:/\+#/1+#|::+#+++0:__|/.
+/:_|1|\|+_+:::#|/.00|#__1:_|\0_/+/|#0**||_:*_:_:\*.\_:\+_*|/1+*_:|/#\/\*\#+_:#\_#.0.*\1_\./:*\_/.#:***#:0:/\*#.1+|0#\\::.00.+:*+.*|..+0_:1//|//1:*:_.\0/.\1+|+++*1#./|1+*|\:\0_/.*:.#++#/|:/.|\\+::.0||..+._:_0:\1_:.++\0+#+#/#//+\/0#:|.:|:#_*
1.|+*+*|:\*0.0_*0/.\#0+0_\##|:#\+*_:_\#_##1*|/:.#\01_|011+1/#:.|.:||_#/.+_0._:1\0/../0+\:0+01.:1.\\_+|.0#.0\|*|*1#//#+_+0:#_+/+/+#.+_0\+:/:0\/#/|+/0*.0#\#.:/_*/#_++:*/+\.+_:/0*.0**\#1||*++1+:\0::||\.1****/_1._:|*\|\.#0:+.+0*01+*1|+/_00\01.:
+1#.*\#|\|#1.\/*0/::*_1\:*#0|0\#\|||#||_#//+|#*+#*.:|*:_0.:..#/*#\:0/::_+|*:+:0:_+:_.|_0+0_/0+_|*/1/1|0+1|/::/::*_#\//00_*11|/.#\1\:|00._:01#*0.#_\0#|||1|_:|101111+:#.*1.1||0\._.0\.|1.*_+\+:0..|+/0/.0|10_\./_0+#1+\:+\+#+0/+*_:1\*1|##:/1//.#
10.\1#|*1+:|/0/0#/*10+1+:\+0+\0/\/*#1||0\||\/+/#/0:|/1|:1.#/.+._0#0\:_1:00_|_+0\_*\/.001*||_//++:1#/\1./:/#0||/\\|_|#*#+|\1**|_1:._0\\_|0.0*0|:|__1.|:|+0_+_10|:#_0_/_1\:+//.*+0.|0#1*/|*1\01:0+*+*\:/.:.1\1*:\./|/*:_:*\0+0+|+*.\\#.0+*0./*:1++
+/#.#\:01\_:.0+|#:|.|#1*00.|0\#*:#\\0*00+._0+:0:.++//|_#++_|0_*|#:.::*0#0+\1|.\||/_*|_+0|/1.+1_|01/*._##*_0#*\\:::++1.+\0\#1#|10/\0#1111./.\#*1:*\:0+#./.:\|_*/+1.#/*.#0:_|//1#*+\*/:/+::_:0:##:\*|:#0|#\.+|*0+0_1_00./|\|*/0+/#/*10|##_\+|\|1#.
+:\.//\|+|#1++#::#\1*_+|##++|++/#_+|##/*_#01/_+|0_*:/|+___|/0/*\#_*:*1|:#|_##:|._##_|_:0\/:*|/_|:_\0\.:/_*+./\1._1|.**1#+/_0\_\1#01+/\0*:_*0#*#+#/|+_|#|*#:0+1\_0011|0#.|+#1::.\/_1_#+#\*++|.\_0.*..1/|01.:*_0111\\_::+00*/_++#.+**:.#/*\|*__.:|
+*:/0/..0#|+#.+1:|/_*.\0|\/:0*||\##0:/_0*#:.1*_:.0_++/|/.****0/||::1/#|:0+_\##.*\/++:\|\_1|*|.\+|.#|/.+:0*0/_+_#|10+1|1|0##0|0+|\*#0.0\0\#.:.+:*|_:\_#\:*+\**:.\*\/_:.+\/.\\|:#0.0+_+*/*//#||1+\*+0\*+_/*:\.+0|*+0*0#.|:00+01+/__.+:+._##:.#0#/_
##.*|*0__:00/\#\+.\_+#_#+:#\*\+\#0*/|+10\*_/|0/1/:00|.+:.::#_*01*:|1**|/1:#__\:_/+#1+\\+/:|\+./\01|#:**1:|./:._/*#|11\.#._1\_|.:.+0+|0|#*:_01__00_*#*//+1..\/+0*###+*+/1/:*/_/0:./\.1\+//+/0_|\1.:*#*#:10:_|/\0_#\||#//:/\0#\|1|.#/|*\.#/\:__\#1
//#||*/|\0*+#1+_\|.:10\#\#././.*\|:/1.\//:_#+_#:\/0|1*/.:\|+:0/+_._0#0\++1#0//1._\_10\_11.:\1:\*0/\/0\1|.+.\1._|*+1#1/..#|\/#+\#.+|+#:#|_/+0*._0_#\./#|+11#*__1|\_0+:|0/:\._\#1*_\**|**.0#:*:/*#*++.|11_/./1+#|\0:_*:0/_/_+:_.#.|:/0/#/#.*|0\0#*
/./+*:\|:.+0/|1/|#|*\|1|.1|:+|\|\##\#\/|\1*/#.\\:01|0:+:.+.#\+||_0#*_#_#|*\1/_\*.#.011::_0_1+*0|*|#|*|+\/\_1...0\##.1_#1*1.\/_*|#\/00:_*\_0_*.11\\:.+\+1+**:1*:|/1|::*.+#.+__#:+|0#:::/:#:1*:1/+//*1:#...0/|11:_+_1_*:\.*//|.1+\:|/._0*0.+\/\:./
:_/#*\:#.::\+10_#110//#+*1#0\\+1\..*1\|.+0**|#\_|\\0*:#_*/+:|#/*:+/\|#\:#__/*:__:+#\00||1*/\.+:#|*#:0*/+_#\*:+\\\++_*_*//01\|*:.+*:*/\0|:__#/\+\:+_0+.*:\1\*#_#1_+11\+|0|:#_1+.1*0#0.*/_1_1__**#:|_#\00/*/\_*1:_#._|*+|_:1+0/:++#+1:/:.:*111_0.#
0:10|/0__00*+*.0:*.\:1\/_00.0+:*:*#0_*|/#+\__.*::|\/+_*+\#00\.+**.\*##:..\+:1..#0:.##_01.*\|_+*10::/+10_0#|+/+.\\+:.1+/++#::1#.__*0/1:10\##*0..*|\.+|110*|__/0+0/|:_/*_0/|#0/_/.*0+.:1|/:/01*#0\\|\._|+|/0#\*|0#1.||:|/|1.11||#_\10|0.1.\_:/#0#\
.\*./+\#+\#1_:|/./_++1_|#//0\11\:|#.*01#/*1\0:|/#_.|0_._.|#\__*:+|/1|#__|_.:_+1.\0:_\||.|_+1:|*|*:.\+.:*+1**\.*#*#:##.#.::.|\\.|/00*+*|0:.\01#_*+\\0##0://1/.1:\1_#__+0|.+||1+#1*1/*10//#.|0+:\#\/1.+:#/_/|_0.0\|1*:0/+:0|++:1#|:.|/\#*\**+0##::
/*#||\_0_.:*/_0\:##//.\\|+*|1++1#._\:/.1.+/+1#..\10#|1*1#1*.\/#\.:_\:|0#/\_+*|0:/:\*/||:**.:00*:0/*:*\/:1|//+.#0*._\0#1.*|_1|.1*|#.\:.0*\*\.1.+#\0:+:/*_+/11++:*_+._|.0.*+0\/*/|.//..*\#0##//_:#*.#+||\||._//0.1_0/0\:/+\0_*.:1\:0\//_+*::101:00
*._:./_+..|:0\0#\+0.:\+#:.||_|***:+*0|__.++#:#_::1_0\/.1#:0\./:11:+.\#+/||.1_:|*#:|1#/0:**0|.||.0+\*|:0+#+#/\\1:*0.\//0/./#*/|:0_/*:\1.\_+0|+\/0:\0..+_:+0+_0/+/1**\:#0:*.\\_1*/01/+.:1:\#.0010:_/\*0:\*1|1+.#0_|::0#*|/+1_#_#+::.\\00/0\*:+_/*\
1:00/+/#|/#+*_:\+__..+*+\:1/*#.1_+0|*1_/0#:./\0*0_/.\_:1+__1+/::_1#1:_#1+#1.._+0+||0.|_:|*+\:11_.|.*\+0+/\:0.#./#/0+*|\**||0:+\01\:.+:||.+:0.0*/#|+:0./\|1|_|1++:\_|1|*+:*\/.|0\_:..0/+*#0+1#.*\\\:|_\|.:|_*1*\*#.|*\.:\\\#+*_0/|_1|1.|\_\/./00/
+1\:|/0+1/*/+/*1_#/*|:__:_+_1+11##/1#||\11:0\..0/*..1##*1/1|:/000_\1/_./\#_11*|+\1*\+0_0\.1_|1+.#_#*+:\\0\/_#|#.0+#/:|:0*_/_.|/*\1|011_#.|:\++*1::\+1*./+\_:\.1_::*#\::|_+#+_+.:|:\:#+#_+\/0\0++\0:+\\\.+_:___*:|+_+0+/0/+#0:._::#|*:.0\1+/.*|*\
#_1+*.+\1#|/_/0/#\0#/|:1|+/*0:.|/\:#*1#*+:+|#1.|#11+:\../:+#\|:\/+/0*1+_0*.\##1*.+1*+/**_\#0:*11\:|/*+/++0.*:|_1\//*|#\:*0+|10*+/./\.+:/0\\//*+**\.:/:/.|+_\0|_+|/__.|##_**#1:////#\|_\#.0/_:|0*:00+1/0*./_*\0\#:#._10_:+00+/*1+1+/*.:\.#1*#|*::
01#|*0:.+:**/.:_/:0*/##1#:++1_0*:.:.+._/.+1\:\..#\..\/|\#:1.//|_\_/:1|#_#:++*/\/|.1_.1/./1|_|**+||\:\#+0*:.+#_\#/._*0#|1\\._\\00|\*##.|1|\|\|\\.:|#::.*_|:/|/+\\1*1/\+:+_:*./+0/_:/\\.#_\.1|.:##*|#..\.*\__\_##**:+\*+.#*/_:1|+||._:__/:0+..0//_
|0|01+|:_||*0*.**+*_+|\+1+*+\/:._#1*1/#+110+_.:1|_#++|\|||_#:+1\1|.\0/*0#/\#*.0**:0|+.:*11*:__/.0\/+_0/_:\/+/|#1/*|*.*.1|\0|:*+/*01\|:+01*.*\0/.0/#1.\._|\./00/#0++0+_#**/#*#1:#*1.|.|_\|001#1+0+.#\\*0/\_1:##1++\|+:/++*||0\#_++.|1|**|#1:1|_#|
#++\|_\0:+**#.+.+*\/#\#_/|\_|/1/_1.#.+*:**\*:11._*|+:1//|.|\0.*/+*|_*_0\|+#/+1/_/_1:/\/|0//1|:|0|0*#*|\.+/|010_\.10#11|_++/1/0:#||/:0\0*:*.#+/0/\/0_+1\\:\11_/:_\|0+_/|/_0/0+/::0|_#//_.1/0.**+:\:.:#/0|/*._|*|::./.1.*||1|_/01_\:|/\:0|:\\__#/*
:+|\/#*1.|*#.:+10|_*|00.0_1*/:\|/*1|+.//1|+:#/_1#+#0*\.0::_*\#/:|/..:11|\./:|\#*_1*||#|\:|*0#_/1#\0##.+/.1/#/|/|\*|/.\*#0:./+0*:..11_+0|#0|\#0*_\|_/|0/0+/.0:#_\*#|*1..1:|+\/*/|#*.+0*:._*0+1+.+_.||:.+\__:**#\.+/#.0*__.+#/#1+*##*#.:+0\.10/\*.
+00+:\+_\1+|1:/1*_1/+:|#|#+*+_1:1._\/..101\0|#|_#.:*++_||1+\.._1:/..\:#\:_/0_0#.:*::#|/*:#*|10*\1#\+1#/|*:.#+/#*.:/+0|1:*/:0/..:::*/_\|\\*//\1_0_++#*..1/#|*##_10*/|11.0_#_*_|0\+_*+/0//|.\:||\#|0_|_11#.#*|++_/|:_*|_1.\0:_\_*.||:_:0:0|0_|\+*#
1|:|+\|1/.0.*#1+/|0/\__//|*\||\1+|0#\10.+11+..1|/10/*\|#.#+:+::\#1|\*\:#.1:.|+0|*+#/\:#1/..#1++:*:101.|.://1##1/|11#/*|*..0*|110+:#\_**|:/_\://0_00++.:0:|:*0+|.#\_11#11//+|/*#.:*+#:+100+.|*+/*/_|./:_/+0*/*#::/||+\/+:\+\//|.+|0##***|.\0**|.\
\#_||0#/_/:_|*::///:.\*#/:.0\0\:1#/11|/:+*\|**.\0_|_*|:|_..0+*\*100/**_*0#.|0+:__+._1+\.1#:\0*/*+#0:0.*110|*:+00|:+*|11|1.:*\*_|\:1*+._|/:#|/+/*_+__|*__/0|1\|_://\*:|1110*\:.|||\0\*#_*#/\\01.\/\1|_|+#.\+|0|1:|1*|:|/_0:|:+:|*+1*_.+0|+|\:\#*/
0#|\1#.|0.0|/1/|_//1*\*\.*|++\1/#./*#*+\#:#./:*+.+#+1\1/+*|*0:1.0*+:::*0#0:+_.\/.01*/*\1\|_1+\||1/.\:0:++_0||*_#10+:#*_\.|+_./\10.#:|*0/#+#*#+:#1*_.#0++1/+.:_#_*/#/11+##:+#/#*.*10:\.1\0+_1#0|/\+_\01_+0#+0\1#\1|#||+./\/_###|*0.::#\/|*#:1*#.+
.*_+/1#10_\0#.._:#__1___|__|#:*:0_\:11+0_.|\.:_\#*/_+.#\:||__\*10\/|1\*_|/_:/1#*//\/:1.:0_0|:*#1._0+:_|0#01.0:..:|*#0#_.+0\#*|/0#0:|:_*_+#1#:_1*\.+0+..##:/1*0##_1#._*#.__|*1_\*\1|#1#+1+||_0+_###+|*.*._*\_*1_:#||1_0\|/_+*:*#+:.0+00*:\.##||__
|\*+:_11+1*||++\_:11.0:*|1|#|._#*|\/.\\*.0+.//*_+.*1:_0_0_/++:++/+.#1/1\.#|__1\+#/**:#+.\:0\1\**:\\|:_/:|.1::00|1+:\+:||01/.#1*:|1*.#|1*|*.\+0:+\1|+|*0*///_++|#_|*00.|/*_0#1*+::|..#+\/++*#:\0/*+__\0\/#*/++.|_*:01:||:*\_+.:##__:._:#*++\|+._|
+#1.:1*|*:_*#0_0/\/\_1_|\0./00//1_.*_\.#|:\0##\_+:+10.0#00_/0_:/1#*\+_:##:#\+++##/1|_\\_1|/##_.1/._+|/\_:|#\+|:+*#.\|#.**|##_|0*:_0/#|*01_\1/0:*..+:#/+.#..\:#*00:+|*1:*:#+:+/:\1*_#*1|+/::1**0*/..++:1..*.#+.0\..0|\|+.10/|_00.0+:1\1**1.+*++_0
||\\++.+/#_.|*|\|:*111//++##*_*\+#_:|_|._#:__#*|+:1.|#/:1|#0...:/1/+++.111|0#.+0:*##.++1#|0.#*._|#_\*:0_.|_11\_.10#0|/++|+101|0_\\*:.|\|:+0:/_/_1.|#_\_+|+/\:*#1*/|.|\1#*0.0+|\_/*._#+\__+::01+00_#*#1\1|0\#./11*_|#.*|+0+.1\_\/0_:\1:1/\00*0/#*
+/#/:1_./+/_#|:|..+::00__._.|1||0|#*_*._:#1::*#_#\#:|1.0_*\*/+|_|0_:.1++::+\|//#*|_\0.|/_1001..|#\\0+.|1\1#0\\01\\\|.:|.0/*+:_.*_\0\+\/:1.\+:\:+_.0_|*_/_:_#_|.*|#\#/00+._0+|#*.1:_0/#+*_*/0*\/1#*#+++//#/+\1:|\:|/|#_|..0#/_01#/0#0**1\.#\10:+*
1*:|.|\1+/*\:1#++||:#:+*+|./10+/|#\::.+:...#*|1.1*+___/0/.|/_/0:||.#1|#:01#\:0\+*00:+|:110.#++**1:|_1//*11/\\00\//\+___\__0_|+1__+_0*#++:1#_/|0.#1#+|0+11+.|++\#._+10_\#*/#|#:/:0|/#1#+._1\#0|.*.#|#\+#_.##+10:/__+:_\#:.|_0|/**_1#*:|\#/+1*.|*+
*0../*#++\\0\\:\*:|_:/\/#1._.1#_11+_.*0..\1/*..0+:0/|+|/.:|1##.*_0|_/_0+:*/+./|#|/|#*::/*_#\#+/:\+_#:11/\/:00.\.+_\1\*._*101*\1+_://|:/|/10|_*1+*_+/_*.\_//#||.:|//#/1:+.\|\/|.__1./++..#|1_\*_#:0|10|+\1.\.|||0|._01//:|+0***:_+0//0|./#*/.*|+|
#0|/1:0\*1+0|./01.1|0/:*11._\\/.*/\/0\/:1+*0_/*\1:_.1_+:_*1:#.|**0\/1*#.*|*//:+1|#:1/_/1:.\#/0|/1.*/|:.#_#**#\#|/0+#+.|./++0.|\/0+|.\/|/_/1.##:10+|++/#_/_0+#+:#_.*./\0.++:.**0_._+.#++:1/\\#/1+#:.+/*_||#10#\/__.:__/_._:**|:+:.:/*11\#1./1\_/_
#0.11.\+|+1:./.11*.0/1+/:|+/0*+:#:*\1|_#+:#*\#\+0:*\\|#//1:/#+11.1+:/:1+*#\\\|+#1+01/|1|+:|1:000_10\\_.0:|\/.1+|_*/_||0#_\:##./#|\.|0/._*1111*/:+1:1|:|0:_:.0_#1#01:.101|:**+#|/:#_1:#++\/*:|\./\0*_*_+/:1*.\1_\||:|0.:*.#1.:+:0#0++|1_*#.++#*.\
00/1_#1*_|/#_/\1/|._\1*+/|\|01#/10+./1_:\.:010./.*+*0:|\_.:\+_.*/|++/11.\:#/*0+#\10/:|*:/+|\0\#/*+*#*/00_.#_#_#\/+#\1+\.\/*\\:/+:_*+\1.0+*0*\\|\*\\*+.*.|0::++_1|1|#1|_*1/|*|11+_\/:|1.#*.|++#\/*\\1_1..|_+.::**+#1|#\#01*_:*+*1*|*0#\/_|+01*|1*
||\*#\#1+*/:+|#*+#+:|+0+*:0*|0|*\0#1+.\:+/+:|/_\||\*/:/*1|\#:1.+*#\\:+#\_*__/*/_#/_\1+.#*_++_*:#|.:|0.0/:\1+*#0+_|+1_*:+*/.01\.:*:1*.0.+\*_1#+\1+:/_1\1.|00._.+_1+0|\0+_10_..+\..#_|0+\|\0.#*_#*:|.//\.|\1+:*+\/:/#:|\0#/+/_0|1:\1__1__.|_//0+\/
___#*011\|1*1:\1*\1:#|0+|.+__:|1:#:\|:1_:01+/0\\/1*|0+*+_.|0+01+:0.*.0#*+_\|/00+1+\.1:/#:+_:*0_.0_.:_*/\10:#_#*_0:\.00:*#._\|1|\|:1\10||#|/1_._||1__0##*/1#+/_*\:*1\*\/0#*_+/#..01.:0+:/+.1#\+0+*0+|._\:+0__:#0_\00.#:10::|0._/*./_.||1.|:*|+*1*
1#0|1:\+/01:1+./*+./_:.1*.*:/#_|0:##/#1._*|\\/0||*/*0|*+./:00.|.+/_//*.1:1#11/_||/0.\|*:+**0\_*1*.#..1+:.+.|/+/|*/+:\\0/*1|\+:/.1+/+|\*\+:|/1|_#:_/**_#.|...1/.\|/_|0/||\_|.:0\*\/:\.*+|1\:*_+/+:/*11*:\0_:#.#\|0**_+/|\*1#/0|#101/+/\.*/\_##+/#
available for opportunities
Building AI systems that drive real business impact. I design and ship AI prototypes on Azure that connect Databricks pipelines with Salesforce to automate B2B sales workflows .
const engineer = { role: "AI Engineer" , stack: ["Azure" , "Databricks" , "Salesforce" ], location: "Bavaria, DE" }
Telefónica Germany CS Development Giesecke+Devrient Avast Software Telefónica Germany CS Development Giesecke+Devrient Avast Software Telefónica Germany CS Development Giesecke+Devrient Avast Software Telefónica Germany CS Development Giesecke+Devrient Avast Software
Impact 5+ Years experience
1.4M+ Accounts managed
15+ Clients served
6 Featured projects
</ stats> · < insights>
01 / 05 — from chaos to clarity API CSV Kafka Webhook Legacy DB IoT Logs S3 Mobile SDK</ insights> · < about>
02 / 05 — about Building enterprise software and, more recently, production AI systems with measurable business impact at
Telefónica Germany. I combine deep Salesforce platform knowledge with applied ML engineering — from data
pipeline to user-facing product.
B.Sc. Business Informatics from DHBW Mannheim, dual study program with Telefónica Germany, specialized in Data Science & Machine Learning. Bachelor thesis: "Blockchain Identity Solutions in Telecommunications."
lang: DE (native) · EN (C1)
Languages
Python JavaScript TypeScript Solidity
Frameworks
React Next.js LWC Node.js
Platforms & Tools
Salesforce PostgreSQL Git Docker
activity.log chris017
570 contributions in 2025
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
less more
Solidity 33% Apex 28.2% JavaScript 24.4% HTML 3.3% Python 3% TypeScript 2.7%
</ about> · < experience>
01 Jan 2021 - Present
Telefónica Germany AI Engineer · Full-time since Sep. 2024, Dual Study 2021-2024
Mannheim, Germany
▸ Accelerate B2B sales cycles by engineering AI prototypes on Azure integrating Databricks data pipelines with Salesforce, delivering automation tools that reduce manual workload and free capacity for revenue-critical activities. ▸ Reduce vendor dependency by replacing third-party SaaS solutions with purpose-built in-house AI tooling, cutting costs while maintaining full control over data and model governance. ▸ Eliminated manual data entry by building Salesforce-to-Salesforce RESTful API synchronizing orders in real-time and developing Lightning Web Components with Apex managing 1.4M customer accounts . ▸ Showcased emerging blockchain technology in corporate innovation lab by building an SSO web app with Next.js, implementing World Coin authentication with biometric iris hash stored on-chain and wallet-based identity verification. Azure Databricks Salesforce LWC Apex
Jan 2021 - Present 02 Mar 2019 - Aug 2021
CS Development Founder & Lead Developer · Part-time
Munich, Germany
▸ Acquired 15+ e-commerce clients alongside studies by founding a startup delivering custom full-stack web applications. ▸ Increased organic traffic and conversion rates by optimizing SEO metadata, implementing structured data markup, and improving page load performance. React Node.js SEO E-Commerce
Mar 2019 - Aug 2021 03 Sep 2019 - Mar 2020
Giesecke+Devrient Software Development Intern
Munich, Germany
▸ Streamlined OS installation for payment card production by developing a cross-platform GUI application in Python. Python GUI Cross-Platform
Sep 2019 - Mar 2020 04 Aug 2018 - Sep 2018
Avast Software Software Engineering Intern
London, United Kingdom
▸ Enabled users to monitor website tracking activity by building a Chrome extension with custom authentication (password salting/hashing) and a dashboard displaying Avast security data. Chrome Extension Auth Security
Aug 2018 - Sep 2018 </ experience> · < projects>
04 / 05 — projects citibike_platform.sql2026
Jersey City Bikeshare Production-style data platform over 230K Citibike trips — dbt medallion architecture, Kafka streaming, Terraform-provisioned Snowflake, and Airflow orchestration.
Snowflake dbt Airflow Kafka Terraform
World Coin SSO Integration SSO web app built with Next.js in Telefónica's corporate innovation lab, implementing World Coin authentication with biometric iris hash stored on-chain and wallet-based identity verification.
Next.js Blockchain Salesforce Biometric Auth
ols_price_prediction.py2024
OLS Price Prediction Linear Regression model for AAPL stock price prediction using Ordinary Least Squares methodology.
Python Machine Learning OLS Finance
NYC Taxi Data Pipeline 320M NYC yellow taxi trips across 7 years, processed through a Bronze/Silver/Gold pipeline on Snowflake and dbt with a quarantine layer gating data quality — total compute cost: $9.94 .
Python Snowflake dbt Data Engineering
GAN Image Generation Generative Adversarial Network trained over 500 epochs for synthetic image generation, evaluated via FID score.
PyTorch Python Machine Learning Computer Vision
NFT Factory Contract Solidity factory contract deploying ERC-721 collections with auto-mint and ownership transfer.
Solidity ERC-721 Hardhat OpenZeppelin
</ projects> · < contact>
now building: Data Pipelines
Welcome back, Neo. This is the real world now.