<?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>DEV Community: Horizon Software</title>
    <description>The latest articles on DEV Community by Horizon Software (@horizonsoftware).</description>
    <link>https://dev.to/horizonsoftware</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4023508%2Ff3fcb57c-2c5d-4d48-be25-d86b0a7399b1.png</url>
      <title>DEV Community: Horizon Software</title>
      <link>https://dev.to/horizonsoftware</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/horizonsoftware"/>
    <language>en</language>
    <item>
      <title>To The Moon: A Beginner Run Trainer Where Every Kilometre Counts</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Wed, 30 Sep 2026 06:24:31 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/to-the-moon-a-beginner-run-trainer-where-every-kilometre-counts-2404</link>
      <guid>https://dev.to/horizonsoftware/to-the-moon-a-beginner-run-trainer-where-every-kilometre-counts-2404</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most couch-to-5K apps have the same problem: you finish the programme, and then what? The scaffolding disappears exactly when the habit is still fragile. &lt;strong&gt;To The Moon&lt;/strong&gt; is a free Android run trainer built around that gap — it gets you off the couch with honest walk/run intervals, and then keeps you running long afterwards, because every kilometre you cover adds up towards real-world distance milestones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put your phone in your pocket and just move
&lt;/h2&gt;

&lt;p&gt;A full-screen player counts you through every interval with &lt;strong&gt;spoken voice cues&lt;/strong&gt;, a transition tone and a gentle haptic buzz, so you never need to look at the screen to know where you are. Your music or podcast is briefly lowered for each cue and brought straight back — not paused, not talked over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three programmes, at your own pace
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Beginner 5K&lt;/strong&gt; — an easy walk/run progression to get you moving. Free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5K to 10K&lt;/strong&gt; — build from your first 5K towards 10K.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10K to Half Marathon&lt;/strong&gt; — step up to the half-marathon distance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The second and third programmes unlock &lt;em&gt;permanently&lt;/em&gt; with a single rewarded video — once, not every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Journey: the bit that keeps you going
&lt;/h2&gt;

&lt;p&gt;This is what makes To The Moon different from every other interval timer. Every kilometre you run counts towards the next milestone on a themed journey. Start with the free &lt;strong&gt;Space&lt;/strong&gt; pack and set off for the Moon — then open more: World Landmarks, Legendary Routes, Animal Migrations and Historical Distances. Reach a milestone and the app celebrates properly with a fireworks finale; finish a pack and it loops as a fresh trip, so there is always a next goal in front of you.&lt;/p&gt;

&lt;p&gt;It reframes the question from “did I run today?” to “how far have I got?” — and a bad week costs you progress rather than a streak, which is a much kinder way to keep a habit alive.&lt;/p&gt;

&lt;h2&gt;
  
  
  GPS tracking, entirely optional
&lt;/h2&gt;

&lt;p&gt;Turn tracking on and To The Moon measures your distance, pace and route for that run, with an ongoing notification while you are out. Location is used &lt;strong&gt;only on your device&lt;/strong&gt; to measure and draw that session — never shared, never used for ads, and there is no background location. Prefer to keep it simple? Leave it off and just follow the intervals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Runs you did elsewhere still count
&lt;/h2&gt;

&lt;p&gt;Connect Health Connect and To The Moon can import running and walking workouts recorded in other apps or on a watch, so the runs you did not track here still push your journey forward. It reads your workout sessions and nothing else, and it is entirely opt-in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Honest walk/run intervals with spoken cues, a tone and a haptic buzz&lt;/li&gt;
&lt;li&gt;Your music ducked briefly for each cue, not paused&lt;/li&gt;
&lt;li&gt;Three programmes: Beginner 5K free, then 5K–10K and 10K–half marathon&lt;/li&gt;
&lt;li&gt;A themed journey where every kilometre counts towards real-world milestones&lt;/li&gt;
&lt;li&gt;Five journey packs, starting with Space and the Moon&lt;/li&gt;
&lt;li&gt;Optional GPS distance, pace and route — measured on your device only&lt;/li&gt;
&lt;li&gt;Optional Health Connect import so outside runs still count&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.tothemoon" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/to-moon.html" rel="noopener noreferrer"&gt;To The Moon app page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To The Moon is a training aid, not medical advice — if you are new to exercise or have any health concerns, check with your doctor before starting a running programme.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is To The Moon free?
&lt;/h3&gt;

&lt;p&gt;Yes — free to download, with the Beginner 5K programme and the Space journey pack included. The other two programmes unlock permanently with one rewarded video.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need GPS turned on?
&lt;/h3&gt;

&lt;p&gt;No. Tracking is entirely optional — the intervals work perfectly well without it. When it is on, location is used only on your device and there is no background tracking.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens when I finish the programme?
&lt;/h3&gt;

&lt;p&gt;That is rather the point: your journey carries on. Every kilometre keeps counting towards the next milestone, and a finished pack loops as a fresh trip.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do runs from my watch count?
&lt;/h3&gt;

&lt;p&gt;They can. Connect Health Connect and To The Moon imports running and walking workouts recorded elsewhere, so they add to your journey too.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is it suitable for a complete beginner?
&lt;/h3&gt;

&lt;p&gt;Yes — the Beginner 5K programme is an easy walk/run progression designed for exactly that, taken at your own pace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.tothemoon" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapp</category>
      <category>beginnerrunning</category>
      <category>couchto5k</category>
      <category>fitness</category>
    </item>
    <item>
      <title>ToolTally: A Free Offline Tool Inventory with an Insurance Claim Pack</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Wed, 30 Sep 2026 06:02:06 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/tooltally-a-free-offline-tool-inventory-with-an-insurance-claim-pack-3ck8</link>
      <guid>https://dev.to/horizonsoftware/tooltally-a-free-offline-tool-inventory-with-an-insurance-claim-pack-3ck8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ask any tradesperson what their tools are worth and you will get a shrug and a guess. Ask them to prove it to an insurer the week after a van gets emptied and it becomes a genuine problem — receipts long gone, serial numbers unrecorded, and no photographs of anything. &lt;strong&gt;ToolTally&lt;/strong&gt; is a free Android app that fixes that before it happens: a complete record of every tool you own, with the paperwork an insurer actually asks for, built on your phone and kept there.&lt;/p&gt;

&lt;h2&gt;
  
  
  A proper record of every tool
&lt;/h2&gt;

&lt;p&gt;Log each tool with photos, brand and model, serial number, purchase date and price, your own estimated value, its condition, and where it lives — van, home, site or storage. Add per-tool insurance details (insurer, policy number, renewal date, sum insured and excess), and mark a tool &lt;strong&gt;Active, Stolen, Sold or Retired&lt;/strong&gt; as things change. It is the sort of record that takes two minutes per tool and is worth a great deal exactly once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Never miss a warranty again
&lt;/h2&gt;

&lt;p&gt;Set a warranty expiry, or just enter the purchase date and the warranty length and let ToolTally work it out. You get a local reminder before it runs out, so you can claim or replace while the claim is still live. Reminders are scheduled on the device — no account, no server.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Insurance Claim Pack
&lt;/h2&gt;

