Welcome to Max Pawie

Private dashboard — sign in with Google to continue.

Google Continue with Google

Private Access Only

What's inside

Apps built during late-night vibe-coding sessions, dedicated to Max.

🚧

Beta access

These apps are invite-only. Request access: siplak.simon@gmail.com

Building with AI has transformed how I create software. What started as curiosity evolved into a passion for crafting practical solutions to real problems.

Over 400+ hours of hands-on development, 20+ apps and scripts — each one a learning experience.

Sony WH-1000XM5▼ 299€
LG OLED C4 55"▼ 1199€
Dyson V15— 549€
Price Tracking

Alza Buddy

/alzabuddy/

Alza Buddy

Watch alza.sk and alza.cz product prices

Tracks product prices on Alza's Slovak and Czech stores by scraping any product URL you paste, pulling the name, current price, stock status, and promo codes while bypassing Cloudflare protection. Each tracked product is stored per user with a timestamp of its last refresh, and prices can be re-checked on demand, edited by hand, or copied as discount codes. A Buy button opens the product on Alza and copies its promo code to your clipboard in one tap.

Flask · Python · Web Scraping React · TypeScript · Vite · Tailwind CSS PostgreSQL
Login required to access

"We are what we repeatedly do."

Atomic Habits · p.42

Voice Photo Type
Reading

Bookmaker

/bookmaker/

Bookmaker

Capture quotes by voice, photo, or typing

A personal book library where you log titles with covers and reading status, then capture quotes by typing, by voice transcription, or by photographing a page, with Gemini handling the audio and OCR. Quotes are auto-tagged against your own tag set, fully searchable, and capped at ten per book on the free tier or unlimited with a Stripe-managed subscription. Each morning a web push notification delivers a random quote from your library at a time you choose in your own timezone.

Flask · Python · PostgreSQL · Gemini AI React · TypeScript · Vite · Tailwind CSS · PWA PostgreSQL ✦ Gemini AI
Login required to access
Forpsi
Wedos
Active24
Gransy
Market Intelligence

CZ NIC domain data

/czdomainminer/

CZ NIC domain data

Registry analytics for .cz domains.

CZ Domain Miner pulls live data from the Czech domain registry (CZ.NIC) to track .cz domain activity across all commercial registrars. It visualises monthly and daily breakdowns of new registrations, renewals, transfers in/out, and estimated churn for the top registrars in one unified overview. Individual registrar drill-down pages show day-by-day performance and compare transfers by source and destination. A Winner of the Month view ranks registrars by new domain creates against the same period last year, highlighting market-share gains and year-over-year growth.

Flask + Python React + TypeScript + Recharts External API (stats.nic.cz)
Login required to access
Flask App

Commercial CEE dashboard

/commercialdashboard/

Commercial CEE dashboard

Every commercial metric for CEE on one screen

Commercial CEE Dashboard puts every commercial metric for Websupport.sk on one screen, each from the tool that owns it. Cards cover new .sk market share, share of search, NPS, price positioning against SK competitors, and new users, new sales, cross-sell and renewals against budget — sourced from the skdomainanalysis, shareofsearch and hostingpricespuller databases, the Bloomreach Engagement API and the loopia BigQuery warehouse. Sources update on different cadences, so each card states its own period and flags a partial or lagging month. Clicking one opens a 13-month history with a breakdown; a Journey tab arranges the same metrics as a funnel from brand demand through acquisition to retention and advocacy.

Flask + Python PostgreSQL
Login required to access
Provider.sk / yr
Websupport12.90€
Exo.sk9.99€
Forpsi7.50€
Competitor Pricing

Competitor prices puller

/hostingpricespuller/

Competitor prices puller

Track and compare hosting & domain prices across competitors

Competitor Prices Puller automatically scrapes hosting and domain pricing from competing providers on a scheduled basis, keeping a historical record of price changes over time. It uses Google GenAI to analyse the collected data and surface insights such as price trends and positioning gaps against our own offerings. An APScheduler background task handles periodic pulls so the dashboard always reflects up-to-date competitor pricing without manual intervention. The tool is restricted to authorised team members via Google OAuth and a Django-managed email allowlist.

Flask + Python HTML + Tailwind CDN PostgreSQL ✦ Gemini AI
Login required to access
DNS & domains
Email delivery
Billing
Support Insights

