Loading...
Engineering write-ups on decisions behind FLITO, Duleko and the rest - the reasoning, not just the changelog.
Latest6 min read
How Duleko keeps phone numbers private: their own table, one can_call() check behind every Call button, and a chat that refuses messages with a number in them.
5 min read
How FLITO gets road distances and route lines from a free OSRM server: queued, batched, cached for a week, thinned to 5 m, and never fatal when it fails.
6 min read
How Duleko made its verified badge mean an ID was checked: photos in a private bucket, 10-minute links, and a badge only one Postgres function can grant.
7 min read
How Duleko's map shows skilled people nearby without revealing where anyone lives: a work area picked once, ~1 km squares and counts for guests, in Postgres.
8 min read
How FLITO records payments it never holds, bills truck owners by Nepali month, and numbers PDF invoices per Nepali fiscal year, with dates in Bikram Sambat.
6 min read
Duleko's Android app shows chats and work requests in the notification bar with no push service, and keeps email inside Brevo's free 300 a day. Here's how.
8 min read
My EPAM campus placement experience (August 2026): eligibility, the LRU cache coding round, the GD topic, technical interview questions and tips that worked.
6 min read
Why I chose to study engineering in India instead of Nepal: the IOE entrance, Chitkara fees and Nepali student concessions, placements, and the honest trade-offs.
7 min read
As Tech Lead of Duleko, a bilingual local skills marketplace for Nepal, I own the platform end to end. Here's what's live today - guest browsing, typo-tolerant distance search, price negotiation, per-person call privacy and a native Android build - the one rule every screen is held to, and what we're building next.
6 min read
FLITO filters out every truck that can't do a job, scores the rest out of 100 on fit, proximity, reputation, price and readiness, and reserves a truck's days with one conditional write so two bookings can never land on the same truck. Here's how the matching works and why.
4 min read
This site is a Vite + React single-page app, which by default hands crawlers an almost empty page. Here's how one metadata table now drives both the live React head and a prerendered HTML file per route, why the sitemap dates come from git, and what Google's Rich Results Test still caught.
4 min read
Duleko's work lifecycle - pending, accepted, confirmed, completed - is modelled as Postgres triggers with Row Level Security on every table, so a modified client can't skip a step. Here's why that decision, plus the outbox pattern behind its notifications.
2 min read
A 6-digit email code is a password with worse UX expectations and a shorter lifespan - so FLITO stores only its hash, expires it in 15 minutes, burns it after one use, and locks out after 5 wrong tries. Here's the reasoning and what it protects against.