← Work

Proppy

Strategy, design, brand, and code — solo, in under a month.

Role — Design Engineer (solo)Duration — Mar–Apr 2026Platform — WebStack — Next.js, Supabase, OpenAI
View live project ↗

Where It Started

My landlord has two properties. One has a tenant named Martin. The other has a tenant named Martins — that's me. He mixes us up constantly. Wrong name on receipts. Wrong unit on messages. I watched him managing everything by memory and WhatsApp, and I could see exactly where it was going to break.

Around the same time, I enrolled in an AI course in March 2026 and needed a real project — not a tutorial clone, something with an actual reason to exist. I also had a practical problem: close to two years of freelance work, all under NDAs, nothing to show. No case studies. No shipped products with my name on them.

Proppy solved both. A real product, built under real constraints, with real decisions — and something I could actually put in a portfolio. The landlord who inspired it has a working login. The product handles real data.

The Opportunity

Small landlords manage real businesses with none of the infrastructure of real businesses. Rent in spreadsheets. Maintenance tracked by text. Lease renewals missed because nobody set a reminder. The tools that exist for them are either consumer-grade and limited, or enterprise-grade and unusable.

The gap isn't a feature gap — it's an execution gap. Nobody built something that thinks like a landlord. That surfaces the right problem at the right time, removes friction from routine operations, and handles the messy middle between software and real life.

I wrote a PRD. Mapped the core flows. Thought hard about what to leave out. Then I built it.

Reception

I shared a demo on Twitter without a public link. The responses weren't about the tech — they were landlords and their kids recognising the problem.

I need this for my dad. I'm tired of him asking me to check receipt every month.

@Akos_solution

Real problem real solution.

@Kyriakos_Pelek

Love the idea of Proppy — simplifying the tracking for landlords is such a practical solution. It's impressive that you're able to iterate directly in the terminal without Figma.

@asadalibahadar

Clean! Love the empty spaces, it is fresh.

@buraknevruzoglu

My Role

Everything. Not as a flex — as a fact.

Product strategy — decided what to build, what to cut, and in what order. Scoped a full MVP under real constraints with no team, no budget, and a one-month window.

UX/UI design — end-to-end interface design, in code. I can design in Figma, but something about building and designing at the same time made the decisions feel more real. If a component was hard to build, that was usually a signal it was the wrong component.

Brand and identity — naming, logo, colour, typography, illustration system. Built from zero.

Frontend engineering — production code. Not prototype quality. Shipped.

AI implementation — lease extraction from PDF, a natural language assistant grounded in live data, AI-assisted onboarding, AI maintenance classification. Each one a real workflow decision, not a demo.

No handoff. No sprint planning. One person, start to finish.

How I Think

The hardest decisions in product aren't what to build — they're what not to. When you can ship something new every day, speed becomes a trap if you're not asking the right question first.

The dashboard doesn't show everything. It shows what needs attention today — overdue rent, open maintenance, expiring leases. Three categories. One focus. I deliberately constrained it because a screen that shows everything is a screen that answers nothing.

The AI assistant doesn't hallucinate. It only answers questions it can ground in real data from the user's actual portfolio. A wrong answer from an “AI assistant” destroys trust faster than no assistant at all.

The target users are landlords, not product people. Every screen has one job: answer “what do I need to do right now?” Tight typography. Numbers always in tabular figures. Status always in colour.

Product

Dashboard that earns attention

Not a vanity metrics screen — a triage layer. “Today's Focus” surfaces what requires action: overdue rent with a one-tap mark-paid, open maintenance with urgency coding, expiring leases with days-left context. Portfolio stats at the top. Operators read it in ten seconds and know what their day looks like.

Per-property workspace

Each property is its own context. Units, rent history, maintenance, expenses — all filtered to that address. A tabbed detail view lets you switch between rent collected, open maintenance, and expense breakdown without leaving the property.

Tenant management

