<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Peter Csiba</title>
    <description>The latest articles on Forem by Peter Csiba (@petercsiba).</description>
    <link>https://forem.com/petercsiba</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1408946%2Fdb5db46a-25f5-41cc-b6f8-01a7369d027c.png</url>
      <title>Forem: Peter Csiba</title>
      <link>https://forem.com/petercsiba</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/petercsiba"/>
    <language>en</language>
    <item>
      <title>Coding with Speed of AI: If you build it, they will come</title>
      <dc:creator>Peter Csiba</dc:creator>
      <pubDate>Fri, 20 Sep 2024 18:53:14 +0000</pubDate>
      <link>https://forem.com/petercsiba/coding-with-speed-of-ai-if-you-build-it-they-will-come-4jac</link>
      <guid>https://forem.com/petercsiba/coding-with-speed-of-ai-if-you-build-it-they-will-come-4jac</guid>
      <description>&lt;h2&gt;
  
  
  Dreams
&lt;/h2&gt;

&lt;p&gt;It is March 14, 2023; and the first 10x coder is released to everyone (GPT-4). &lt;/p&gt;

&lt;p&gt;Engineers quit day jobs with: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Oh wow, now I can finally build out my side hustle! 🎉 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Certainly times of high hopes for the future&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;Software is in many ways similar to real world construction projects. It requires different experts, coordination, it always takes longer than expected and it is delivered with bugs.&lt;/p&gt;

&lt;p&gt;So lets use the metaphore of "building a cabin" to "building a side-project", and how GPT is really making you into a fast sub-contractor.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Project Hopes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I always wanted to build a cabin (aka side-project) &lt;/li&gt;
&lt;li&gt;BUT I was only a framer (aka backend engineer); &lt;/li&gt;
&lt;li&gt;NOW finally I can do everything and FAST (with gpt4+/mistral/...):&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Delivery hopes
&lt;/h3&gt;

&lt;p&gt;As a sub-contractor for everything, I can do myself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;plumbing (devops/infra), &lt;/li&gt;
&lt;li&gt;doors, windows (frontend), &lt;/li&gt;
&lt;li&gt;and screw it I can even make it feel nice (design).
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  SO LETS GO! 💪🏗️🚧
&lt;/h2&gt;

&lt;p&gt;At the start, it was so exciting!&lt;/p&gt;

&lt;p&gt;All previously annoying tasks suddenly felt so easy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Need to parse an email from SES into a Python ORM? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;np done in 30 seconds 💪&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dockerfile for your ffmpeg on python-alpine with AWS lambda? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;here you go sir 📈&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Some automated deploy orchestration? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here is SAML code ☸️ (what a shit choice)  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Voice recording React component plugged into S3 for infinite size uploads? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yeah lets go just hammer in prompts 🚀&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create coherent design assets? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sure thing 🎨 (but really my designer friends were like 🤦) &lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Even could write Scala code with Monix! 🤯&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;OMG YEAH  (Scala only really for people with passion)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlgi3gc4j6i1s8q3h8mw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlgi3gc4j6i1s8q3h8mw.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  If you build it, they will come
&lt;/h2&gt;

&lt;p&gt;Fast forward to 687 commits later: &lt;a href="https://github.com/petercsiba/dumpsheet" rel="noopener noreferrer"&gt;https://github.com/petercsiba/dumpsheet&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I was wrong. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just because you CAN it doesn't mean that you SHOULD.  &lt;/p&gt;

&lt;p&gt;Yes, I have built the cabin in record time, but it was beyond arctic cycle with custom heating involving ice fusion. &lt;/p&gt;

&lt;p&gt;Reflecting, it was like my 7 year old self who just learned to code; I was again so so caught up in this artistic builder passion that I have completely forgotten about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;customers&lt;/li&gt;
&lt;li&gt;existing tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07uj3br4hekqitv5vt96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07uj3br4hekqitv5vt96.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Learnings
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Chasing features instead of solving problems.
&lt;/h3&gt;

&lt;p&gt;I felt like a ML algorithm over-fitting to a particular feature set. The product ended up so complicated, so specific that I couldn't even explain it. &lt;/p&gt;

&lt;h3&gt;
  
  
  Nah, now I can just build over buy every-time 💰
&lt;/h3&gt;

