<?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: Manpi</title>
    <description>The latest articles on Forem by Manpi (@manpi).</description>
    <link>https://forem.com/manpi</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%2F3784043%2F3572e096-6600-403b-b12a-749cc062ebb8.png</url>
      <title>Forem: Manpi</title>
      <link>https://forem.com/manpi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/manpi"/>
    <language>en</language>
    <item>
      <title>From Excel Sheets to a Full Trading Terminal: How I Built MulMarket as a Solo Developer</title>
      <dc:creator>Manpi</dc:creator>
      <pubDate>Sat, 21 Feb 2026 15:06:56 +0000</pubDate>
      <link>https://forem.com/manpi/from-excel-sheets-to-a-full-trading-terminal-how-i-built-mulmarket-as-a-solo-developer-36i1</link>
      <guid>https://forem.com/manpi/from-excel-sheets-to-a-full-trading-terminal-how-i-built-mulmarket-as-a-solo-developer-36i1</guid>
      <description>&lt;p&gt;A while ago I got into CS2 skin trading casually. I wasn’t trying to become a full-time trader — I was mostly curious about how prices move and whether small arbitrage opportunities actually exist.&lt;/p&gt;

&lt;p&gt;What surprised me wasn’t the market itself, but how messy the workflow was.&lt;/p&gt;

&lt;p&gt;Every time I wanted to evaluate a single skin, I had to open multiple marketplace tabs, manually compare prices, calculate fees, and still never be completely sure if something was truly profitable.&lt;/p&gt;

&lt;p&gt;It felt less like trading and more like repetitive admin work.&lt;/p&gt;

&lt;p&gt;My first “solution”: spreadsheets&lt;/p&gt;

&lt;p&gt;Before writing a single line of code, I tried solving the problem with Excel.&lt;/p&gt;

&lt;p&gt;I built several spreadsheets to:&lt;/p&gt;

&lt;p&gt;track prices manually&lt;/p&gt;

&lt;p&gt;calculate ROI after fees&lt;/p&gt;

&lt;p&gt;monitor potential profit margins&lt;/p&gt;

&lt;p&gt;For a while, this worked.&lt;/p&gt;

&lt;p&gt;But the more I used them, the more obvious the limitations became:&lt;/p&gt;

&lt;p&gt;data had to be updated manually&lt;/p&gt;

&lt;p&gt;I still missed opportunities&lt;/p&gt;

&lt;p&gt;the workflow was slow and error-prone&lt;/p&gt;

&lt;p&gt;At some point I realized I was spending more time maintaining spreadsheets than actually analyzing the market.&lt;/p&gt;

&lt;p&gt;That’s when I decided to automate it.&lt;/p&gt;

&lt;p&gt;Building the first version&lt;/p&gt;

&lt;p&gt;I started developing a small desktop tool just for myself.&lt;/p&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;p&gt;See all relevant market data in one place and instantly understand profitability.&lt;/p&gt;

&lt;p&gt;The first version was extremely basic, but it already solved a major problem — it removed the need to constantly switch between tabs and manually calculate margins.&lt;/p&gt;

&lt;p&gt;Once I started using it daily, something interesting happened.&lt;/p&gt;

&lt;p&gt;It began to snowball.&lt;/p&gt;

&lt;p&gt;How it grew into a full system&lt;/p&gt;

&lt;p&gt;Every time I ran into a new frustration while trading, I added a feature to solve it.&lt;/p&gt;

&lt;p&gt;Over time the tool evolved to include:&lt;/p&gt;

&lt;p&gt;live price tracking across multiple markets&lt;/p&gt;

&lt;p&gt;automatic ROI calculations after fees&lt;/p&gt;

&lt;p&gt;arbitrage opportunity detection&lt;/p&gt;

&lt;p&gt;historical price trend analysis&lt;/p&gt;

&lt;p&gt;inventory value tracking&lt;/p&gt;

&lt;p&gt;customizable analytics dashboards&lt;/p&gt;

&lt;p&gt;What started as a simple automation script slowly turned into a full analytics terminal for CS2 skin trading.&lt;/p&gt;

&lt;p&gt;The unexpected challenge: support as a solo dev&lt;/p&gt;

&lt;p&gt;Once I shared the tool with friends and other traders, I realized another problem:&lt;/p&gt;

&lt;p&gt;Support.&lt;/p&gt;

&lt;p&gt;As a solo developer, I couldn’t realistically be available 24/7 to answer questions.&lt;/p&gt;

&lt;p&gt;So I built an AI support system on Discord that can handle common user questions and guide new users even when I’m offline.&lt;/p&gt;

&lt;p&gt;This turned out to be one of the most important decisions for keeping the project sustainable.&lt;/p&gt;

&lt;p&gt;Privacy-first by design&lt;/p&gt;

&lt;p&gt;Another decision I made early was to keep the tool privacy-friendly.&lt;/p&gt;

&lt;p&gt;MulMarket runs locally on the user’s machine and doesn’t collect personal data.&lt;/p&gt;

&lt;p&gt;This also meant avoiding ad-based monetization models.&lt;/p&gt;

&lt;p&gt;Free vs Pro version&lt;/p&gt;

&lt;p&gt;I released a free version so users could try the tool without commitment.&lt;/p&gt;

&lt;p&gt;The Pro version exists mainly to help cover infrastructure costs like servers, hosting, and ongoing development — since I’m working on the project alone.&lt;/p&gt;

&lt;p&gt;Lessons learned&lt;/p&gt;

&lt;p&gt;Building this project taught me several important things:&lt;/p&gt;

&lt;p&gt;Real problems make the best project ideas.&lt;/p&gt;

&lt;p&gt;Spreadsheets are often the first step before automation.&lt;/p&gt;

&lt;p&gt;Solo development requires thinking about sustainability early.&lt;/p&gt;

&lt;p&gt;Support systems are just as important as the product itself.&lt;/p&gt;

&lt;p&gt;Final thoughts&lt;/p&gt;

&lt;p&gt;It’s been fascinating watching something that started as personal frustration and a few Excel sheets gradually evolve into a full analytics tool used by other traders.&lt;/p&gt;

&lt;p&gt;If you’re curious, you can check it out here:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://mulmarket.store" rel="noopener noreferrer"&gt;https://mulmarket.store&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d love to hear feedback or discuss similar experiences — especially if you’ve ever turned a simple workaround into a real project.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufygkwnqdw8exrrwhwut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufygkwnqdw8exrrwhwut.png" alt=" " width="800" height="435"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F636vtzz6rvdcoj8lt933.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F636vtzz6rvdcoj8lt933.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkwhe1f6djyn4zh4jcck.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkwhe1f6djyn4zh4jcck.png" alt=" " width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>indiedev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