Every tenant has a panel with their unit, rent status, lease timeline, and contact details in one place. The table view shows portfolio-wide status — who's paid, who hasn't, whose lease is expiring. Filtering and search make it fast to find the one name you need across multiple properties.

Lease lifecycle, end to end

Create a lease manually, or drop a PDF and let AI extract the fields — dates, rent, tenant, property — pre-filled and flagged for review where confidence is low. PDF generation, magic-link e-signing, downloadable documents. Automated expiry alerts. If rent on a lease changes, all future pending payments update automatically.

Rent ops and expenses

Rent schedules generate automatically when a lease is created. A daily cron checks for overdue payments with a configurable grace period. Every payment gets a reference number. Mark paid in one tap. Expenses — repairs, utilities, insurance — tracked by category and property, with a per-property P&L view built in.

Maintenance that closes the loop

Requests come in. The AI classifies urgency and suggests next actions. The landlord triages, adds internal notes, resolves. When a request is resolved with a cost, it goes straight into the expense ledger — no double entry. Open requests stay visible. History stays searchable. Nothing falls through.

Unified messages inbox

WhatsApp, SMS, and email — all in one inbox. Channel adapters with webhook receivers, AI message classification, and auto-reply templates. Connect a provider number and tenant messages get routed automatically — maintenance request, rent question, lease query — classified by AI, filed in the right place.

AI assistant, grounded in reality

Not a generic chatbot — an assistant that knows your specific portfolio. Ask “who hasn't paid rent this month?” and get back structured data blocks: names, amounts, statuses. Every answer cites the source so you can tap through to the actual record. Built with a 3-layer pipeline: route the intent, fetch only the relevant data, generate from that data only.

Command menu

⌘K brings up a command palette with keyboard shortcuts to every section of the app. Navigate without touching the sidebar. Fast enough that power users stop thinking about the interface and just move.

Onboarding

Proppy's onboarding lands on a clear pitch — see what needs attention today, AI that works from your data, tenants message and Proppy handles it — then drops you into a single-screen setup: name and portfolio size. Five minutes. You see the dashboard before you've filled out a dozen fields.

Settings

Account preferences, notification thresholds, channel connections, data export, and an achievements system that reflects real usage milestones — all in a modal that opens in context, not a separate page.

Brand System

The brief I gave myself: don't make it look like a home icon with a P stuck on it. The mark needed something structural — dimensional, with a void at the centre. Simple enough to hold at favicon size, distinctive enough to take into real-world applications. Calm, precise, professional without being cold.

Stack & Speed

Zero to production in under a month. That includes product definition, data model, design system, all UI, AI integrations, onboarding, dashboard, all core modules, PDF generation, e-signature flow, multi-channel messaging infrastructure, and deployment.

The speed wasn't recklessness — it was discipline. Modern tooling used where it gave real leverage. Architectural decisions made early that didn't require rewrites later. Scope cut deliberately when features weren't earning their place.

Supabase was the biggest technical learning: row-level security, database migrations, realtime subscriptions, edge functions for cron jobs.

FrontendNext.js, ReactStylingTailwind CSS, CVADatabaseSupabase (PostgreSQL + RLS)AuthSupabase AuthAIOpenAI APIMapsMapbox GLPDFReact PDF RendererChannelsWhatsApp, Twilio, ResendHostingVercel

Closing

Most designers hand off specs. Some write production code. Very few can take a messy business problem, define the product strategy, design the experience, build the frontend, implement the AI, ship to production, and make it feel considered at every level.

The thing I'm most proud of isn't any individual feature. It's that I knew what not to build. Speed is easy when tools are fast. Restraint is harder. Proppy does what a landlord needs and not much more — and it works.

If you're building something where product, design, and engineering need to move together — I'm the person you're looking for.

Available now

Founding designer roles · Early-stage product teams · 0→1 build partnerships

Get in touch ↗
| 🇨🇦 Calgary