&lt;p&gt;This is the feature ToolTally is built around. In one action it produces a single tidy ZIP containing a &lt;strong&gt;formatted PDF, a spreadsheet-friendly CSV and all your photos&lt;/strong&gt; for whichever tools you choose — every active tool, stolen tools only, or a custom selection — ready to hand to your insurer to support a claim or a quote. It turns the worst admin week of a tradesperson’s year into a single export.&lt;/p&gt;

&lt;p&gt;To be straight about what it is: the pack is a record &lt;em&gt;you&lt;/em&gt; compile. It is not insurance, not a valuation and not proof of cover, and ToolTally does not provide or arrange insurance.&lt;/p&gt;

&lt;h2&gt;
  
  
  A bonus toolbox that earns its place
&lt;/h2&gt;

&lt;p&gt;Because the phone is already in your hand on site, ToolTally includes a set of genuinely useful utilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spirit level and angle finder, with a roof-pitch readout&lt;/li&gt;
&lt;li&gt;Camera measure — estimate distance and area using your device’s AR&lt;/li&gt;
&lt;li&gt;Trade calculator for feet-inch-fractions and millimetre tallies&lt;/li&gt;
&lt;li&gt;Unit converter for common trade units&lt;/li&gt;
&lt;li&gt;Metal and stud detector using the magnetometer&lt;/li&gt;
&lt;li&gt;Materials estimator for paint, flooring and concrete&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Free, and honest about the ads
&lt;/h2&gt;

&lt;p&gt;ToolTally is free and supported by ads, with no in-app purchases. A banner sits at the bottom, and an interstitial appears when you open a Bonus Toolbox utility. One optional rewarded video opens a &lt;strong&gt;24-hour Premium window&lt;/strong&gt; that removes those interstitials (the banner stays) and unlocks the Insurance Claim Pack export, the materials estimate, custom multi-stage warranty reminders and extra tool slots.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A full record of every tool — photos, serial, purchase price, value, condition and location&lt;/li&gt;
&lt;li&gt;Per-tool insurance details, and Active/Stolen/Sold/Retired status&lt;/li&gt;
&lt;li&gt;Warranty reminders worked out from a purchase date and term&lt;/li&gt;
&lt;li&gt;The Insurance Claim Pack — PDF, CSV and photos in one ZIP&lt;/li&gt;
&lt;li&gt;Spirit level, angle finder, AR camera measure and stud detector&lt;/li&gt;
&lt;li&gt;Trade calculator, unit converter and materials estimator&lt;/li&gt;
&lt;li&gt;Works fully offline on site — no account, no cloud, no signal needed&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.tooltally" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/tooltally.html" rel="noopener noreferrer"&gt;ToolTally app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is ToolTally free?
&lt;/h3&gt;

&lt;p&gt;Yes — free to download, supported by ads, with no in-app purchases. One optional rewarded video opens a 24-hour window that removes interstitials and unlocks the claim-pack export and a few extras.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does it work without a signal?
&lt;/h3&gt;

&lt;p&gt;Completely. There is no account and no cloud, so it works in a basement or a paddock. Your records and photos stay on your device.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is in the Insurance Claim Pack?
&lt;/h3&gt;

&lt;p&gt;One ZIP with a formatted PDF, a CSV you can open in a spreadsheet, and every photo, for the tools you select — all active tools, stolen only, or a custom list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is ToolTally insurance?
&lt;/h3&gt;

&lt;p&gt;No. It helps you compile your own record to support a claim or a quote. It is not insurance, a valuation or proof of cover, and it does not provide or arrange cover.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will it remind me before a warranty expires?
&lt;/h3&gt;

&lt;p&gt;Yes — enter an expiry, or a purchase date and warranty length, and it schedules a local reminder on your device.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.tooltally" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapp</category>
      <category>toolinsurance</category>
      <category>toolinventory</category>
      <category>tooltally</category>
    </item>
    <item>
      <title>Sales Sparring: Practise Sales Conversations Against Six Difficult Buyers</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Wed, 30 Sep 2026 06:02:01 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/sales-sparring-practise-sales-conversations-against-six-difficult-buyers-4jo</link>
      <guid>https://dev.to/horizonsoftware/sales-sparring-practise-sales-conversations-against-six-difficult-buyers-4jo</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nobody gets better at selling by reading about it. You get better by having the conversation badly, seeing exactly where it went wrong, and having it again — which is hard to arrange when every practice run costs you a real prospect. &lt;strong&gt;Sales Sparring&lt;/strong&gt; is a free Android app that gives you the reps: a simulated sales conversation against a genuinely difficult buyer, followed by a coached debrief that explains every answer you gave. It runs entirely on your device, with no account and nothing you type ever leaving your phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Six buyers, each a different problem
&lt;/h2&gt;

&lt;p&gt;The buyers are not difficulty settings with different names — each one breaks a different part of your game:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Skeptic&lt;/strong&gt; — wants proof before reacting to anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Bargain Hunter&lt;/strong&gt; — anchors on price from the first line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Time-Pressed Exec&lt;/strong&gt; — cuts long answers short.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Silent Type&lt;/strong&gt; — gives you almost nothing to work with.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Loyal to a Competitor&lt;/strong&gt; — keeps returning to the supplier they already have.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Aggressive Negotiator&lt;/strong&gt; — pushes back on every claim and tests your composure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each is a pattern of behaviour rather than a type of person, backed by hundreds of authored lines and a hidden mood that reacts to what you have said so far. The same buyer never plays the same way twice.&lt;/p&gt;

&lt;h2&gt;
  
  
  A real conversation, in four stages
&lt;/h2&gt;

&lt;p&gt;A session runs through &lt;strong&gt;Opening, Discovery, Objection Handling&lt;/strong&gt; and &lt;strong&gt;Close&lt;/strong&gt;, in a situation rolled fresh each time — a different industry, offering and buyer role. Answer well and the buyer warms to you. Push too hard, stall, or give ground too early and you can lose the room long before you get near a close.&lt;/p&gt;

&lt;h2&gt;
  
  
  A coached debrief, not just a score
&lt;/h2&gt;

&lt;p&gt;This is the part that actually teaches. Every session ends with a &lt;strong&gt;Deal Score&lt;/strong&gt; and four skill scores — rapport, objection handling, confidence and closing — then walks you back through the conversation line by line, explaining what each answer did and why. You also get a tip aimed at whichever skill is currently your weakest. It is the feedback a good sales manager would give you if they had time to sit in on every call.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nothing is for sale — rank is the only key
&lt;/h2&gt;

&lt;p&gt;Worth being clear about, because it shapes the whole app: new buyers and harder difficulty are unlocked by &lt;strong&gt;rank alone&lt;/strong&gt;. Nothing in Sales Sparring can be bought, and nothing is unlocked by watching an ad. Ten ranks are earned with XP across three difficulty bands — Rookie, Pro and Elite — where the higher bands mean longer stages, closer-run choices, less patience, and at Elite no visible read on the buyer’s mood at all. There is a career ladder of 30 assignments, a Daily Challenge with a streak, and 24 badges weighted towards good habits rather than grinding. At higher ranks you stop picking from a list and &lt;strong&gt;type your own&lt;/strong&gt; close or objection rebuttal.&lt;/p&gt;

