Add private products section, Vibly and tdvorak.dev cards

Private repos surveyed via gh: Invico (Výdoz invoicing platform),
Soika, SwingMusic Extended, SendMail and Flashscore listed as
private/internal entries. Live screenshots added for Vibly and the
Next.js portfolio rebuild.

Authored By: TDvorak <[email protected]>

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Tomas DvorakandDevin committed 2026-09-20 11:37:30 +02:00
1 parent 885996a5dd
commit 58ff9708d9
4 files changed
+42

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

+40
View File
@@ -134,6 +134,22 @@
<p>Simple booking software for salons, clinics and local services — reservations, customers and team in one place.</p>
</div>
</a>
<a class="card" href="https://vibly-5m7g.vercel.app" target="_blank" rel="noopener">
<figure><img src="images/projects/vibly.png" alt="Vibly" loading="lazy"></figure>
<div class="card-body">
<div class="card-head"><h3>Vibly</h3><span class="tag">Studio</span></div>
<p>AI-driven product &amp; growth studio — from idea to production. My own studio's public site.</p>
</div>
</a>
<a class="card" href="https://t-dvorak-dev.vercel.app" target="_blank" rel="noopener">
<figure><img src="images/projects/tdvorakdev.png" alt="tdvorak.dev Next.js rebuild" loading="lazy"></figure>
<div class="card-body">
<div class="card-head"><h3>tdvorak.dev</h3><span class="tag">Next.js</span></div>
<p>Next-generation portfolio and shadcn registry, rebuilt on Next.js 16.</p>
</div>
</a>
</div>
<div class="row-list">
@@ -166,6 +182,30 @@
<span class="row-tag mono">GitHub</span><svg class="arrow" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M7 17 17 7M7 7h10v10"/></svg>
</a>
</div>
<p class="label mono sub-label">// Private &amp; internal</p>
<div class="row-list row-list-tight">
<div class="row row-static">
<div class="row-main"><h4>Invico</h4><p>Invoicing platform for the Czech market — issued invoices, zálohová, dobropis, ISDOC, SPD QR, PDF. The product behind Výdoz.</p></div>
<span class="row-tag mono">Go · React · Private</span>
</div>
<div class="row row-static">
<div class="row-main"><h4>Soika</h4><p>Internal e-commerce audit, compliance-risk and outreach platform — operator-only consulting tool.</p></div>
<span class="row-tag mono">Go · React · Private</span>
</div>
<div class="row row-static">
<div class="row-main"><h4>SwingMusic Extended</h4><p>Self-hosted music streaming ecosystem — extended backend, web client, desktop and mobile apps.</p></div>
<span class="row-tag mono">Private</span>
</div>
<div class="row row-static">
<div class="row-main"><h4>SendMail</h4><p>Self-hosted mail relay — powers this site's contact form.</p></div>
<span class="row-tag mono">Go · Private</span>
</div>
<div class="row row-static">
<div class="row-main"><h4>Flashscore Scraper</h4><p>Sports data scraper service.</p></div>
<span class="row-tag mono">Go · Private</span>
</div>
</div>
</div>
</section>
+2
View File
@@ -186,6 +186,8 @@ a { color: inherit; text-decoration: none; }
.row .arrow { color: var(--fg-faint); flex-shrink: 0; transition: transform 0.15s, color 0.15s; }
.row:hover .arrow { transform: translate(1px, -1px); color: var(--fg); }
.row-static { cursor: default; }
.sub-label { margin-top: 48px; }
.row-list-tight { margin-top: 16px; }
/* ============ Timeline ============ */
.timeline { margin-top: 40px; list-style: none; }