[{"data":1,"prerenderedAt":189},["ShallowReactive",2],{"project-homelyn":3},{"id":4,"title":5,"body":6,"date":174,"description":175,"extension":176,"featured":177,"github":178,"image":178,"live":178,"meta":179,"navigation":177,"path":180,"role":178,"seo":181,"status":182,"stem":183,"tags":184,"updated":178,"__hash__":188},"projects\u002Fprojects\u002Fhomelyn.md","Homelyn",{"type":7,"value":8,"toc":168},"minimark",[9,14,18,66,69,72,77,129,131,135,159,165],[10,11,13],"h1",{"id":12},"homelyn-rent-direct-live-easy","Homelyn — rent direct, live easy",[15,16,17],"p",{},"Renting in Nigeria runs on agents, cash, and WhatsApp. A tenant pays an agent to see a flat, pays \"agency\" and \"caution\" on top of a year's rent up front, and then has no record of any of it. Homelyn takes that whole flow — discover, view, apply, sign, pay, renew — and puts it in one app, with the agent removed and the money in escrow.",[15,19,20,24,25,29,30,29,33,29,36,29,39,29,42,29,45,29,48,29,51,29,54,29,57,29,60,29,63],{},[21,22,23],"strong",{},"Tech Stack:"," ",[26,27,28],"code",{},"Expo \u002F React Native"," · ",[26,31,32],{},"Expo Router v6",[26,34,35],{},"NativeWind",[26,37,38],{},"Gluestack UI v3",[26,40,41],{},"TanStack Query",[26,43,44],{},"Zustand",[26,46,47],{},"NestJS",[26,49,50],{},"Drizzle ORM",[26,52,53],{},"PostgreSQL",[26,55,56],{},"BullMQ \u002F Redis",[26,58,59],{},"Better Auth",[26,61,62],{},"Paystack",[26,64,65],{},"Resend",[15,67,68],{},"Watch the demo above — it walks the full tenant path from sign-up through OTP verification, KYC, and into the home search.",[70,71],"hr",{},[73,74,76],"h2",{"id":75},"what-it-does","What it does",[78,79,80,87,93,99,105,111],"ul",{},[81,82,83,86],"li",{},[21,84,85],{},"Two apps in one."," Tenants and landlords sign up into separate tab groups with their own onboarding — NIN and employment details for tenants, NIN, documents, and bank payout for landlords.",[81,88,89,92],{},[21,90,91],{},"Direct listings."," Landlords list properties themselves; verified listings get a badge. No agent stands between the two sides.",[81,94,95,98],{},[21,96,97],{},"Viewing → application → lease."," A viewing request becomes an application, an application becomes a signed lease, and a lease becomes a live tenancy — each step is a real state machine in the schema, not a status text field.",[81,100,101,104],{},[21,102,103],{},"Rent Health Bar."," The signature feature: a single bar that shows how much of your rent period is left, colour-shifting from green to red as renewal approaches, so a tenant is never blindsided by a year-end lump sum.",[81,106,107,110],{},[21,108,109],{},"Rent goals."," A tenant can open a goal against their rent and share a public link — family, friends, anyone can contribute toward it. Contributions land in a wallet and count down the target.",[81,112,113,116,117,120,121,124,125,128],{},[21,114,115],{},"Escrowed payments."," Rent moves through Paystack into an escrow hold — ",[26,118,119],{},"held",", ",[26,122,123],{},"released",", or ",[26,126,127],{},"refunded"," — that only pays out to the landlord's wallet on a scheduled release, instead of going straight through.",[70,130],{},[73,132,134],{"id":133},"engineering-focus","Engineering focus",[15,136,137,138,140,141,143,144,147,148,150,151,154,155,158],{},"The backend is a ",[21,139,47],{}," API over ",[21,142,53],{}," with ",[21,145,146],{},"Drizzle"," — 26 tables covering auth, profiles, properties, KYC, viewings, applications, tenancies, payments, sponsorships, messages, and notifications. Auth is ",[21,149,59],{}," with email OTP and 7-day JWTs, behind a global auth guard and a role guard (",[26,152,153],{},"tenant | landlord | admin","); public signup can never mint an admin. Domain events fan out to ",[21,156,157],{},"BullMQ"," workers on Redis for transactional email through Resend, keeping the request path fast.",[15,160,161,162,164],{},"The mobile client is ",[21,163,32],{}," with NativeWind and Gluestack UI v3, TanStack Query for server state, and Zustand for the little that's local. Every amount is stored and moved in kobo — money never touches a float.",[15,166,167],{},"The hard part wasn't any single feature; it was modelling Nigerian renting honestly. Annual rent up front, caution deposits, agency fees, and saving toward next year don't fit the monthly-subscription shape most rental software assumes, so the payment and tenancy tables were designed around billing periods and goal-based accumulation instead.",{"title":169,"searchDepth":170,"depth":170,"links":171},"",2,[172,173],{"id":75,"depth":170,"text":76},{"id":133,"depth":170,"text":134},"2026-08-21","Rent direct. Live easy. — a Nigerian rental platform that connects tenants and landlords without agents, and turns rent into something you can track, escrow, and crowdfund from your phone.","md",true,null,{},"\u002Fprojects\u002Fhomelyn",{"title":5,"description":175},"In Progress","projects\u002Fhomelyn",[185,186,47,187,146,62],"React Native","Expo","Postgres","CztpMzqDs7Yl_5fkaRJIFF2ZhxVzSmy0in4q5LHE1Kc",1787298664163]