&lt;h2&gt;
  
  
  See where you are actually improving
&lt;/h2&gt;

&lt;p&gt;The stats screen keeps your history: sessions played, how often you closed, best and average Deal Score, a trend chart of your four skills over time, how you have fared against each buyer, and every past conversation to read back in full.&lt;/p&gt;

&lt;h2&gt;
  
  
  A free sales library, and Training Mode
&lt;/h2&gt;

&lt;p&gt;Seventeen original articles on openings, questions, objections, price and closing are included, free, with nothing to unlock. There is also &lt;strong&gt;Training Mode&lt;/strong&gt;, which grades every answer as you give it and shows the coaching behind it instead of waiting for the debrief — that one is opened by watching a single optional rewarded video.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Six buyer personalities, each with its own failure mode to beat&lt;/li&gt;
&lt;li&gt;Four-stage conversations in a freshly rolled situation every time&lt;/li&gt;
&lt;li&gt;A Deal Score, four skill scores and a line-by-line coached debrief&lt;/li&gt;
&lt;li&gt;Ten ranks, three difficulty bands and a 30-rung career ladder — rank is the only unlock&lt;/li&gt;
&lt;li&gt;A Daily Challenge with a streak, and 24 badges&lt;/li&gt;
&lt;li&gt;Typed responses at higher ranks, graded on your device&lt;/li&gt;
&lt;li&gt;Stats, skill trends and every past transcript&lt;/li&gt;
&lt;li&gt;Seventeen free sales articles&lt;/li&gt;
&lt;li&gt;Works fully offline — no account, and nothing you type is sent anywhere&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.salessparring" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/sales-sparring.html" rel="noopener noreferrer"&gt;Sales Sparring app page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sales Sparring is a practice tool, not a certification or a professional training programme, and it does not teach any branded sales methodology. All dialogue is original and no real company appears in the app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is Sales Sparring free?
&lt;/h3&gt;

&lt;p&gt;Yes — free to download, supported by ads, with no in-app purchases. Training Mode is opened by one optional rewarded video; everything else is earned by rank.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does it need an internet connection?
&lt;/h3&gt;

&lt;p&gt;No. The conversations run entirely on your device, and anything you type is graded on the phone and never sent anywhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I buy my way to the harder buyers?
&lt;/h3&gt;

&lt;p&gt;No, and that is deliberate. Buyers and difficulty bands are unlocked by rank only — not by paying and not by watching ads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is it useful if I am not in sales?
&lt;/h3&gt;

&lt;p&gt;The skills travel further than you would think — handling objections, staying composed under pressure and asking better questions are useful in any negotiation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.salessparring" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapp</category>
      <category>coldcalling</category>
      <category>negotiation</category>
      <category>objectionhandling</category>
    </item>
    <item>
      <title>LandlordMate: Free Offline Rental Property Management for Landlords</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Tue, 25 Aug 2026 05:50:26 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/landlordmate-free-offline-rental-property-management-for-landlords-3e94</link>
      <guid>https://dev.to/horizonsoftware/landlordmate-free-offline-rental-property-management-for-landlords-3e94</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Being a landlord is mostly admin. The rent comes in, the invoices go out, a certificate expires, a tenancy ends, and somewhere in a shoebox or a spreadsheet is the paperwork your accountant will ask for in nine months’ time. &lt;strong&gt;LandlordMate&lt;/strong&gt; is a free Android app that puts the whole rental business in one place — income, expenses, tenants, compliance, inspections and tax-ready reports — and it runs entirely on your own device, with no account and no subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  The whole portfolio in one place
&lt;/h2&gt;

&lt;p&gt;Start with your properties and build outwards: tenants and tenancies, mortgages, and valuations that show your live equity as the numbers move. Whether it is one flat or a growing portfolio, everything sits under one roof instead of across a spreadsheet, a folder of PDFs and your memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Income and expenses, with the tax handled properly
&lt;/h2&gt;

&lt;p&gt;This is where most landlord tools get vague and most spreadsheets get wrong. LandlordMate records income and expenses with &lt;strong&gt;proper GST, VAT and sales-tax handling&lt;/strong&gt;, and its settings are jurisdiction-aware — New Zealand, Australia, the US, the UK and more. Snap a receipt and on-device OCR reads the details for you. Set up recurring transactions and they land in a &lt;strong&gt;confirm-and-reconcile queue&lt;/strong&gt; rather than posting silently, so the rent you were &lt;em&gt;expecting&lt;/em&gt; never gets mistaken for the rent you actually &lt;em&gt;received&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Depreciation that behaves like real depreciation
&lt;/h2&gt;

&lt;p&gt;Keep an asset register with proper depreciation schedules — straight-line or diminishing value, following your jurisdiction’s conventions, including mid-life method switching. It is the sort of thing a spreadsheet technically can do and almost nobody maintains correctly for five years running.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspections, maintenance and compliance
&lt;/h2&gt;

&lt;p&gt;Walk a property room by room, recording condition notes and photos as you go, then export a polished &lt;strong&gt;PDF inspection report&lt;/strong&gt; — and save your own templates so the next inspection is faster. Log maintenance jobs against a contractor directory you build up over time. Track compliance certificates and documents with &lt;strong&gt;expiry reminders&lt;/strong&gt;, so a smoke-alarm or insurance renewal never quietly lapses. There are local reminders for lease expiry and overdue rent too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reports your accountant will actually accept
&lt;/h2&gt;

&lt;p&gt;At the end of the year the records turn into something useful: a tax summary, loss carry-forward, and export to CSV or PDF. If you use a property manager, LandlordMate can &lt;strong&gt;reconcile their statements&lt;/strong&gt; — with optional PDF auto-fill — turning management fees into proper records instead of a line you retype. The investor dashboard shows the portfolio at a glance, with a trend chart over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Private by design — and no subscription
&lt;/h2&gt;

&lt;p&gt;Your properties, tenants, records, photos and documents stay on your device. There is no account to create and nothing is uploaded to us. If you want your data on a second device, sync runs through &lt;strong&gt;your own cloud folder or a shared file&lt;/strong&gt; — we operate no server and never receive your data. There is full local backup and restore to a .zip you keep, and an optional PIN lock.&lt;/p&gt;

&lt;p&gt;LandlordMate is free and supported by banner ads, with no in-app purchases. A short rewarded video unlocks the premium actions for 24 hours — report export, receipt OCR, the dashboard trend chart, multi-property dashboards and cross-device sync.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Properties, tenants, mortgages and valuations with live equity&lt;/li&gt;
&lt;li&gt;Income and expenses with GST/VAT/sales-tax handling for NZ, AU, US, UK and more&lt;/li&gt;
&lt;li&gt;On-device receipt scanning, and recurring transactions with a confirm-and-reconcile queue&lt;/li&gt;
&lt;li&gt;An asset register with straight-line or diminishing-value depreciation&lt;/li&gt;
&lt;li&gt;Room-by-room inspections with photos, exported as a PDF report&lt;/li&gt;
&lt;li&gt;Maintenance jobs, a contractor directory and compliance expiry reminders&lt;/li&gt;
&lt;li&gt;Property-manager statement reconciliation&lt;/li&gt;
&lt;li&gt;Tax summary, loss carry-forward and CSV or PDF export&lt;/li&gt;
&lt;li&gt;Offline-first — no account, no subscription, nothing uploaded to us&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.landlordmate" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/landlordmate.html" rel="noopener noreferrer"&gt;LandlordMate app page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;LandlordMate helps you keep records; it does not provide tax, legal or financial advice. Check anything that matters with your accountant or adviser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is LandlordMate free?
&lt;/h3&gt;

