<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Go on Angelos Papamichail</title><link>https://angelospk.github.io/tags/go/</link><description>Recent content in Go on Angelos Papamichail</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 14 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://angelospk.github.io/tags/go/index.xml" rel="self" type="application/rss+xml"/><item><title>Carpool</title><link>https://angelospk.github.io/projects/carpool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/carpool/</guid><description>&lt;p>Fills empty seats on commutes people in one Greek prefecture already drive: drivers publish their routes, passengers post where they need to be, and a driver whose route passes nearby gets asked. There is no dispatching and no in-app payment; the driver always accepts explicitly. Go backend and Expo app, in active development.&lt;/p>
&lt;h2 id="the-problem">
 The problem
 &lt;a class="heading-link" href="#the-problem">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;p>Outside the big cities there is nothing to match a passenger with the
neighbour who drives that road every morning, and the platforms that exist
are built around a commission that makes a 40 km commute not worth listing.&lt;/p></description></item><item><title>DictationBar + soniox-core</title><link>https://angelospk.github.io/projects/dictation-stack/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/dictation-stack/</guid><description>&lt;p>Turns speech into clean text at the cursor in any macOS app, used every day for real work. A Swift menu-bar app streams audio to a concurrent Go server over WebSocket, and an LLM pass fixes punctuation and phrasing per user-editable profile.&lt;/p>
&lt;h2 id="implementation">
 Implementation
 &lt;a class="heading-link" href="#implementation">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Native macOS Client: Swift menu-bar app with a global hotkey, live status states, transcript history, and auto-paste into whichever app was active.&lt;/li>
&lt;li>Concurrent Go Core: Streams to real-time STT over WebSocket and also transcribes uploaded audio/video files up to 512 MB.&lt;/li>
&lt;li>Tunable LLM Cleanup: Cleanup prompts and profiles are plain files, applied per request with no restart, and tuned against real transcripts with an evaluation command.&lt;/li>
&lt;li>Daily-driver Reliability: Reconnecting sessions, cleanup-failure advisories, and per-session JSONL logs, because a tool you dictate emails with cannot silently drop text.&lt;/li>
&lt;/ul>
&lt;h2 id="links">
 Links
 &lt;a class="heading-link" href="#links">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/angelospk/soniox-core" class="external-link" target="_blank" rel="noopener">soniox-core&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/angelospk/dictation-bar" class="external-link" target="_blank" rel="noopener">DictationBar&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>SkipQ</title><link>https://angelospk.github.io/projects/skipq/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/skipq/</guid><description>&lt;h1 id="skipq">
 SkipQ
 &lt;a class="heading-link" href="#skipq">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h1>
&lt;p>&lt;strong>QR ordering and hospitality operations demo&lt;/strong>&lt;/p>
&lt;h2 id="overview">
 Overview
 &lt;a class="heading-link" href="#overview">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;p>SkipQ is a working demo of a QR ordering system for restaurants, beach bars, clubs, canteens,
festivals, and fast-service food businesses. The goal is to reduce service friction,
support self-ordering, and give venues live operational insights.&lt;/p>
&lt;h3 id="the-problem">
 The Problem
 &lt;a class="heading-link" href="#the-problem">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h3>
&lt;p>During peak hours, customers struggle to get served and staff spend too much
time on order intake instead of preparation and service quality.&lt;/p></description></item><item><title>Aloud</title><link>https://angelospk.github.io/projects/aloud/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/aloud/</guid><description>&lt;p>Lets someone book a Greek public-health appointment by speaking: streaming speech-to-text feeds a deterministic, fully tested engine that fills the real search form. It runs on top of the FindDoctors aggregator; two more demos cover legal intake and restaurant ordering. The orchestration behind the LLM front end is scripted code that can be tested, rather than another prompt.&lt;/p>
&lt;h2 id="the-problem">
 The problem
 &lt;a class="heading-link" href="#the-problem">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;p>Voice interfaces usually stop at dictation. Turning &amp;ldquo;βρες μου καρδιολόγο κοντά
μου την άλλη εβδομάδα&amp;rdquo; into an actual search, with slots, areas, and dates
resolved correctly, needs a deterministic engine behind the microphone.&lt;/p></description></item><item><title>FindDoctors Aggregator Server</title><link>https://angelospk.github.io/projects/find-doctors-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/find-doctors-server/</guid><description>&lt;p>Finds the earliest public-health appointment in one search instead of one provider at a time, across hospitals and primary-care centres on finddoctors.gov.gr. A Go service ranks results by soonest slot and distance; booking stays on the official portal, and live searches need an authenticated upstream session.&lt;/p>
&lt;h2 id="the-problem">
 The problem
 &lt;a class="heading-link" href="#the-problem">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;p>People need to compare availability across provider types and regions without repeating each search manually.&lt;/p></description></item><item><title>Finding a doctor's appointment by voice, in Greek</title><link>https://angelospk.github.io/posts/voice-appointment-finder/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/posts/voice-appointment-finder/</guid><description>&lt;p>Greece has a public system for booking appointments with doctors in public hospitals, health centres and doctors contracted with the national insurer (ΕΟΠΥΥ). It works, but finding the &lt;em>earliest&lt;/em> free slot near you means filling in a form, picking a specialty from a long official list, choosing a region, and repeating the search for each kind of provider. On a phone, that is a lot of tapping.&lt;/p>
&lt;p>I built a voice front end for it. You say something like &lt;em>«πονάει το γόνατό μου, θέλω ραντεβού στη Θεσσαλονίκη την άλλη εβδομάδα»&lt;/em> (&amp;ldquo;my knee hurts, I want an appointment in Thessaloniki next week&amp;rdquo;) and the app shows the nearest units and doctors with the earliest free dates. Booking still happens on the official portal.&lt;/p></description></item><item><title>Trading Automation Toolkit</title><link>https://angelospk.github.io/projects/trading-toolkit/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/trading-toolkit/</guid><description>&lt;h1 id="trading-automation-toolkit">
 Trading Automation Toolkit
 &lt;a class="heading-link" href="#trading-automation-toolkit">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h1>
&lt;p>&lt;strong>Go-based HTTP API Server for Programmatic Trading&lt;/strong>&lt;/p>
&lt;h2 id="overview">
 Overview
 &lt;a class="heading-link" href="#overview">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;p>A Go-based trading automation toolkit that provides an authenticated HTTP API server for programmatic stock trading. The system supports market, limit, stop, and stop-limit orders while carefully mimicking browser behavior to ensure reliability.&lt;/p>
&lt;p>The project evolved from a CLI tool into a full HTTP API server, enabling integration with other systems and automated trading strategies.&lt;/p></description></item><item><title>Order Local</title><link>https://angelospk.github.io/projects/order-local/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>https://angelospk.github.io/projects/order-local/</guid><description>&lt;h1 id="order-local">
 Order Local
 &lt;a class="heading-link" href="#order-local">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h1>
&lt;p>&lt;strong>Self-Hosted Restaurant Ordering System for Raspberry Pi&lt;/strong>&lt;/p>
&lt;h2 id="overview">
 Overview
 &lt;a class="heading-link" href="#overview">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h2>
&lt;p>Order Local is a self-hosted restaurant ordering system designed to run on Raspberry Pi. Customers scan QR codes at their table to browse the menu and place orders directly from their mobile browsers—no app installation required.&lt;/p>
&lt;p>The system prioritizes simplicity and reliability: a single Go binary with zero runtime dependencies, optimized to run on hardware as modest as a Raspberry Pi 3B+ with just 1GB of RAM.&lt;/p></description></item></channel></rss>