[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-content":3,"projects-ordernest":520},{"team":4,"apps":32,"projects":51,"solutions":168,"technologies":323,"settings":517},[5,12,19,26],{"id":6,"name":7,"role":8,"tone":9,"photo":10},"6ad8eec4ff32bf2da077d493","Oudom","Cofounder and Chairman","sand",{"src":11,"alt":7},"\u002Fuploads\u002Ff49dd228-d4fd-43f1-a353-995689b5b6e0.webp",{"id":13,"name":14,"role":15,"tone":16,"photo":17},"6ad8eec4ff32bf2da077d494","Phalin","Cofounder and Team Lead","sage",{"src":18,"alt":14},"\u002Fuploads\u002Fda433cbf-d2d4-407a-ac21-cc6fb98984e0.webp",{"id":20,"name":21,"role":22,"tone":23,"photo":24},"6ad8eec4ff32bf2da077d495","Leanghor","Software Engineer","lilac",{"src":25,"alt":21},"\u002Fuploads\u002F9dc8b960-ff22-465d-a74d-22755391da16.webp",{"id":27,"name":28,"role":22,"tone":29,"photo":30},"6ad8eec4ff32bf2da077d496","Vathanak","clay",{"src":31,"alt":28},"\u002Fuploads\u002F45a0ff5c-74d0-4a3e-b583-61be0d1e08bb.webp",[33,40,46],{"id":34,"title":35,"body":36,"icon":37,"tile":38,"status":39},"6ad8eec4ff32bf2da077d497","Never miss a bill","A gentle reminder for every bill and subscription, so nothing surprises you at the end of the month.","bell","mint","In the lab",{"id":41,"title":42,"body":43,"icon":44,"tile":45,"status":39},"6ad8eec4ff32bf2da077d498","Know where your money goes","Snap a photo of a receipt. We'll keep track, so you don't have to.","receipt","mist",{"id":47,"title":48,"body":49,"icon":50,"tile":9,"status":39},"6ad8eec4ff32bf2da077d499","One list for the whole family","Groceries, chores and plans in one shared place everyone can see.","list",[52,67,77,87,98,107,117,126,132,138,145,155,162],{"id":53,"slug":54,"title":55,"summary":56,"tile":38,"preview":57,"status":58,"technologies":59},"6adb6577e4baf9ae06c53ac5","ordernest","OrderNest","A Telegram bot and dashboard that turns chat orders into tracked orders, with KHQR payment links and delivery labels.","chat","delivered",[60,61,62,63,64,65,66],"Nuxt","TypeScript","Node.js","Telegram Bot API","PostgreSQL","Redis","Docker",{"id":68,"slug":69,"title":70,"summary":71,"tile":45,"preview":57,"status":58,"technologies":72},"6adb6577e4baf9ae06c53ac6","sabay-reply","Sabay Reply","An assistant for Facebook Pages that answers the usual customer questions in Khmer, day and night, and hands hard ones to a person.",[73,74,75,76,64,65],"Python","FastAPI","Google Gemini","LangChain",{"id":78,"slug":79,"title":80,"summary":81,"tile":9,"preview":82,"status":83,"technologies":84},"6adb6577e4baf9ae06c53ac7","kanha-books","Kanha Books","Simple bookkeeping for small businesses, in Khmer first: invoices, expenses, KHQR payments and tax ready reports.","document","planned",[85,60,61,86,64,66],"Vue",".NET",{"id":88,"slug":89,"title":90,"summary":91,"tile":38,"preview":92,"status":83,"technologies":93},"6adb6577e4baf9ae06c53ac8","sendhub","SendHub","Compare and book local couriers from one screen, and follow every parcel in one place.","map",[94,61,95,64,65,96,97],"React","Go","Apache Kafka","Kubernetes",{"id":99,"slug":100,"title":101,"summary":102,"tile":45,"preview":103,"status":83,"technologies":104},"6adb6577e4baf9ae06c53ac9","queueme","QueueMe","Online booking with Telegram reminders and a walk in queue screen, for clinics, salons and spas.","calendar",[60,61,62,63,105,106],"MongoDB","Socket.IO",{"id":108,"slug":109,"title":110,"summary":111,"tile":9,"preview":112,"status":83,"technologies":113},"6adb6577e4baf9ae06c53aca","roomrent","RoomRent","Tenants, rent reminders, KHQR collection and utility bills split per room, for landlords and condo managers.","dashboard",[114,115,116,86,64],"Flutter","Dart","Firebase",{"id":118,"slug":119,"title":120,"summary":121,"tile":38,"preview":122,"status":58,"technologies":123},"6adb6577e4baf9ae06c53acb","ticketdoor","TicketDoor","Sell tickets with KHQR and check people in at the door by scanning a QR code.","phone",[124,61,125,64,114,65],"Next.js","NestJS",{"id":127,"slug":128,"title":129,"summary":130,"tile":45,"preview":122,"status":58,"technologies":131},"6adb6577e4baf9ae06c53acc","bacii-prep","BacII Prep","Exam practice for high school students, with a Khmer question bank, instant explanations and full mock exams.",[114,115,116,73,75,64],{"id":133,"slug":134,"title":135,"summary":136,"tile":9,"preview":112,"status":58,"technologies":137},"6adb6577e4baf9ae06c53acd","schoolbook","SchoolBook","Tuition fees, attendance and grades for private schools and tutoring centers, with updates to parents on Telegram.",[85,60,61,86,63,64],{"id":139,"slug":140,"title":141,"summary":142,"tile":38,"preview":50,"status":58,"technologies":143},"6adb6577e4baf9ae06c53ace","devproof","DevProof","A job board for Cambodian developers where skills are shown with real coding tests, not only a CV.",[124,61,64,144,66,97],"Elasticsearch",{"id":146,"slug":147,"title":148,"summary":149,"tile":45,"preview":150,"status":58,"technologies":151},"6adb6577e4baf9ae06c53acf","voice-khmer","Voice Khmer","Khmer voice over, subtitles and video translation for creators, brands and NGOs.","video",[73,152,153,154,74],"PyTorch","Hugging Face","FFmpeg",{"id":156,"slug":157,"title":158,"summary":159,"tile":9,"preview":82,"status":58,"technologies":160},"6adb6577e4baf9ae06c53ad0","aksor-ocr","Aksor OCR","An API that reads Khmer text from ID cards, invoices and forms, for banks, lenders and the vendors who serve them.",[73,152,161,74,64,66],"OpenCV",{"id":163,"slug":164,"title":165,"summary":166,"tile":38,"preview":150,"status":58,"technologies":167},"6adb6577e4baf9ae06c53ad1","promoreel","PromoReel","Send product photos, get short promo videos ready for TikTok and Facebook every week.",[62,61,154,75,65],[169,184,198,211,225,239,253,267,281,295,309],{"id":170,"slug":171,"title":172,"audience":173,"summary":174,"features":175,"icon":182,"tile":38,"preview":183},"6adafd4e8bbef65631e5b56b","point-of-sale","Point of sale","Shops, cafes and restaurants","Ring up sales quickly, give receipts, and see what sold today, even when the internet drops.",[176,177,178,179,180,181],"Quick checkout on a tablet, phone or computer","Cash, cards, KHQR and other QR payments","Receipts printed or sent by Telegram","Daily sales and best sellers at a glance","Staff accounts with their own permissions","Keeps selling offline and catches up when you reconnect","cart","shop",{"id":185,"slug":186,"title":187,"audience":188,"summary":189,"features":190,"icon":197,"tile":9,"preview":112},"6adafd4e8bbef65631e5b56c","inventory-and-stock","Inventory and stock","Shops, warehouses and distributors","Know what you have, where it is, and when to order more.",[191,192,193,194,195,196],"Stock across every branch and warehouse","Alerts when something runs low","Purchase orders and supplier records","Barcode scanning with a phone camera","Stock counts that are quick to do","Reports on what moves and what sits","box",{"id":199,"slug":200,"title":201,"audience":202,"summary":203,"features":204,"icon":103,"tile":45,"preview":103},"6adafd4e8bbef65631e5b56d","booking-and-appointments","Booking and appointments","Salons, spas, clinics and studios","Let customers book online and get reminders, so fewer people miss their time.",[205,206,207,208,209,210],"An online booking page with your services and prices","Reminders by Telegram or SMS","Staff schedules and days off","Deposits paid when booking","A calendar for the whole team","Each customer's visit history",{"id":212,"slug":213,"title":214,"audience":215,"summary":216,"features":217,"icon":224,"tile":38,"preview":103},"6adafd4e8bbef65631e5b56e","clinic-management","Clinic management","Clinics and small hospitals","Patient records, appointments and billing in one place, kept private.",[218,219,220,221,222,223],"Patient records and visit notes","Prescriptions you can print","A queue for the waiting room","Billing, receipts and insurance details","Access for each role, from front desk to doctor","Daily and monthly reports","cross",{"id":226,"slug":227,"title":228,"audience":229,"summary":230,"features":231,"icon":238,"tile":9,"preview":112},"6adafd4e8bbef65631e5b56f","school-management","School management","Schools, language centers and training centers","Enrolments, classes, attendance and fees, with updates for parents.",[232,233,234,235,236,237],"Student enrolment and records","Class timetables and teacher schedules","Attendance taken on a phone","Fee payments and friendly reminders","Report cards","Updates for parents by Telegram","book",{"id":240,"slug":241,"title":242,"audience":243,"summary":244,"features":245,"icon":252,"tile":45,"preview":50},"6adafd4e8bbef65631e5b570","hr-and-payroll","HR and payroll","Growing companies","Staff records, leave, attendance and payroll without the spreadsheets.",[246,247,248,249,250,251],"Staff profiles and contracts","Leave requests and approvals","Attendance with a check in on the phone","Payroll in riel and dollars","Payslips each staff member can see","Reports for tax and social security","people",{"id":254,"slug":255,"title":256,"audience":257,"summary":258,"features":259,"icon":266,"tile":9,"preview":92},"6adafd4e8bbef65631e5b571","delivery-tracking","Delivery tracking","Delivery and logistics companies","Assign orders to drivers, follow them on a map, and tell customers when to expect them.",[260,261,262,263,264,265],"Assign orders to drivers in a few taps","An app for drivers","A live map of every delivery","Photo proof of delivery","Cash on delivery that adds up at the end of the day","Updates for customers as their order moves","truck",{"id":268,"slug":269,"title":270,"audience":271,"summary":272,"features":273,"icon":280,"tile":38,"preview":50},"6adafd4e8bbef65631e5b572","customer-management","Customer management","Sales teams and service businesses","Keep every lead, customer and follow up in one place, so nothing slips.",[274,275,276,277,278,279],"Contacts and companies in one list","A sales pipeline you can drag along","Reminders to follow up","Notes and history for every customer","Simple reports on how sales are going","Bring in your existing Excel lists","chart",{"id":282,"slug":283,"title":284,"audience":285,"summary":286,"features":287,"icon":294,"tile":45,"preview":122},"6adafd4e8bbef65631e5b573","loyalty-and-membership","Loyalty and membership","Cafes, shops and gyms","Reward regular customers with points, stamps or memberships they keep on their phone.",[288,289,290,291,292,293],"Digital stamp cards","Points that turn into rewards","Membership levels","Works as a Telegram mini app or on the web","Offers sent to your members","Connects to your point of sale","star",{"id":296,"slug":297,"title":298,"audience":299,"summary":300,"features":301,"icon":308,"tile":9,"preview":183},"6adafd4e8bbef65631e5b574","online-shop","Online shop","Brands and shops that sell online","Your own shop on the web, with your products, your prices, and orders straight to you.",[302,303,304,305,306,307],"Your product catalog with photos","Cart and checkout","KHQR and card payments","Orders and stock in one place","Delivery options and fees","In Khmer and English","tag",{"id":310,"slug":311,"title":312,"audience":313,"summary":314,"features":315,"icon":252,"tile":45,"preview":322},"6adb6577e4baf9ae06c53ad2","software-team-for-hire","Software team for hire","Companies abroad that need more developers","A small Phnom Penh team that joins your project, with .NET as our specialty, and works in your hours where it counts.",[316,317,318,319,320,321],".NET and C# backends, APIs and services","Web apps in Vue, Nuxt or React","Mobile apps in Flutter","Code reviews, tests and pipelines set up from day one","Daily updates in English, on your tools","Start with one developer and grow from there","code",[324,328,331,334,338,342,345,349,352,355,359,362,366,369,372,376,380,384,387,391,395,399,403,406,409,412,415,418,421,424,428,431,434,438,442,446,450,453,456,459,462,465,468,472,476,480,484,489,493,497,501,505,509,513],{"id":325,"name":85,"category":326,"logo":327},"6adaf77ad11d605ed26e9bc1","web","vuedotjs",{"id":329,"name":60,"category":326,"logo":330},"6adaf77ad11d605ed26e9bc2","nuxt",{"id":332,"name":61,"category":326,"logo":333},"6adaf77ad11d605ed26e9bc3","typescript",{"id":335,"name":336,"category":326,"logo":337},"6adaf77ad11d605ed26e9bc4","Tailwind CSS","tailwindcss",{"id":339,"name":62,"category":340,"logo":341},"6adaf77ad11d605ed26e9bc5","backend","nodedotjs",{"id":343,"name":86,"category":340,"logo":344},"6adaf77ad11d605ed26e9bc6","dotnet",{"id":346,"name":105,"category":347,"logo":348},"6adaf77ad11d605ed26e9bc7","data","mongodb",{"id":350,"name":64,"category":347,"logo":351},"6adaf77ad11d605ed26e9bc8","postgresql",{"id":353,"name":65,"category":347,"logo":354},"6adaf77ad11d605ed26e9bc9","redis",{"id":356,"name":66,"category":357,"logo":358},"6adaf77ad11d605ed26e9bca","infrastructure","docker",{"id":360,"name":361,"category":357,"logo":361},"6adaf77ad11d605ed26e9bcb","nginx",{"id":363,"name":364,"category":357,"logo":365},"6adaf77ad11d605ed26e9bcc","Cloudflare","cloudflare",{"id":367,"name":94,"category":326,"logo":368},"6adb6577e4baf9ae06c53a98","react",{"id":370,"name":124,"category":326,"logo":371},"6adb6577e4baf9ae06c53a99","nextdotjs",{"id":373,"name":374,"category":326,"logo":375},"6adb6577e4baf9ae06c53a9a","Vite","vite",{"id":377,"name":378,"category":326,"logo":379},"6adb6577e4baf9ae06c53a9b","Pinia","pinia",{"id":381,"name":114,"category":382,"logo":383},"6adb6577e4baf9ae06c53a9c","mobile","flutter",{"id":385,"name":115,"category":382,"logo":386},"6adb6577e4baf9ae06c53a9d","dart",{"id":388,"name":389,"category":382,"logo":390},"6adb6577e4baf9ae06c53a9e","Kotlin","kotlin",{"id":392,"name":393,"category":382,"logo":394},"6adb6577e4baf9ae06c53a9f","Jetpack Compose","jetpackcompose",{"id":396,"name":397,"category":382,"logo":398},"6adb6577e4baf9ae06c53aa0","Swift","swift",{"id":400,"name":401,"category":382,"logo":402},"6adb6577e4baf9ae06c53aa1","Android","android",{"id":404,"name":116,"category":382,"logo":405},"6adb6577e4baf9ae06c53aa2","firebase",{"id":407,"name":125,"category":340,"logo":408},"6adb6577e4baf9ae06c53aa3","nestjs",{"id":410,"name":95,"category":340,"logo":411},"6adb6577e4baf9ae06c53aa5","go",{"id":413,"name":73,"category":340,"logo":414},"6adb6577e4baf9ae06c53aa6","python",{"id":416,"name":74,"category":340,"logo":417},"6adb6577e4baf9ae06c53aa7","fastapi",{"id":419,"name":106,"category":340,"logo":420},"6adb6577e4baf9ae06c53aa9","socketdotio",{"id":422,"name":63,"category":340,"logo":423},"6adb6577e4baf9ae06c53aaa","telegram",{"id":425,"name":426,"category":347,"logo":427},"6adb6577e4baf9ae06c53aab","MySQL","mysql",{"id":429,"name":144,"category":347,"logo":430},"6adb6577e4baf9ae06c53aac","elasticsearch",{"id":432,"name":96,"category":347,"logo":433},"6adb6577e4baf9ae06c53aad","apachekafka",{"id":435,"name":436,"category":347,"logo":437},"6adb6577e4baf9ae06c53aae","RabbitMQ","rabbitmq",{"id":439,"name":75,"category":440,"logo":441},"6adb6577e4baf9ae06c53aaf","ai","googlegemini",{"id":443,"name":444,"category":440,"logo":445},"6adb6577e4baf9ae06c53ab0","Claude","claude",{"id":447,"name":448,"category":440,"logo":449},"6adb6577e4baf9ae06c53ab1","TensorFlow","tensorflow",{"id":451,"name":152,"category":440,"logo":452},"6adb6577e4baf9ae06c53ab2","pytorch",{"id":454,"name":153,"category":440,"logo":455},"6adb6577e4baf9ae06c53ab3","huggingface",{"id":457,"name":76,"category":440,"logo":458},"6adb6577e4baf9ae06c53ab4","langchain",{"id":460,"name":161,"category":440,"logo":461},"6adb6577e4baf9ae06c53ab5","opencv",{"id":463,"name":154,"category":440,"logo":464},"6adb6577e4baf9ae06c53ab6","ffmpeg",{"id":466,"name":97,"category":357,"logo":467},"6adb6577e4baf9ae06c53ab7","kubernetes",{"id":469,"name":470,"category":357,"logo":471},"6adb6577e4baf9ae06c53ab9","GitHub Actions","githubactions",{"id":473,"name":474,"category":357,"logo":475},"6adb6577e4baf9ae06c53aba","Terraform","terraform",{"id":477,"name":478,"category":357,"logo":479},"6adb6577e4baf9ae06c53abb","Grafana","grafana",{"id":481,"name":482,"category":357,"logo":483},"6adb6577e4baf9ae06c53abc","Linux","linux",{"id":485,"name":486,"category":487,"logo":488},"6adb6577e4baf9ae06c53abd","Figma","tooling","figma",{"id":490,"name":491,"category":487,"logo":492},"6adb6577e4baf9ae06c53abe","Git","git",{"id":494,"name":495,"category":487,"logo":496},"6adb6577e4baf9ae06c53abf","Vitest","vitest",{"id":498,"name":499,"category":487,"logo":500},"6adb6577e4baf9ae06c53ac0","Jest","jest",{"id":502,"name":503,"category":487,"logo":504},"6adb6577e4baf9ae06c53ac1","Cypress","cypress",{"id":506,"name":507,"category":487,"logo":508},"6adb6577e4baf9ae06c53ac2","Postman","postman",{"id":510,"name":511,"category":487,"logo":512},"6adb6577e4baf9ae06c53ac3","Storybook","storybook",{"id":514,"name":515,"category":487,"logo":516},"6adb6577e4baf9ae06c53ac4","Sentry","sentry",{"contactEmail":518,"socials":519},"zeabit.net@gmail.com",[],{"id":53,"slug":54,"title":55,"summary":56,"tile":38,"preview":57,"status":58,"technologies":521,"problem":522,"solution":523,"images":524},[60,61,62,63,64,65,66],"Many sellers take orders in Telegram and Facebook chats, then copy them by hand into a notebook or a spreadsheet. Orders get lost between messages, stock runs out without warning, and every payment has to be checked against a screenshot.","We're building a bot that reads an order from the chat and saves it with the customer, items and address. The seller confirms it in one tap, the bot sends a KHQR payment link, and the dashboard prints the delivery label and takes the items out of stock.",[]]