&lt;p&gt;Yes — free to download, supported by banner ads, with no in-app purchases and no subscription. A short rewarded video unlocks the premium actions for 24 hours.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is my data uploaded anywhere?
&lt;/h3&gt;

&lt;p&gt;No. Everything is stored locally on your device, and there is no account. If you sync to another device it goes through your own cloud folder or a shared file — we run no server and never receive your data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does it handle GST or VAT?
&lt;/h3&gt;

&lt;p&gt;It does, with jurisdiction-aware settings covering New Zealand, Australia, the US, the UK and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can it produce reports for my accountant?
&lt;/h3&gt;

&lt;p&gt;Yes — a tax summary and loss carry-forward, exportable to CSV or PDF, plus PDF inspection reports.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many properties can I track?
&lt;/h3&gt;

&lt;p&gt;As many as you like. It is built for single-property landlords and growing portfolios alike.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.landlordmate" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapp</category>
      <category>compliance</category>
      <category>landlordapp</category>
      <category>landlordmate</category>
    </item>
    <item>
      <title>Tintbox: A Free Offline Colour Palette Generator for Designers and Developers</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Fri, 21 Aug 2026 05:51:53 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/tintbox-a-free-offline-colour-palette-generator-for-designers-and-developers-5842</link>
      <guid>https://dev.to/horizonsoftware/tintbox-a-free-offline-colour-palette-generator-for-designers-and-developers-5842</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every designer and developer has done this: found a colour they like, then spent twenty minutes squinting at a colour wheel trying to work out what goes &lt;em&gt;with&lt;/em&gt; it — and another ten converting the result into whatever format the project needs. &lt;strong&gt;Tintbox&lt;/strong&gt; is a free Android app that collapses both jobs into a few taps. Pick a colour, get a palette built on real colour theory, check it for accessibility, and export it straight into your codebase. It works completely offline, with no account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with one colour, get a palette
&lt;/h2&gt;

&lt;p&gt;Type an exact HEX, RGB or HSL value, or drag the sliders until it looks right. Tintbox then builds the classic colour-theory harmonies around it — &lt;strong&gt;complementary, analogous, triadic, monochromatic and tetradic&lt;/strong&gt; — so you can see five credible directions instead of guessing at one. Tap any swatch to copy it as HEX, rgb(...) or hsl(...).&lt;/p&gt;

&lt;h2&gt;
  
  
  Steal a palette from a photo
&lt;/h2&gt;

&lt;p&gt;Some of the best palettes are already out in the world — a shopfront, a sunset, a book cover. Point Tintbox at a photo from your camera or gallery and it pulls a palette out of the image. Need one specific colour rather than a whole scheme? The eyedropper samples the exact value of any single pixel you tap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accessibility built in, not bolted on
&lt;/h2&gt;

&lt;p&gt;A palette that looks lovely and fails contrast is a palette you will have to redo. Tintbox includes a &lt;strong&gt;WCAG contrast checker&lt;/strong&gt; — pick any two colours and see the contrast ratio with clear AA and AAA pass/fail marks for both normal and large text. There is also a &lt;strong&gt;colour-blindness simulator&lt;/strong&gt;, so you can preview a palette as it appears with protanopia, deuteranopia and tritanopia before you commit to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Export straight into your project
&lt;/h2&gt;

&lt;p&gt;This is the part that saves the most time. Tintbox turns a palette into actual code in &lt;strong&gt;17 formats&lt;/strong&gt;: CSS custom properties, SCSS, Less, CSS &lt;a class="mentioned-user" href="https://dev.to/theme"&gt;@theme&lt;/a&gt; (Tailwind v4), Tailwind config, JSON, W3C Design Tokens, SwiftUI, Jetpack Compose, Flutter, Android colours XML, MAUI XAML, GIMP/Inkscape .gpl, SVG swatches, and raw HEX, RGB and HSL lists. You can tidy the output as it comes — semantic colour names, hex casing and indentation. CSS and SCSS are always free; the full set unlocks with a single short video.&lt;/p&gt;

&lt;h2&gt;
  
  
  Or start from something designed
&lt;/h2&gt;

&lt;p&gt;Some days you do not want to generate anything. Tintbox ships with &lt;strong&gt;thirty hand-picked palette packs&lt;/strong&gt; — Coastal, Cyberpunk, Autumn Harvest, Retro and plenty more — for when you would rather begin with a palette someone has already balanced.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Precise HEX, RGB and HSL entry, plus sliders&lt;/li&gt;
&lt;li&gt;Five harmony types from any base colour&lt;/li&gt;
&lt;li&gt;Palette extraction from any photo, plus a pixel eyedropper&lt;/li&gt;
&lt;li&gt;WCAG contrast checker with AA and AAA marks&lt;/li&gt;
&lt;li&gt;Colour-blindness simulator (protanopia, deuteranopia, tritanopia)&lt;/li&gt;
&lt;li&gt;Export to 17 developer formats, with a prettifier&lt;/li&gt;
&lt;li&gt;Thirty curated palette packs&lt;/li&gt;
&lt;li&gt;A local palette library with full ZIP backup and restore&lt;/li&gt;
&lt;li&gt;Works fully offline — no account, no sign-up&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.tintbox" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/tintbox.html" rel="noopener noreferrer"&gt;Tintbox app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is Tintbox free?
&lt;/h3&gt;

&lt;p&gt;Yes — Tintbox is free to download from Google Play. CSS and SCSS export are always free, and the full set of 17 formats unlocks with a single short video.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does it work offline?
&lt;/h3&gt;

&lt;p&gt;Completely. There is no account and no sign-up, and every palette you make stays on your device.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I get a palette out of a photo?
&lt;/h3&gt;

&lt;p&gt;Yes. Take a photo or pick one from your gallery and Tintbox extracts a palette from it — or use the eyedropper to sample one exact pixel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which export formats are supported?
&lt;/h3&gt;

&lt;p&gt;Seventeen, including CSS custom properties, SCSS, Less, Tailwind (config and v4 &lt;a class="mentioned-user" href="https://dev.to/theme"&gt;@theme&lt;/a&gt;), JSON, W3C Design Tokens, SwiftUI, Jetpack Compose, Flutter, Android XML, MAUI XAML, GIMP/Inkscape and SVG swatches.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can it check colour contrast?
&lt;/h3&gt;