Customer issue analyzer

/customerissues/

Customer issue analyzer

Why Websupport SK customers contact support

Customer Issue Analyzer shows why Websupport SK customers contact support: it reads the SK-WS-Support Freshdesk group from the loopia.teamblue_incoming BigQuery export and recovers each customer's opening message. Conversations and Coverage tabs browse monthly tickets and how much first-message text the export preserves, while the Analysis tab has BlueChat (Gemma-4-31B on inference.token-factory.ai.team.blue) condense every ticket into a short issue and group them into actionable segments with suggested steps. Emails, phone numbers and IBANs are redacted before anything reaches the model.

Flask + Python PostgreSQL ✦ Gemini AI
Login required to access
Monthly budget Payday 19d
Essential
€971
Basic needs
€518
Want
€120
Budgeting

Daily Budget

/dailybudget/

Daily Budget

Monthly budgets with pay-cycle pacing

Track a monthly budget broken down by category, subcategory and type, then log expenses against each line to see how much you've spent and what's left. A pay-cycle setup — your last and next paycheck — drives pacing that flags each category as on track or overspending, with the projected over/under and the daily allowance to stay on budget. Amounts are encrypted at rest in its own PostgreSQL database, and the budget table groups by type with running totals.

Login required to access

"The secret of getting ahead is getting started."

— Mark Twain

Daily Inspiration

Daily Spark

/dailyspark/

Daily Spark

Daily quotes with push notifications

A minimalist quote engine that serves a random inspirational quote on every visit from a globally shared library you can browse, add to, and mark favourites in. There are no per-user quotas — every quote lives in one shared pool, with a clean full-screen reading view and admin-only deletion. A background job pushes each subscriber a random quote at their preferred time and timezone, automatically pruning dead subscriptions.

Flask · Python · PostgreSQL · Web Push React · TypeScript · Vite · PWA PostgreSQL
Login required to access
3D Game

Dental Mayhem

/dentalmayham/

Dental Mayhem

Run a tiny dental clinic with two busy hands

A cartoon 3D game in a Pixar-style clinic with a reception and a small surgery. You play Carl, a square-headed dentist with big glasses: walk the room, pick tools up with your left and right hand separately, fix a cavity with the mirror and the drill, swap the drill for the filling and finish the tooth before the stars run out. Built from scratch in Three.js with procedural characters, squash-and-stretch animation and no external 3D models, from a friend's game concept.

Flask · Python Three.js · WebGL · Canvas 2D None (best time in the browser)
Login required to access
58% new
Day 3
Day 5
Day 7
New food Old food
Pet Care

Doggy Dose

/doggydose/

Doggy Dose

Smooth food transitions for your pup

Calculates a precise day-by-day plan for switching a dog between foods, using the transition length, total daily grams, and number of meals to work out the exact old-versus-new ratio for every feeding. Results render as a table with visual bars, and logging a tummy check as upset automatically suggests holding the current ratio for two extra days. The full schedule, a shopping list of how much food to buy, and feeding tips can be exported as a printable PDF.

Flask + Python React + TypeScript SQLite shared
Login required to access
Drum grid 120 BPM
Hi-Hat
Snare
Kick
Drum Sheets

Drumeo

/drumeo/

Drumeo

Play back drum sheet music, sync your own track

Upload a drum sheet as a PDF or photo and Audiveris optical music recognition transcribes it into a 16th-note grid, unfolding repeats, voltas, and simile bars into the actual played order rather than the compact written page. The browser plays it back on a Web Audio clock with a metronome, synthesized drum sounds, and a moving cursor, in either a wrapped sheet-music view or one long scrolling row, with click-to-set start point, looping, and per-instrument mute. You can drop in your own MP3 to play along, and server-side librosa or in-browser beat detection auto-syncs its tempo and downbeat to the notation so notes and track loop together without drift. Song structure is detected automatically from the groove of each bar and colour-coded, and the whole thing installs as a PWA with a sticky, mobile-friendly transport bar.

Flask · Python · PostgreSQL · Audiveris OMR · librosa React · TypeScript · Vite · Web Audio · PWA PostgreSQL
Login required to access
Flask App

Expiration of SK domains

/skpired/

Expiration of SK domains