&lt;p&gt;In the build vs re-use I often felt like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why should I integrate with say Langchain if I can build a super-custom agent chain with async python in a few hours?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;WELL, cause it ended up shittier, with more code leading to more bugs while loosing opportunity cost. &lt;/p&gt;

&lt;h3&gt;
  
  
  So if you would do it again?
&lt;/h3&gt;

&lt;p&gt;Go slow, Focus, Talk to people, Talk to customers, Talk to experts and only build 10x speed when it is new logic. &lt;/p&gt;

&lt;h2&gt;
  
  
  Silver lining: If you build it 10x faster
&lt;/h2&gt;

&lt;p&gt;You will also learn your lesson 10x faster!&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>development</category>
      <category>sideprojects</category>
      <category>10x</category>
    </item>
    <item>
      <title>Fly.io registry for custom base Dockerfiles</title>
      <dc:creator>Peter Csiba</dc:creator>
      <pubDate>Fri, 06 Sep 2024 19:56:44 +0000</pubDate>
      <link>https://forem.com/petercsiba/re-using-dockerfilebase-with-your-flyio-deployments-20fj</link>
      <guid>https://forem.com/petercsiba/re-using-dockerfilebase-with-your-flyio-deployments-20fj</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;From the moment my friend Tomas recommended me &lt;a href="https://fly.io/" rel="noopener noreferrer"&gt;Fly.io&lt;/a&gt;, I just in love with it for my side projects. Dubbed as the "&lt;a href="https://www.indiehackers.com/post/is-flyio-the-new-heroku-for-indie-founders-4c39c8e1ad" rel="noopener noreferrer"&gt;Repacked Spirit of OG Heroku&lt;/a&gt;" - and from the past 6 months using I can testify to the truth of the statement!&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy-pasted Dockerfiles taking over my project
&lt;/h3&gt;

&lt;p&gt;This article focuses on how to re-use your custom Docker base across multiple Fly.io apps. My personal use case were deploying multiple batch jobs each having the same Python base but a few tweaks in the end for the entrypoint or config values. Making sure all 4 of those Dockerifles are the same was somewhat annoying to me so first I was like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;TOOD(P1, devx): Have a common Docker base image". 
FROM python:3.12-slim

WORKDIR /app/backend

# `git` is required by python package `supawee`
# `postgresql-dev` and `libffi-dev` are for psycopg[binary,pool] (this is always such a pain to install)
RUN apt-get update &amp;amp;&amp;amp; apt-get install -y \
    git \
    libpq-dev \
# ... blah blah blah
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  The moment
&lt;/h3&gt;

&lt;p&gt;But then a sub-package wanted to install &lt;code&gt;tiktoken&lt;/code&gt; which for performance reasons requires &lt;code&gt;rustup&lt;/code&gt; so now I had to copy-past that snippet to all my Dockerfiles and it takes like 1-2 mins to build I was aaargh if I only had one base image for my project I only have to build it once! So that's how it started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;Pasting two of my &lt;code&gt;Dockerfile&lt;/code&gt;s to get you an idea of how re-using the common &lt;code&gt;Dockerfile.base&lt;/code&gt; can help you manage your deployment easier:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM registry.fly.io/web-scraping-batch-jobs-base-registry:latest