&lt;p&gt;It can. Pick any two colours and Tintbox shows the WCAG contrast ratio with AA and AAA pass/fail marks for normal and large text, and can simulate three types of colour blindness.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.tintbox" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>androidapp</category>
      <category>colorpalette</category>
      <category>colourpalettegenerator</category>
    </item>
    <item>
      <title>Building an offline-first travel app in .NET MAUI (on-device OCR, currency &amp; maps, no backend)</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Sat, 08 Aug 2026 05:59:55 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/building-an-offline-first-travel-app-in-net-maui-on-device-ocr-currency-maps-no-backend-ecd</link>
      <guid>https://dev.to/horizonsoftware/building-an-offline-first-travel-app-in-net-maui-on-device-ocr-currency-maps-no-backend-ecd</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A build note from &lt;strong&gt;Horizon Software&lt;/strong&gt;, a one-person Android studio. &lt;a href="https://play.google.com/store/apps/details?id=com.horizon.wanderwallet" rel="noopener noreferrer"&gt;WanderWallet&lt;/a&gt; is a travel budget app, and the whole thing runs on the phone: no account, no backend, no cloud. Here's how the parts that &lt;em&gt;look&lt;/em&gt; like they need a server actually work without one.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The one constraint that shaped everything
&lt;/h2&gt;

&lt;p&gt;WanderWallet has a single non-negotiable rule: &lt;strong&gt;it has to work with no signal.&lt;/strong&gt; You're three countries into a trip, your phone's in airplane mode to dodge roaming charges, and you still need to know whether you're on budget. That one requirement quietly makes most of the architectural decisions for you — no login, no server round-trips, and every feature that would normally lean on a cloud API has to earn its keep another way.&lt;/p&gt;

&lt;p&gt;The stack is deliberately boring: &lt;strong&gt;.NET MAUI&lt;/strong&gt; (Android-first), &lt;strong&gt;CommunityToolkit.Mvvm&lt;/strong&gt;, &lt;strong&gt;sqlite-net-pcl&lt;/strong&gt; for storage, and &lt;strong&gt;SkiaSharp&lt;/strong&gt; for anything I draw myself. Everything the app records lives in a local SQLite database on the device and nowhere else. "Backup" is a file you export and keep — there's no server to back up &lt;em&gt;to&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The three features people assume need a backend turned out to be the most interesting to build, precisely because they don't.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Currency conversion that survives airplane mode
&lt;/h2&gt;

&lt;p&gt;A travel budget app that can't convert currencies offline is useless at exactly the moment you need it. So rates aren't fetched on demand. Whenever the app happens to have a connection it refreshes exchange rates for ~155 currencies and &lt;strong&gt;caches the whole table locally&lt;/strong&gt;. From then on every conversion is local arithmetic — a connection only ever buys you a fresher table, never the ability to convert.&lt;/p&gt;

&lt;p&gt;The design decision that took me longest to get right: &lt;strong&gt;capture the conversion immutably, at entry time.&lt;/strong&gt; Each expense stores the original amount, its original currency, the converted home-currency amount, &lt;em&gt;and the exact rate used&lt;/em&gt; — and that rate is never recalculated:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Expense&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;Amount&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;              &lt;span class="c1"&gt;// in OriginalCurrency&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;OriginalCurrency&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;    &lt;span class="c1"&gt;// e.g. "JPY"&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;AmountHome&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;          &lt;span class="c1"&gt;// converted to home currency&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;ExchangeRateUsed&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;    &lt;span class="c1"&gt;// frozen — never recalculated&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's tempting to store only the original amount and reconvert on the fly against the current table. Don't. If you reconvert history every time rates move, that 3,000-yen lunch silently changes price weeks later and your past budgets drift. What you spent that day is a fact — freeze it.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. On-device receipt OCR (nothing leaves the phone)
&lt;/h2&gt;

&lt;p&gt;Point the camera at a receipt and the app fills in the amount, date and merchant. The obvious implementation is a cloud OCR API — and it's the wrong one here twice over: it needs a signal, and it ships photos of your receipts to someone else's server.&lt;/p&gt;

&lt;p&gt;So the text recognition runs &lt;strong&gt;on the device&lt;/strong&gt;, through &lt;a href="https://www.nuget.org/packages/Plugin.Maui.OCR" rel="noopener noreferrer"&gt;Plugin.Maui.OCR&lt;/a&gt;, which sits on top of the platform's built-in recognizer (ML Kit on Android). That hands you raw text and bounding boxes, which is only half the problem. Turning a messy wall of receipt text into &lt;em&gt;amount / date / merchant&lt;/em&gt; is a custom parser: pick out money-shaped tokens, prefer the ones sitting near words like "total", validate against date patterns, and fail gracefully when a crumpled receipt returns nonsense. That heuristics layer is where the real work went — and it never has to phone home.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. An offline map with no map SDK
&lt;/h2&gt;

&lt;p&gt;"Show my trip on a map" almost always pulls in a mapping SDK streaming tiles over the network — the one thing I don't have. So the map is drawn by hand, and it's simpler than it sounds. There's a single bundled equirectangular world image (a Creative-Commons one from Wikimedia), a tiny &lt;strong&gt;plate carrée projection&lt;/strong&gt; that turns any latitude/longitude into a 0..1 coordinate on that image, and SkiaSharp to drop a pin for each leg and connect the route:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="c1"&gt;// The entire projection. Lat/lon in, 0..1 canvas coordinates out.&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;Project&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lat&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="n"&gt;lon&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lon&lt;/span&gt; &lt;span class="p"&gt;+&lt;/span&gt; &lt;span class="m"&gt;180.0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt; &lt;span class="m"&gt;360.0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;90.0&lt;/span&gt; &lt;span class="p"&gt;-&lt;/span&gt;  &lt;span class="n"&gt;lat&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt; &lt;span class="m"&gt;180.0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Clamp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Clamp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One image, a few lines of maths, a canvas. No SDK, no tiles, no API key, no network — and because it's all SkiaSharp it renders straight to a PNG you can share. The pins come from a small bundled table of country centroids, so even the "where is this place" lookup is offline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Auto-budgets from a bundled dataset
&lt;/h2&gt;