Expiring and expired .sk domains, hourly

SK Pired monitors the Slovak domain registry (sk-nic.sk) for domains approaching or past their expiration date, refreshing the full domain list hourly. It lets the team spot recently expired or soon-to-expire .sk domains that may be available for re-registration or competitive acquisition. Access requires Google OAuth login with email verification against the shared Django allowlist. The tool is purpose-built for tracking domain opportunities in the Slovak market.

Flask + Python PostgreSQL
Login required to access
Flask App

Exponea domain checker

/exponeadomainchecker/

Exponea domain checker

Is a customer domain actually in use?

Exponea Domain Checker answers one question for Bloomreach Engagement (Exponea) scenarios: is a customer's domain actually in use? A no-AI heuristic inspects DNS records, HTTP reachability, off-domain redirects and visible page content to return a verdict — active, js_rendered, parked, forwarded, empty or unreachable — while an independent second opinion from BlueChat (Gemma-4-31B) runs in a background thread so the webhook never waits on it. A submit-then-poll mode lets a scenario log the request, wait, then fetch the stored answer, keeping email flows comfortably inside Bloomreach's short webhook timeout. The live dashboard lists every request with both verdicts, the requested and answered timestamps, and how long the caller waited.

Flask + Python PostgreSQL ✦ Gemini AI
Login required to access

1.62€/L

6.4 L / 100 km

Fuel Tracking

Fillup

/fillup/

Fillup

Fuel tracking with eKasa and Google Sheets

Tracks fuel purchases by scanning the QR code on a Slovak eKasa receipt and fetching the full receipt — items, prices, station, and date — straight from the financial authority's API. You can pick the station from nearby suggestions or a brand list, then dictate mileage and trip purpose in Slovak, which Gemini parses into structured fields. Each completed fill-up is written as a row to a connected Google Sheet for cloud access and later analysis.

Flask · Python · Google Sheets API · Gemini AI React · TypeScript · Vite Google Sheets ✦ Gemini AI
Login required to access
✓Flour500 g
✓Eggs3 pcs
Butter200 g
Milk250 ml
Groceries

Grocerly

/grocerly/

Grocerly

AI recipe scanner and ingredient manager

Photograph a recipe and Gemini extracts every ingredient with its quantity, unit, English translation, and store-section category, saving the result as a recipe in your library. You can scale all quantities by portion count, tick ingredients into a shopping basket through a table or swipe view, and see product photos pulled from metro.sk for visual reference. Recipes are stored per user with photos, ratings, and favourites, and the basket summarises what you've selected versus what's still missing.

Flask · Python · SQLite · Gemini AI React · TypeScript · Vite SQLite ✦ Gemini AI
Login required to access
Flask App

Jobseeker

/jobseeker/

Jobseeker

Discover open roles at brands you follow

Add a company by brand name, auto-discover its website, scan career pages and extract open job listings. Dual AI engine (Gemini or free local).

Flask · Python · curl_cffi · Gemini Vanilla JS · Tailwind PostgreSQL ✦ Gemini AI
Login required to access
Flask App

Keyword Gap

/keywordgap/

Keyword Gap

Terms competitors rank for and we do not

Keyword Gap analyses organic search rankings across 17 European markets (SK, CZ, PL, HU, DE, AT and more) to reveal keywords where competitors outrank us. It queries the DataForSEO API for configured domains and surfaces terms competitors rank for that we do not, along with position and volume data. Results are colour-coded by country and visualised as comparative charts, making cross-market ranking gaps easy to identify and prioritise. Access is controlled via Google OAuth and role-based permissions managed in the central Django database.

Flask + Python PostgreSQL
Login required to access
Flask App

Maxo Eye

/maxoeye/

Maxo Eye

Login required to access
+42NPS · this month
58% prom.26% pass.16% detr.

AI themes: pricing · support · speed

Sentiment

NPS sentiment analyzer

/npsanalyzer/

NPS sentiment analyzer

NPS scoring + AI detractor theme analysis

NPS Analyzer imports customer survey responses via CSV and computes Net Promoter Score with a full breakdown into promoters, passives, and detractors by month. It segments detractor feedback using keyword rules or AI classification (Gemma-4-31B via BlueChat) to identify recurring complaint themes such as pricing or service issues. Dashboards show score trends, trigger-type distributions, complaint segment impact, and month-by-month NPS evolution — all filterable by date range. An integrated PDF analysis module generates a three-part executive summary from uploaded Bloomreach NPS digest reports.

