<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Docker on Carl Gaspar</title>
    <link>https://carlgaspar.com/tags/docker/</link>
    <description>Recent content in Docker on Carl Gaspar</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 04 Mar 2026 00:00:00 +0800</lastBuildDate>
    <atom:link href="https://carlgaspar.com/tags/docker/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Exam Reviewer Apps</title>
      <link>https://carlgaspar.com/projects/civil-service-exam-reviewer/</link>
      <pubDate>Wed, 04 Mar 2026 00:00:00 +0800</pubDate>
      <guid>https://carlgaspar.com/projects/civil-service-exam-reviewer/</guid>
      <description>&lt;p&gt;A family of Philippine licensure exam reviewers built on one shared engine. The Civil Service Exam (CSE) reviewer is live on Google Play with 11,000+ questions; a Licensure Exam for Teachers (LET) reviewer is in closed testing. Built under Gaspar Labs, my product umbrella. &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.gasparlabs.csereviewer1&#34;&gt;Link to Google Play Store&lt;/a&gt;. &lt;a href=&#34;https://gasparlabs.com/cse-reviewer/&#34;&gt;Link to Website&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://carlgaspar.com/images/projects/cse-reviewer-banner.png&#34; alt=&#34;&#34;  loading=&#34;lazy&#34; /&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;one-engine-many-reviewers&#34;&gt;One engine, many reviewers&lt;/h2&gt;&#xA;&lt;p&gt;The apps started as a single CSE reviewer. Rather than fork the codebase for each new exam, roughly 90% of the code now lives in a shared &lt;code&gt;reviewer_core&lt;/code&gt; package behind a single config seam — each app is a thin shell supplying its own config file and Firebase project. A new reviewer is a config, not a fork, and fixes ship to every app at once.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