&lt;p&gt;The same offline-first thinking runs through the budgeting. A bundled JSON dataset of ~139 destinations — each with typical daily costs at three travel styles — lets the app suggest a per-leg budget the moment you add a stop, no lookup required. (It also quietly powers a little &lt;a href="https://horizonsoftwarenz.blogspot.com/p/travel-budget-calculator.html" rel="noopener noreferrer"&gt;travel budget calculator&lt;/a&gt; on the website.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Being honest about the network
&lt;/h2&gt;

&lt;p&gt;The app isn't network-&lt;em&gt;free&lt;/em&gt;, and it'd be dishonest to claim otherwise. Exactly two things reach out: an &lt;strong&gt;optional&lt;/strong&gt; exchange-rate refresh, and &lt;strong&gt;ads&lt;/strong&gt; (AdMob via Plugin.MauiMtAdmob, with Google's UMP for consent). Everything else — trips, expenses, receipts, the map, backups — is local. "Offline-first" here means the app is completely usable in airplane mode, and the worst a lost connection does is leave you on a slightly stale rate table.&lt;/p&gt;

&lt;h2&gt;
  
  
  Would I build it this way again?
&lt;/h2&gt;

&lt;p&gt;Offline-first costs you up front. You re-implement things a backend would have handed you for free, and you think harder about what "source of truth" means when there's no server to arbitrate. But in return you get a product promise you can actually keep: no account, nothing uploaded, works anywhere. For a travel app, that turned out to &lt;em&gt;be&lt;/em&gt; the pitch.&lt;/p&gt;

&lt;p&gt;WanderWallet is &lt;a href="https://play.google.com/store/apps/details?id=com.horizon.wanderwallet" rel="noopener noreferrer"&gt;free on Google Play&lt;/a&gt; if you want to see it in action, and there's a &lt;a href="https://horizonsoftwarenz.blogspot.com/p/wanderwallet.html" rel="noopener noreferrer"&gt;feature rundown here&lt;/a&gt;. Happy to talk MAUI, SkiaSharp or offline-first trade-offs in the comments.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt; — a small studio making simple, offline-first Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>maui</category>
      <category>csharp</category>
      <category>android</category>
    </item>
    <item>
      <title>Dear Diary: A Private, Offline Mood Journal for Android</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Mon, 03 Aug 2026 07:31:49 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/dear-diary-a-private-offline-mood-journal-for-android-54hk</link>
      <guid>https://dev.to/horizonsoftware/dear-diary-a-private-offline-mood-journal-for-android-54hk</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most journaling apps want you to create an account, sync to a cloud, and trust a company with your most private thoughts. &lt;strong&gt;Dear Diary&lt;/strong&gt; takes the opposite view. It’s a free Android journal that keeps every word, mood and photo on your phone — no account, no login, no cloud — and quietly helps you notice the patterns in how you’ve been feeling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with how you feel
&lt;/h2&gt;

&lt;p&gt;Every entry begins with a simple mood check-in — calm, content, tired, low or stressed — and then you write. Some days you’ll have plenty to say; other days you won’t know where to start, and that’s exactly what the roughly 150 built-in prompts are for. A single gentle question is often all it takes to get the words moving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Echoes: a journal that notices
&lt;/h2&gt;

&lt;p&gt;Dear Diary’s signature feature is &lt;strong&gt;Echoes&lt;/strong&gt;, and it works entirely on your device. It can gently flag when your words read differently to the mood you tapped, resurface past entries where you wrote about the same thing before, and show a light, plain-language reflection of your recent mood trend. Echoes only ever describes what you’ve actually logged — it never diagnoses, and it never judges.&lt;/p&gt;

&lt;h2&gt;
  
  
  See your months at a glance
&lt;/h2&gt;

&lt;p&gt;A month calendar gives every day a mood-colour dot, so a single glance shows how a week or a month really went. &lt;strong&gt;On This Day&lt;/strong&gt; brings back entries from the same date in previous years, and full-text search and tags let you find any moment you’ve written down — the good days and the hard ones alike.&lt;/p&gt;

&lt;h2&gt;
  
  
  Private by design
&lt;/h2&gt;

&lt;p&gt;This is the part that matters most. Everything you write stays on your device, in a local database and local files. There’s no cloud sync and no backup to us, so nothing ever leaves your phone unless you choose to export it. You can lock the app with a PIN, attach photos that are never uploaded, and export any date range to plain text or PDF — always free, never behind an ad. And if you’re going through a hard time, the built-in Get Support screen lists region-appropriate helplines and stays completely ad-free.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Works 100% offline — no account, no login, no cloud&lt;/li&gt;
&lt;li&gt;A mood check-in and around 150 optional writing prompts&lt;/li&gt;
&lt;li&gt;Echoes: gentle nudges, related past entries and a light mood-trend card&lt;/li&gt;
&lt;li&gt;A month calendar with a mood-colour dot for every day&lt;/li&gt;
&lt;li&gt;On This Day, tags and full-text search across everything&lt;/li&gt;
&lt;li&gt;Attach photos and lock the app with a PIN — all kept on-device&lt;/li&gt;
&lt;li&gt;Free export to text or PDF, and an always ad-free Get Support screen&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.deardiary" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/dear-diary.html" rel="noopener noreferrer"&gt;Dear Diary app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is Dear Diary really private and offline?
&lt;/h3&gt;

&lt;p&gt;Yes — that’s the whole point. There’s no account, no login and no cloud. Your moods, writing, tags and photos are stored only on your device, and uninstalling the app removes them for good.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Dear Diary free?
&lt;/h3&gt;

&lt;p&gt;Yes — Dear Diary is free to download from Google Play. It’s supported by ads, but the Get Support screen never shows any.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Echoes?
&lt;/h3&gt;

&lt;p&gt;An on-device reflection feature: it can nudge you when your words don’t match the mood you tapped, resurface related past entries, and show a light trend of your recent moods. It only describes what you’ve logged — it never diagnoses.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I get my entries out of the app?
&lt;/h3&gt;

&lt;p&gt;Yes. You can export any date range to plain text or PDF at any time, always free and never gated behind an ad.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.deardiary" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapp</category>
      <category>deardiary</category>
      <category>journalingapp</category>
      <category>moodjournal</category>
    </item>
    <item>
      <title>WanderWallet: The Offline Travel Budget App for Every Trip</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Sat, 01 Aug 2026 21:48:53 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/wanderwallet-the-offline-travel-budget-app-for-every-trip-3bf0</link>
      <guid>https://dev.to/horizonsoftware/wanderwallet-the-offline-travel-budget-app-for-every-trip-3bf0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anyone who’s travelled knows the feeling: you’re three countries deep, the currency has changed twice, your phone has no signal, and you have no real idea whether you’re still on budget. &lt;strong&gt;WanderWallet&lt;/strong&gt; is built for exactly that moment — a free Android app that plans and tracks your travel budget entirely offline, so you always know how much you have left to spend, signal or not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plan your trip, one leg at a time
&lt;/h2&gt;

&lt;p&gt;Build a trip from destination legs — a stop for each city, region or country. WanderWallet can auto-budget each leg from a curated dataset covering 139 destinations worldwide, which you can then fine-tune. Each leg tracks its own local currency, shows a country flag on the trip card, and drops a pin on an offline route map, so you can see your whole journey at a glance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Track every expense — in any currency, offline
&lt;/h2&gt;

&lt;p&gt;Log spending by category in any of 155 currencies, with daily exchange rates cached for offline use so the maths still works with no signal. Snap a paper receipt and on-device OCR reads the amount, date and merchant automatically — and no photo ever leaves your phone. Mark an expense as pre-paid to spread its cost, and split costs when you’re travelling with others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Private by design
&lt;/h2&gt;

&lt;p&gt;Here’s the part we’re proudest of: your trips, expenses, photos and packing lists stay on your device. No account. No login. No cloud. WanderWallet works whether you’re on hotel Wi-Fi or halfway up a mountain with no bars at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Plan a trip in legs, with auto-budgets for 139 destinations&lt;/li&gt;
&lt;li&gt;Track expenses in any of 155 currencies, with cached offline rates&lt;/li&gt;
&lt;li&gt;Scan paper receipts with on-device OCR — nothing leaves your phone&lt;/li&gt;
&lt;li&gt;Split costs, mark pre-paid items, and keep packing lists&lt;/li&gt;
&lt;li&gt;An offline route map with a pin for every leg&lt;/li&gt;
&lt;li&gt;Works fully offline — no account, no login, no cloud&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.wanderwallet" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/wanderwallet.html" rel="noopener noreferrer"&gt;WanderWallet app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does WanderWallet work without internet?
&lt;/h3&gt;

&lt;p&gt;Yes — that’s the whole point. Exchange rates are cached, the maps are offline, and everything works with no signal. You only need a connection to occasionally refresh rates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need an account?
&lt;/h3&gt;

&lt;p&gt;No. There’s no account, no login and no cloud — your trips and expenses stay on your device.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many currencies does it support?
&lt;/h3&gt;

&lt;p&gt;155 currencies, with daily exchange rates cached so conversions work offline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is WanderWallet free?
&lt;/h3&gt;

&lt;p&gt;Yes — WanderWallet is free to download from Google Play.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.wanderwallet" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>budgeting</category>
      <category>expensetracker</category>
      <category>offlinetravel</category>
      <category>travelapp</category>
    </item>
    <item>
      <title>AquariumMate: Your All-in-One Aquarium Care Companion</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Sun, 12 Jul 2026 05:38:38 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/aquariummate-your-all-in-one-aquarium-care-companion-1pj7</link>
      <guid>https://dev.to/horizonsoftware/aquariummate-your-all-in-one-aquarium-care-companion-1pj7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Keeping a healthy aquarium means juggling a dozen things at once — water parameters, feeding, plant growth, the health of every fish, when you last did a water change and what it all cost. &lt;strong&gt;AquariumMate&lt;/strong&gt; is a free Android app that pulls the whole lot into one place, so your entire tank lives in your pocket instead of a notebook (or your memory).&lt;/p&gt;

&lt;h2&gt;
  
  
  Your whole aquarium, in one app
&lt;/h2&gt;

&lt;p&gt;Set up a profile for each tank you keep — freshwater or marine, a single nano or a whole fish room — and manage everything that matters from one dashboard: your fish, your plants, your equipment, and the jobs that keep it all ticking over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay on top of your water
&lt;/h2&gt;

&lt;p&gt;Water is everything in this hobby. Log your test results — pH, ammonia, nitrite, nitrate and more — and AquariumMate charts the trends over time so you can catch a problem before your fish do. A built-in water-change calculator and stocking calculator take the guesswork out of the maths.&lt;/p&gt;

&lt;h2&gt;
  
  
  Know your fish and plants
&lt;/h2&gt;

&lt;p&gt;Browse the built-in fish and plant encyclopedias to plan your stocking and check what will live together happily, then keep a health diary and breeding log for the livestock you already have. Every fish and plant gets its own record, photos and history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Never miss a job
&lt;/h2&gt;

&lt;p&gt;Feeding, dosing, filter cleaning, water changes — build a maintenance schedule with tasks and reminders so nothing slips. There’s an expense tracker to see what the hobby really costs, visual-check history to spot changes at a glance, and backup and restore to keep your records safe.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Track every tank, fish and plant in one place&lt;/li&gt;
&lt;li&gt;Log water tests and watch parameter trends over time&lt;/li&gt;
&lt;li&gt;Built-in water-change and stocking calculators&lt;/li&gt;
&lt;li&gt;Fish and plant encyclopedias for planning and compatibility&lt;/li&gt;
&lt;li&gt;Health diary, breeding log and visual-check history&lt;/li&gt;
&lt;li&gt;Maintenance schedule with tasks and reminders&lt;/li&gt;
&lt;li&gt;Equipment list, expense tracker, and backup &amp;amp; restore&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.aquariummate" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/aquariummate.html" rel="noopener noreferrer"&gt;AquariumMate app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is AquariumMate free?
&lt;/h3&gt;

&lt;p&gt;Yes — AquariumMate is free to download from Google Play.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does it work for both freshwater and marine tanks?
&lt;/h3&gt;

&lt;p&gt;Yes. Set up a profile for any aquarium you keep and track it the same way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I track more than one tank?
&lt;/h3&gt;

&lt;p&gt;You can. Add as many tanks as you like, each with its own fish, plants, water logs and history.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does it help with water parameters?
&lt;/h3&gt;

&lt;p&gt;It does — log your test results and AquariumMate charts the trends over time, with calculators for water changes and stocking.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.aquariummate" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aquarium</category>
      <category>aquariumapp</category>
      <category>aquariumcare</category>
      <category>fishtank</category>
    </item>
    <item>
      <title>Daily Sound Check: A Daily Music App with Quizzes</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:34:34 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/daily-sound-check-a-daily-music-app-with-quizzes-1ma5</link>
      <guid>https://dev.to/horizonsoftware/daily-sound-check-a-daily-music-app-with-quizzes-1ma5</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Music is the one topic everyone has an opinion on - but there's always more to know. &lt;strong&gt;Daily Sound Check&lt;/strong&gt; is a free Android app that feeds your curiosity a little every day: an artist to explore, a chart to dig into, and a quiz to see how good your ear really is.&lt;/p&gt;

&lt;h2&gt;
  
  
  A fresh hit of music every day
&lt;/h2&gt;

&lt;p&gt;Each day brings something new - an artist profile, a slice of chart history, or the story behind a song. It's a quick, pleasurable way to keep discovering, whether you're a casual listener or the person who always controls the aux cord.&lt;/p&gt;

&lt;h2&gt;
  
  
  Go deep on the artists
&lt;/h2&gt;

&lt;p&gt;Explore full discographies and artist profiles, and follow the threads between the music you love and the music that shaped it. It's the kind of rabbit hole that makes you more interesting at parties.&lt;/p&gt;

&lt;h2&gt;
  
  
  Charts and history
&lt;/h2&gt;

&lt;p&gt;Browse chart data and music history to see what was big, when, and why. Daily Sound Check turns decades of music into something you can actually explore, one tap at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test your ear
&lt;/h2&gt;

&lt;p&gt;Think you know your music? Daily quizzes put your knowledge on the line - a fun, slightly competitive reason to come back each day and keep your run of right answers going.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fresh music discovery every day&lt;/li&gt;
&lt;li&gt;Artist profiles and full discographies&lt;/li&gt;
&lt;li&gt;Chart data and music history to explore&lt;/li&gt;
&lt;li&gt;Daily music quizzes to test your ear&lt;/li&gt;
&lt;li&gt;A clean, dark interface made for listening&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.dailysoundcheck" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/daily-sound-check.html" rel="noopener noreferrer"&gt;Daily Sound Check app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is Daily Sound Check free?
&lt;/h3&gt;

&lt;p&gt;Yes - Daily Sound Check is free to download from Google Play.&lt;/p&gt;

&lt;h3&gt;
  
  
  What kind of music does it cover?
&lt;/h3&gt;

&lt;p&gt;A broad sweep of artists, genres and eras - with profiles, discographies and chart history to explore.&lt;/p&gt;

&lt;h3&gt;
  
  
  How often is there new content?
&lt;/h3&gt;

&lt;p&gt;Every day. Fresh artists, charts and quizzes appear daily, so there's always a reason to check back.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are the quizzes hard?
&lt;/h3&gt;

&lt;p&gt;There's something for everyone - a fun challenge whether you're a casual listener or a serious music buff.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.dailysoundcheck" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapps</category>
      <category>dailysoundcheck</category>
      <category>music</category>
      <category>musicdiscovery</category>
    </item>
    <item>
      <title>The Cocktail Shaker: A Cocktail Recipe App with a Daily Pour</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:34:30 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/the-cocktail-shaker-a-cocktail-recipe-app-with-a-daily-pour-4amb</link>
      <guid>https://dev.to/horizonsoftware/the-cocktail-shaker-a-cocktail-recipe-app-with-a-daily-pour-4amb</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Everyone has that one friend who can make a proper drink - the right glass, the right measures, a garnish that isn't an afterthought. &lt;strong&gt;The Cocktail Shaker&lt;/strong&gt; is a free Android app that turns you into that friend: a new cocktail to discover every day, hundreds of recipes done properly, and a growing record of everything you've made.&lt;/p&gt;

&lt;h2&gt;
  
  
  A new cocktail every day
&lt;/h2&gt;

&lt;p&gt;Open the app to a fresh cocktail each day - a classic you've been meaning to try, or something you've never heard of. It's a small daily nudge to shake up something new instead of pouring the same old thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recipes done properly
&lt;/h2&gt;

&lt;p&gt;Every recipe comes with exact measures, clear step-by-step instructions, and the details that actually matter - the right glassware, the correct garnish, and the little techniques that separate a good drink from a great one. Hundreds of them, from timeless classics to modern favourites.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn as you pour
&lt;/h2&gt;

&lt;p&gt;The Cocktail Shaker isn't just a recipe list. Dig into the spirits behind your drinks - their history and flavour - and test your knowledge with quick bartending quizzes. Work your way up from curious beginner to a genuinely expert bar keep.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build your home bar
&lt;/h2&gt;

&lt;p&gt;Save the drinks you love, rate the ones you've tried, and log what you've made with a photo of your handiwork. Over time you build a personal record of your home bar - and plenty worth sharing with friends.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A new cocktail to discover every day&lt;/li&gt;
&lt;li&gt;Hundreds of recipes with exact measures and steps&lt;/li&gt;
&lt;li&gt;Tips on glassware, garnishes and technique&lt;/li&gt;
&lt;li&gt;Bartending quizzes to test your knowledge&lt;/li&gt;
&lt;li&gt;Save favourites and log what you've made&lt;/li&gt;
&lt;li&gt;Free to download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.thecocktailshaker" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/the-cocktail-shaker.html" rel="noopener noreferrer"&gt;The Cocktail Shaker app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is The Cocktail Shaker free?
&lt;/h3&gt;

&lt;p&gt;Yes - The Cocktail Shaker is free to download from Google Play.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many recipes are there?
&lt;/h3&gt;

&lt;p&gt;Hundreds, spanning classic and modern cocktails, each with exact measures and step-by-step instructions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need bartending experience?
&lt;/h3&gt;

&lt;p&gt;Not at all. Clear steps and tips on glassware and technique make it easy to start, and the quizzes help you learn as you go.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I save the drinks I like?
&lt;/h3&gt;

&lt;p&gt;Yes - save favourites, rate what you've tried, and log your creations with a photo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.thecocktailshaker" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapps</category>
      <category>cocktailrecipes</category>
      <category>cocktails</category>
      <category>drinks</category>
    </item>
    <item>
      <title>Quote This Day: A Simple Quote of the Day App</title>
      <dc:creator>Horizon Software</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:34:26 +0000</pubDate>
      <link>https://dev.to/horizonsoftware/quote-this-day-a-simple-quote-of-the-day-app-4bhn</link>
      <guid>https://dev.to/horizonsoftware/quote-this-day-a-simple-quote-of-the-day-app-4bhn</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A quick look at one of the small Android apps I'm building solo, with .NET MAUI, under Horizon Software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The right words at the right moment can reset your whole day. &lt;strong&gt;Quote This Day&lt;/strong&gt; is a free Android app built on a simple idea: one quote worth carrying, every day - hand-picked, beautifully presented, and free of everything that usually gets in the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  One quote, every day
&lt;/h2&gt;

&lt;p&gt;No feed to scroll, no noise to wade through. Quote This Day gives you a single, considered quote each day - something to turn over with your morning coffee, or carry with you into a difficult afternoon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Words worth carrying
&lt;/h2&gt;

&lt;p&gt;The quotes come from thinkers, writers, leaders and artists across history - the people who found a way to say the thing you've been feeling but couldn't quite name. Some will make you think; some will make you smile; a few you'll want to keep for good.&lt;/p&gt;

&lt;h2&gt;
  
  
  Save and share the ones that stick
&lt;/h2&gt;

&lt;p&gt;When a quote lands, save it so it's there when you need it - or share it with someone who needs to read it today. It's a small, kind thing to send.&lt;/p&gt;

&lt;h2&gt;
  
  
  A calmer daily habit
&lt;/h2&gt;

&lt;p&gt;Quote This Day is deliberately clean, calm and distraction-free - a moment of stillness on a phone that's usually shouting for your attention, and a nicer way to begin the day than the morning news.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A hand-picked quote every day&lt;/li&gt;
&lt;li&gt;Words from thinkers, writers and leaders&lt;/li&gt;
&lt;li&gt;Save the ones that stick&lt;/li&gt;
&lt;li&gt;Share a quote with a single tap&lt;/li&gt;
&lt;li&gt;Clean, calm and distraction-free&lt;/li&gt;
&lt;li&gt;Free to use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.quotethisday" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;br&gt;
Want the quick tour first? See the &lt;a href="https://horizonsoftwarenz.blogspot.com/p/quote-this-day.html" rel="noopener noreferrer"&gt;Quote This Day app page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is Quote This Day free?
&lt;/h3&gt;

&lt;p&gt;Yes - Quote This Day is free to use on Google Play.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I save my favourite quotes?
&lt;/h3&gt;

&lt;p&gt;You can. Save the ones that resonate so you can return to them any time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where do the quotes come from?
&lt;/h3&gt;

&lt;p&gt;From thinkers, writers, leaders and artists across history - a hand-picked mix, refreshed every day.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I share quotes?
&lt;/h3&gt;

&lt;p&gt;Yes - share any quote with a single tap, a small way to brighten someone's day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.horizon.quotethisday" rel="noopener noreferrer"&gt;Get it on Google Play&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with .NET MAUI by &lt;a href="https://horizonsoftwarenz.blogspot.com" rel="noopener noreferrer"&gt;Horizon Software&lt;/a&gt;. A small indie studio making simple, focused Android apps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>androidapps</category>
      <category>motivation</category>
      <category>quoteoftheday</category>
      <category>quotethisday</category>
    </item>
  </channel>
</rss>