Flask + Python PostgreSQL ✦ Gemini AI
Login required to access

Čašník ti zabudne naúčtovať tri pivá. Upozorníš ho?

ÁNO NIE ÁNO …

Runda 2 · 3/4

kód 4821

Pub Game

Priznaj farbu!

/beer-stop-trivia/

Priznaj farbu!

Find out what your friends are really like: a spicy question, a secret yes or no, then the beer mats flip

A party game for a table of friends, played on phones. One person hosts a round: they read a question aloud, everyone else secretly taps Yes or No, and the host turns the beer mats over in two steps, first the answers alone, then who gave them. The host notes the points they earned, hosting passes to the next person, and a round ends once everyone has had a turn. Games are joined with a four-digit code or a shared link, a scoreboard is visible to all, and the question lists (100 built-in Slovak ones or your own CSV uploads) are shared between games. Installable as a PWA, with menus in Slovak or Polish.

Flask · Python Vanilla JS · PWA In-memory · JSON file
Login required to access
SMRTO­NOSNÁ PAST

Die Hard 1988

na obale: Smrtonosná past

8.2 /10
ČSFD 90% RT 94% MC 72
Film Ratings

Rating Checker

/raitingchecker/

Rating Checker

Scan a film cover, get its IMDb rating

Point the phone camera at a DVD or Blu-ray cover and Gemini vision reads the film off it, translating the localised Slovak or Czech title on the box back to the original title that rating databases index. OMDb then turns that title and year into IMDb, Rotten Tomatoes and Metacritic scores on one screen, so the decision of what to watch needs a single glance instead of four browser tabs. A photo of several covers side by side is read as a whole shelf at once, and every resolved film is cached by its IMDb id so re-scanning the same box costs nothing. Titles can also be typed by hand, and each scan is kept as a personal catalogue of what has been checked.

Flask · Python · Gemini AI · OMDb API React · TypeScript · Vite · Tailwind CSS SQLite ✦ Gemini AI
Login required to access
Websupport
+1.4k
WebHouse
+880
ACTIVE 24
+610

.sk net creates · this month

Domain Analytics

SK NIC domain data

/skdomainanalysis/

SK NIC domain data

Slovak (.sk) domain market intelligence from SK-NIC

SK Domain Analysis pulls daily domain activity records from Google BigQuery (SK-NIC registry data) to track Websupport's position in the Slovak domain market. It computes monthly summaries of new domain registrations and churned domains per registrar, and maps transfer flows between registrars to reveal which providers domains are moving to and from. A background compute job processes each month's raw BigQuery data and stores results in a local PostgreSQL database, with a per-run status log tracking progress and errors. Summary charts and transfer breakdowns make it easy to monitor market-share shifts and identify registrar migration patterns across the .sk domain space.

Flask + Python PostgreSQL
Login required to access
Brand A
42%
Brand B
28%
Brand C
18%
Brand Intelligence

Share of Search

/shareofsearch/

Share of Search

Compare brand search volumes and market trends

Share of Search measures how often a brand is searched relative to its competitors by pulling monthly keyword volumes from the DataForSEO API and storing them in PostgreSQL. It calculates each brand's share as a percentage of the combined search volume across the tracked set, showing who is gaining or losing mindshare over time. Both full and incremental sync modes are supported so historical data can be backfilled while keeping ongoing pulls efficient. Charts surface monthly and yearly share trends per brand and per country.

Flask + Python HTML + Tailwind CSS PostgreSQL
Login required to access
Flask App

Share of voice

/shareofvoice/

Share of voice

Organic visibility, weighted by position CTR

Share of Voice estimates organic visibility by combining DataForSEO ranking data with a position-based CTR model to calculate each domain's expected impression and click share for a tracked keyword set. It supports a 20-country scope, allowing cross-market organic share comparisons on the same keyword universe. The CTR tables weight top positions heavily, so movement between positions 1–3 is reflected accurately in the computed share metric. Results are aggregated at brand and country level and displayed as trend charts over the selected period.

