<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Backend | Geovane Fedrecheski</title>
    <link>https://fedrecheski.com/tags/backend/</link>
      <atom:link href="https://fedrecheski.com/tags/backend/index.xml" rel="self" type="application/rss+xml" />
    <description>Backend</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 31 Dec 2017 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://fedrecheski.com/media/icon_hu_645fa481986063ef.png</url>
      <title>Backend</title>
      <link>https://fedrecheski.com/tags/backend/</link>
    </image>
    
    <item>
      <title>EasyFix: a three-sided marketplace for car repairs</title>
      <link>https://fedrecheski.com/project/easyfix/</link>
      <pubDate>Sun, 31 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://fedrecheski.com/project/easyfix/</guid>
      <description>&lt;h2 id=&#34;what-it-is&#34;&gt;What it is&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;EasyFix&lt;/strong&gt; was a three-sided &lt;strong&gt;marketplace for car repairs&lt;/strong&gt; in São Paulo, Brazil:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;car owner&lt;/strong&gt; with a problem requested help through the app&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;FIXER&lt;/strong&gt; — a mobile mechanic-diagnostician with a smartphone toolkit — would arrive, diagnose the car, and post the diagnosis to the platform&lt;/li&gt;
&lt;li&gt;Nearby &lt;strong&gt;garages&lt;/strong&gt; then bid in a real-time auction to perform the repair&lt;/li&gt;
&lt;li&gt;The customer chose the offer they liked best&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The model fixed a real problem: in Brazil, car owners don&amp;rsquo;t trust mechanics, and mechanics don&amp;rsquo;t have an easy way to advertise. Putting an independent diagnostician in the middle, plus an auction for the actual repair work, removed both points of friction at once.&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/dLJFNot5xE4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;h2 id=&#34;the-team&#34;&gt;The team&lt;/h2&gt;
&lt;p&gt;Four co-founders, equal partners (25% each), each from a very different background:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wilson — CEO.&lt;/strong&gt; Drove the business, partnerships, and go-to-market.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diego — COO.&lt;/strong&gt; Decades of hands-on car-repair expertise; he was the soul of the FIXER role and shaped how diagnoses and quotes actually worked in the wild.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fabio — Frontend lead.&lt;/strong&gt; Built the consumer Android app and the FIXER mobile app.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geovane (me) — CTO.&lt;/strong&gt; Designed and built the backend; ran the technical organization.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It was a really good team. We worked nights and weekends around our day jobs — a businessman, a master mechanic, a frontend developer, and a backend engineer — genuinely figuring it out together.&lt;/p&gt;
&lt;h2 id=&#34;what-i-built&#34;&gt;What I built&lt;/h2&gt;
&lt;p&gt;As &lt;strong&gt;CTO&lt;/strong&gt; (Jan 2017 → Jan 2018), I designed and built the backend and led the technical organization:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backend in &lt;strong&gt;Elixir + Phoenix&lt;/strong&gt; with &lt;strong&gt;PostgreSQL&lt;/strong&gt;, serving three different clients: the consumer Android app, the FIXER mobile app, and the garage web/desktop app&lt;/li&gt;
&lt;li&gt;A domain model spanning users, vehicles, a hierarchical &lt;strong&gt;parts catalog&lt;/strong&gt; (systems → groups → sub-groups → parts), diagnoses, quotes, orders with a state machine, and end-to-end &lt;strong&gt;payments&lt;/strong&gt; (bank accounts, payment parts, reconciliation)&lt;/li&gt;
&lt;li&gt;Three user roles, each with a distinct flow: &lt;strong&gt;customer&lt;/strong&gt; (request + approve), &lt;strong&gt;FIXER&lt;/strong&gt; (diagnose, points-based incentives), &lt;strong&gt;garage&lt;/strong&gt; (quote, fulfill, get rated)&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;auction logic&lt;/strong&gt; for repair quotes — first iteration of the bidding round&lt;/li&gt;
&lt;li&gt;Separated &lt;code&gt;administrative&lt;/code&gt; and &lt;code&gt;operational&lt;/code&gt; schemas for analytics + KPIs&lt;/li&gt;
&lt;li&gt;Stack decisions, repo layout, and engineering practices for the team&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why-it-was-hard&#34;&gt;Why it was hard&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Three-sided marketplace on a thin team&lt;/strong&gt; — every feature touches three different apps with three different incentive structures&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Long-tail catalog&lt;/strong&gt; — tens of thousands of car parts. The data model had to be flexible enough to capture anything a FIXER might diagnose, and structured enough to drive an auction&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trust in a low-trust market&lt;/strong&gt; — the FIXER role was designed precisely to bridge customer/garage trust, but it needed reputation, mutual ratings, and dispute handling built into the platform&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Brazilian payment realities&lt;/strong&gt; — local banks, manual reconciliation, no clean Stripe-equivalent at the time. We built our own payment data model&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bootstrapped&lt;/strong&gt; — no investors, all four co-founders working part-time around day jobs&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;numbers&#34;&gt;Numbers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;300+ users&lt;/strong&gt; during my tenure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4 co-founders&lt;/strong&gt;, each with 25% equity&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~30 production tables&lt;/strong&gt; — users, vehicles, diagnoses, garages, quotes, orders, payments, parts catalog, geography, coupons&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3 client apps&lt;/strong&gt; (consumer Android, FIXER mobile, garage web)&lt;/li&gt;
&lt;li&gt;Active from &lt;strong&gt;early 2017&lt;/strong&gt;; I led tech through &lt;strong&gt;January 2018&lt;/strong&gt;; the database ran in production until at least &lt;strong&gt;February 2019&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why-im-proud-of-it&#34;&gt;Why I&amp;rsquo;m proud of it&lt;/h2&gt;
&lt;p&gt;This was my first time leading a technical organization end-to-end — choosing the stack, setting team practices, and shipping a working three-sided marketplace from zero. The Elixir/Phoenix bet held up: small team, lots of moving parts, the system kept up. The product taught me that most of a startup is operations, design, and trust — not just code.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