CMD ["python", "-m", "batch_jobs.scraper.daily_scrape"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and second&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM registry.fly.io/web-scraping-batch-jobs-base-registry:latest
ENV YOLO=true
CMD ["python", "-m", "batch_jobs.upsert_plugins"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;Well it took me a few hours to figure this out! :face-palm: &lt;br&gt;
At the high level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;build the base image locally&lt;/li&gt;
&lt;li&gt;push it to fly.io registry&lt;/li&gt;
&lt;li&gt;fly deploy with app-specific Dockerfile referencing FROM:&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Resulting script
&lt;/h3&gt;

&lt;p&gt;Here I employ a new style of blog writing, context-based explaining of each (hopefully) self-describing command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash
# TODO(P1, blog): Write down my experience building this for fly.io

# Usage deploy_batch_job.sh scraper/fly.toml
FLY_CONFIG_PATH=$1

# Set variables
BASE_DOCKERFILE="&amp;lt;your-path-to&amp;gt;/Dockerfile.base"
# Here `&amp;lt;my-project&amp;gt;-base-registry` is a dummy app on fly.io which is just used for storing base docker images. 
# You can create such a dummy app by `fly apps create $REGISTRY_DUMMY_APP_NAME`
REGISTRY_DUMMY_APP_NAME="&amp;lt;my-project&amp;gt;-base-registry"
IMAGE_NAME="registry.fly.io/$REGISTRY_DUMMY_APP_NAME"
# we do --platform linux/amd64 to match the one fly.io builders have
#   https://github.com/superfly/rchab/blob/8d37d90dc7d418660b50a10f288715fda4a00b5d/build.sh#L7
PLATFORM="linux/amd64" 

echo "Logging into fly.io registry"
# Authentication successful. You can now tag and push images to registry.fly.io/{your-app}
fly auth docker

echo "Building batch jobs base image $DOCKERFILE ($PLATFORM) to {$IMAGE_NAME}"

# Build the image locally
docker build --platform $PLATFORM -t $IMAGE_NAME:latest -f $DOCKERFILE .

# Get the image ID (content hash), removing the "sha256:" prefix as a 
IMAGE_ID=$(docker inspect --format='{{.Id}}' $IMAGE_NAME:latest | cut -d: -f2)
echo "Image ID: $IMAGE_ID (content hash)"
FULL_IMAGE_NAME="$IMAGE_NAME:$IMAGE_ID"

# Tag the image with its content hash
docker tag $IMAGE_NAME:latest $FULL_IMAGE_NAME

# Check if the image already exists in the registry
if docker manifest inspect $FULL_IMAGE_NAME &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then
    echo "Image $FULL_IMAGE_NAME"
    echo " -- already exists in the registry."
    echo " -- Skipping push."
else
    echo "Pushing new image $FULL_IMAGE_NAME to the registry."
    docker push $IMAGE_NAME:$IMAGE_ID
    docker push $IMAGE_NAME:latest
fi

echo "Deploying the batch job $FLY_CONFIG_PATH"
# To debug problems with Fly.io app builders you can find them at https://fly.io/dashboard/&amp;lt;your-organization-snake-case&amp;gt;/builders
# or with CLI fly logs -a fly-builder-&amp;lt;assigned-builder-name&amp;gt; (get it from logs)
fly deploy --config $FLY_CONFIG_PATH
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Was it worth it?
&lt;/h3&gt;

&lt;p&gt;Well, I conclude that this effort to be net positive for humanity I had to share it! Cause truth to be told, continuing doing &lt;strong&gt;careful copy-pasting&lt;/strong&gt; (a synonym to &lt;code&gt;devops&lt;/code&gt; from a devops person I really appreciate) would been more effective for me. But hey, we lazy engineers who want to automate our job right? &lt;/p&gt;

&lt;p&gt;Also &lt;code&gt;#lesscodelessbugs&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature: If the image is same, do not push it
&lt;/h3&gt;

&lt;p&gt;It took a few Claude Sonet (I am sick of ChatGPT for programming) I managed to setup a content-hash based push if doesn't yet exist approach to save some deploy time. Cause you know, if deploy takes over 30 seconds you tab-out to some stupid YouTube video or visit MK and then it takes 5mins to deploy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some gotchas
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;There is the &lt;code&gt;--platform&lt;/code&gt; flag to match your local build with the &lt;code&gt;fly.io&lt;/code&gt; build. Some versions of Docker Client (like Docker Desktop) had problems with that. I personally use &lt;code&gt;colima&lt;/code&gt; which is also much more battery efficient. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Possible improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Would be nice to build the &lt;code&gt;Dockerfile.base&lt;/code&gt; using the fly.io workers; certainly possible with I guess &lt;code&gt;fly.toml&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;FROM &amp;lt;your-base-image&amp;gt;&lt;/code&gt; takes some while even when both imae&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Appendix
&lt;/h2&gt;

&lt;p&gt;The full git commit setting this up in my side-project to see a &lt;br&gt;
"production" version &lt;a href="https://github.com/petercsiba/plugin-intelligence/commit/5d508475d4cc0a907a788fa1942a1a9983585eb7" rel="noopener noreferrer"&gt;linked here on my github&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>fly</category>
      <category>devops</category>
    </item>
    <item>
      <title>Hello! 👋</title>
      <dc:creator>Peter Csiba</dc:creator>
      <pubDate>Fri, 10 May 2024 19:15:31 +0000</pubDate>
      <link>https://forem.com/petercsiba/hello-l3l</link>
      <guid>https://forem.com/petercsiba/hello-l3l</guid>
      <description>&lt;p&gt;Here I am trying staring at the empty textbox, SO BIG AND EMPTY! &lt;/p&gt;

&lt;p&gt;Daydreaming that what if, a famous biographer, can just write the intro for me? Sigh 😭 &lt;/p&gt;

&lt;p&gt;But it is now 2024 and I could achieve this by talking to my phone for an hour! So here are the results - check it out. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;#nofilter * (added emojis, links and formatting)&lt;/code&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Peter Csiba: From the Abstract to the Real
&lt;/h1&gt;

&lt;p&gt;-- by W. Isaacson GPT&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 1: Early Beginnings
&lt;/h2&gt;

&lt;p&gt;Peter Csiba’s journey began in a small &lt;a href="https://en.wikipedia.org/wiki/Jahodn%C3%A1" rel="noopener noreferrer"&gt;Slovakian village&lt;/a&gt; 🍓, where his supportive parents encouraged him to pursue his intellectual interests. They recognized his need for a better learning environment and enrolled him in a progressive school in Bratislava, despite the long daily school commute, quite unheard of in 1990s. There, he was introduced to programming in the second grade by an influential math teacher. Peter participated in math competitions from the third grade onward and excelled in them, but he never considered programming contests until his final year of high school. His math teacher came up one day:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Peter, why don't you try this programming contest? It is due by Friday.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Despite his limited experience, he performed exceptionally well. His success in the International Informatics Olympiad revealed a strong affinity for programming and helped guide his career path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 2: University Years and Early Dissatisfaction
&lt;/h2&gt;

&lt;p&gt;Following high school, Peter pursued both a bachelor’s and master’s degree in computer science at &lt;a href="https://en.wikipedia.org/wiki/Comenius_University_Faculty_of_Mathematics,_Physics_and_Informatics" rel="noopener noreferrer"&gt;Univerzita Komenského v Bratislave&lt;/a&gt;. While his undergraduate years were marked by camaraderie and theoretical rigor, the master's program was overly abstract. He stayed only to sharpen his practical programming skills, living in a dormitory on a meager budget of around $200 per month. He took on side projects as a Jira plugin developer to earn a little extra money 💰. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Despite the opportunities, he grew increasingly dissatisfied with the limited scope of Slovakia’s tech landscape.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The most prominent technological company, &lt;a href="https://www.eset.com" rel="noopener noreferrer"&gt;ESET&lt;/a&gt;, had global recognition, but there was little else that compared to the allure of Silicon Valley. Frustrated with the slow pace and lack of cutting-edge projects, he longed for something more pioneering 🧭.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 3: Pursuing the American Dream
&lt;/h2&gt;

&lt;p&gt;Peter looked west to Silicon Valley, captivated by its innovative spirit and world-class opportunities. He sought work at one of the premier tech giants. After successfully passing the interviews at Google’s London office, he was offered a position in the United States. He hadn’t actively pursued this path initially, but the recruiter’s suggestion to move to America aligned with his vision of exploring the frontier of technology 🇺🇸.&lt;/p&gt;

&lt;p&gt;Securing a spot in the H-1B visa lottery in 2014, Peter bought a one-way ticket and crashed on friends’ floors while settling into his new life 🛏️. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I knew maybe four people here,” he recalls, “and the change was profound.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At Google, he joined the Search team, working on a C++ search-serving system involving a million CPUs. "It was crazy," he recalls, as he optimized system performance and balanced quality and cost. Consolidating systems and improving efficiency was essential in the colossal architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 4: Breaking into the Industry
&lt;/h2&gt;

&lt;p&gt;After gaining significant experience at Google, Peter sought greater autonomy and joined Robinhood in 2017, a promising fintech startup 🚀. He thrived in a culture of collaboration, gaining more ownership in a few months than he'd known before. His most impactful project was in trading infrastructure, responsible for placing orders and handling traffic spikes around the market opening at 6:30 a.m PT 📈📉. The work required Golang and PostgreSQL knowledge.&lt;/p&gt;

&lt;p&gt;During his time at Robinhood, he witnessed the company transform from a Series B startup with just 60 people into a publicly traded company with over 4,000 employees 🚀. The remarkable journey from a niche disruptor to a globally recognized financial powerhouse was a pioneering experience that Peter had longed for. In 2021, when Robinhood was a focal point of global news headlines, even Peter’s mother in Slovakia asked if he was all right. "It's not even Robinhood’s product there!" he recalls. &lt;/p&gt;

&lt;p&gt;Nevertheless, seeing the company become a world-class pioneer was an experience he felt privileged to live through 😇.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 5: Balancing Work and Family
&lt;/h2&gt;

&lt;p&gt;As Peter's family grew, he shifted his career focus, favoring projects that offered stability over immediate impact. He found solace in his marriage and two daughters, inspiring a renewed focus on personal and professional balance 👨‍👩‍👧‍👧. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Having this kind of basis settled was awesome,” he reflects 🏡.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After moving to San Francisco proper 🌁, he left Robinhood to join &lt;a href="https://www.parafin.com/" rel="noopener noreferrer"&gt;Parafin&lt;/a&gt;, a startup founded by ex-Robinhood colleagues. Here, he worked on business logic for loan servicing and developed email pipelines. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Getting email right was much harder than expected," he acknowledges 📧, &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;reflecting on the complexity of human communication. Despite the challenges, he became adept at handling business needs efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 6: The AI Revelation 🤖
&lt;/h2&gt;

&lt;p&gt;The launch of GPT models, particularly GPT-4, was a turning point in Peter's journey. Initially skeptical of its impact on software engineering, he was eventually convinced of its capabilities after a personal experiment. Late one evening, he provided the model with context to generate an API endpoint in Scala, and the result was mind-blowing—it was better than his own code, with zero bugs 🤯.&lt;/p&gt;

&lt;p&gt;Realizing the potential of AI, Peter embraced the opportunity to learn new things rapidly and leverage these tools to explore ground-up development. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;His past apprehensions about front-end coding and deployment vanished, as the AI could help him navigate the intricacies of configuration and integration 🤖.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This newfound confidence reignited his childhood passion for building things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chapter 7: Plugin Intelligence and Distribution
&lt;/h2&gt;

&lt;p&gt;After Parafin, Peter just started working on &lt;a href="//Plugin-Intelligence.com"&gt;Plugin-Intelligence.com&lt;/a&gt;, a data-driven platform analyzing and ranking plugins in various marketplaces 📊, beginning with &lt;a href="https://workspace.google.com/marketplace" rel="noopener noreferrer"&gt;Google Workspaces&lt;/a&gt;. Recognizing a lack of comprehensive market data, he set out to provide actionable insights for private equity firms, developers, and journalists. Although building the technology came naturally to him, Peter understood that distribution was a crucial challenge. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You can have the best ice cream in the world, but if you're selling it somewhere in the Arctic Circle, it doesn't help humanity much,” he quipped 🍦☃️.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Chapter 8: Reflecting and Moving Forward
&lt;/h2&gt;

&lt;p&gt;Peter realized the importance of market research and distribution after an earlier attempt to launch a voice AI business with his spouse failed due to a lack of focus on customer needs. Now, his approach to Plugin Intelligence is grounded in understanding users and market gap 🤗s. From there he plans to move from one project to the next, each offering him lessons in public engagement, distribution, and continuous improvement.&lt;/p&gt;

&lt;p&gt;In this way, Peter has gone from the abstract worlds of mathematics and coding to the practicalities of real-world impact. Now, he focuses on connecting with people, finding joy in both sharing his expertise and learning from others. Ultimately, &lt;a href="https://www.petercsiba.com/" rel="noopener noreferrer"&gt;Peter Csiba's&lt;/a&gt; story is one of reconciling the abstract with the tangible, blending a love of technology with a desire to build meaningful human connections 👨‍👩‍👧‍👧.&lt;/p&gt;

&lt;h1&gt;
  
  
  Discussion on the GPT generated text
&lt;/h1&gt;

&lt;p&gt;Yes, the GPT generation arguably takes out some of the human spirits (and for sure all my grammar mistakes I would make 🙈). &lt;br&gt;
But through this "common language" it expressed the gist of my story in a digestible manner while I feel like it reflects my personality quite well. &lt;/p&gt;

&lt;p&gt;Let me know what you think, happy to answer any follow up questions!   &lt;/p&gt;

</description>
      <category>story</category>
      <category>learning</category>
      <category>career</category>
      <category>backenddevelopment</category>
    </item>
  </channel>
</rss>