Flask + Python PostgreSQL
Login required to access
1Wix8.9
2Squarespace8.2
3Webnode7.6

weighted score · features · pricing

Benchmarking

Sitebuilder winner

/sitebuilderwinner/

Sitebuilder winner

Rank and compare website builder products

Sitebuilder Winner is a project currently in early development, intended to compare and evaluate website builder products based on defined criteria. It will collect structured data on features, pricing, and performance across competing sitebuilder platforms. The goal is to produce a ranked comparison that supports product and go-to-market decisions for the team.blue hosting portfolio. No integrations are active yet — the app runs as a live service ready to be expanded as the evaluation framework is defined.

Flask + Python PostgreSQL
Login required to access

Today

Team standup

09:00 · Office

Vet appointment

17:30 · Waze →

Calendar

Snap Plan

/snapplan/

Snap Plan

Your AI-powered Google Calendar assistant

An AI-assisted quick-add layer over Google Calendar that creates events through a form with custom date and time pickers, Google Places location autocomplete, reminders, recurrence, and guest invites. It writes events straight to your calendar and can auto-insert an invisible travel-time block before each appointment, sized anywhere from five minutes to eight hours. Upcoming events are pulled live and grouped into Today, Tomorrow, This Week, and later, each with one-tap Waze navigation.

Flask · Python · PostgreSQL · Google Calendar API React · TypeScript · Vite · Tailwind CSS · PWA PostgreSQL ✦ Gemini AI
Login required to access
Flask App

Spend Tracker

/spendtracker/

Spend Tracker

Plan a budget and compare it with what the invoices really say

Yearly budget planner for supplier spend. Planned amounts sit next to actuals pulled from imported invoices, with item mapping kept on the supplier so a re-upload corrects earlier months. Foreign-currency invoices are converted with a per-year rate table, anything without a rule is held out instead of guessed, and any cell can carry a signed manual correction with a required note.

Flask + Python Server-rendered HTML + Tailwind PostgreSQL (own DB)
Login required to access
🍝 Carbonara€14.50
🥗 Caesar Salad€9.00
🍷 House Wine€18.00
S M T €13.83 / person
Bill Splitting

Split The Bill

/splitthebill/

Split The Bill

AI receipt scanning and bill splitting

Scans a receipt photo or audio recording with Gemini, parsing line items, prices, and quantities into a structured bill you can assign to people for a per-person split. It detects alcohol, looks up Slovak eKasa receipts, resolves venues through Google Places, and groups multiple bills into trips with shareable recap links that expire after a day. Bill data lives in PostgreSQL behind rate limiting, CSRF protection, and Stripe billing, with a nightly job sorting items into spending categories.

Flask · Python · PostgreSQL · Gemini AI React · TypeScript · Vite · Tailwind CSS · PWA PostgreSQL ✦ Gemini AI
Login required to access

AAPL · 5y

$227.48 +1.3%

vs S&P +68% P/E 34 SEC 10-K
Stock Market

Stock Analyzer

/stockanalyzer/

Stock Analyzer

Every S&P 500 company: live prices, charts since 1970 and fundamentals from SEC filings

Tracks all ~500 S&P 500 companies with prices refreshed every 15 minutes while the US market is open, and daily closes going back to 1970. Each company page has an interactive chart against the S&P 500, revenue, profit, cash flow and debt read straight from SEC 10-K and 10-Q filings, P/E and other ratios coloured against their normal ranges, and a volatility band for where the price may land next, checked against decades of history. A playground shows what an amount invested on a given day would be worth today, and a backtest runs five rule-based strategies against the index and an equal-weight portfolio, with a clear note about survivorship bias. In English and Slovak.

Flask · Python · Finnhub · SEC EDGAR Server-rendered HTML · SVG charts PostgreSQL (own DB)
Login required to access
PricingHungarian pricing strategyEN
Market.cz market reportSK
CompetitorsRegistrar landscapeEN
Strategy

Strategic analyses

/analyses/

Strategic analyses

The CEE team's market, pricing and competitor analyses in one place

Strategic analyses collects the CEE commercial team's market, pricing and competitor analyses in one place, in English and Slovak, each dated with when it was done. First entries: MagyarHosting Hungarian pricing strategy and the CZ .cz market reports.

Flask + Python PostgreSQL
Login required to access