ciaovietnam
ciaovietnam on Hacker News
I've been building this CMS, e-commerce and app builder platform -
https://sitegui.app - solo in order to keep the cost down before it gains enough growth momentum. It is built by one to be extended by other developers/freelancers. Now AI also is a part of the platform too (AI App Builder & Integrated AI Agents for chatbot, reporting and automation).
Posted by
ciaovietnam on Monday July 14, 2025 @02:52PM
from the show-hn dept.
I just tried it and it works perfectly. The color scheme and font size could be touched up to look better. Just out of curiosity, is $10/month enough to cover the (unlimited) API cost? Do you estimate how many percentage of your users will use more than $10 API fee each month?
Posted by
ciaovietnam on Tuesday May 20, 2025 @03:12PM
from the show-hn dept.
https://sitegui.com/agent/platform_assistant
We build an Agent framework that can leverage existing apps/pages' content as the knowledge source. The agents can also be used to convert/transform app/page content through automation.
Posted by
ciaovietnam on Friday May 09, 2025 @07:07PM
from the deepwiki.com dept.
Now I have to trust OpenPubkey, hoping it wont get hacked. No way will I add this to my servers, I will keep using the long live public key.
I use SSE to send web users to another page (redirection header) while still processing other long running stuff for them. The result: non-blocking web access, users dont have to wait for all stuff processed to see a confirmation message e.g: a user signs up, you can show them their account has been created instantly while still creating relevant services (e.g: a virtual server) for their account.
Posted by
ciaovietnam on Saturday March 08, 2025 @07:45PM
from the norahsakal.com dept.
I'm not familiar with RabbitMQ but this is how I built a queue for LiteGUI using Redis.
Firstly, every job gets stored in an activity table with a retry and result column.
If the job should be run instantly without queueing, no queue entry is needed, the retry column is 0 and the result column is filled.
If the job fails for whatever reason, a queue entry containing the activity ID is added to let the queue worker process it later on. When the worker processes the job, the retry column will be incremented no matter of the outcome. If the worker succeeds, the activity will be updated with the result.
If the worker fails to process it and the retry number is less than 5, another queue entry will be added (as the current one is already removed from the queue). When to process that queue entry depends on the retry number, they can be 1m, 5m, 25m, 2.1h, 10.4h, 2.2 days using the following formula:
$interval = 300 * pow(5, ($retry - 1));
This approach also helps in case of queue failure, you can just rebuild the queue from the activity table for entries with no result (or status) and retry number is less than 5.
To be honest, I don't work with queue regularly but I have to implement it anyway. I'm sharing this approach so we all can improve it.
There is a chance that your subdomain is the first/default virtual host in your web server setup (or the subdomain's access log is the default log file) so any requests to the server's IP address get logged to this virtual host. That means they didn't access your subdomain, they accessed via your server IP address but got logged in your subdomain's access log.
Zelle is quite fast but still has room for improvement especially the user experience. I enjoy much better experience in Vietnam where I can send to anyone at any bank instantly free of charge using official bank apps and can widthraw money from ATMs cardlessly using smart OTP.
Posted by
ciaovietnam on Wednesday March 05, 2025 @01:04PM
from the livescience.com dept.
I built my own CMS system which places WYSIWYG content editor in a sandboxed iframe to avoid XSS. The advantage of this approach is that I can edit HTML directly using the browser's developer console in case the WYSIWYG editor does not support what I want. After all, raw HTML/CSS codes are behind what we see on a website, so I prefer to work with them directly rather than using Markdown. Whatever CMS you use, just make sure it supports changing theme/template and allows custom content to be inserted at different sections on a web page or preferably multiple pages (i.e global content widget). I found these 2 features crucial and make my work a lot easier.
This can happen to any shopping cart that lets shop owners add custom codes/plugins to the checkout page. Though that enhances the look and feel, I dont think it is a good idea. The checkout page should use a universal design (like Shopify's checkout page), it will reduce the chance of XSS attacks.
Thanks for sharing. How fast is this type of CDN from different countries/locations?
There are so many CMSes to choose these days, you just need to choose one that fits your needs. For me, I will choose one that allows me to change theme, menu items and add contents to different sections on the page whenever I want.
Posted by
ciaovietnam on Tuesday February 18, 2025 @04:51AM
from the dbdiagram.io dept.
It looks promising. Is it possible to one-click post to the target platforms instead of copy and paste?
So cool. I was able to spot Hipopotamus and Meeerkat right away as they are floating and blurry while others stay the same.
Posted by
ciaovietnam on Monday February 17, 2025 @09:44PM
from the sunpig.com dept.
Should we use ElasticSearch or vector databases for a catalog search function in 2025?
Posted by
ciaovietnam on Monday February 17, 2025 @12:12PM
from the thenewstack.io dept.
Posted by
ciaovietnam on Monday February 17, 2025 @12:06PM
from the redis.io dept.
Posted by
ciaovietnam on Sunday February 16, 2025 @10:43PM
from the linux.org dept.
Creating something like this is quite trivial with most LLMs but it's fun to tweak the prompt to get what you want. I'd suggest a loading indicator while waiting for the chatbot to response and also do not use via.placeholder.com for image placeholder as it is no longer in service.
I visited a similar NK restaurant in Saigon a few times before they closed down decade ago and the experience was the same. What impressed me is that all the NK waitresses can speak the local language (Vietnamese) fluently and can sing or play music instruments. The food is quite authentic, some ingredients are exported from NK. It was a good experience overall.
I don't deal with this kind of job too much but sometimes I have to migrate data from one system to another one. The cleaning is hard and specific to the data but most of the time I was able to deal with it using Regex find and replace and some command-line tools. For mapping, I would take 10 lines out of the CSV for test import, use AI or manually map the fields and then do batch import once the mapping is correct. AI can also help you clean, transform the data but the output may not be consistent.
You made great points. Thanks a lot! I should focus on 1 or 2 selling points instead of just showing all the features. Will keep the 5-30-close in check for the next update.
Unfortunately most Show HN threads are not shown on Show HN, they are shown in /shownew and /new for a short amount of time before other new threads arrive. To be shown in Show HN they must pass some unknown thresholds (upvotes???). I believe not many HNers visit /shownew and the chance to get upvotes on /new is quite slim due to the amount of new threads coming in. I know there must be some mechanism to prevent spamming but the current one also suppresses the exposure of Show HN threads and they are often buried in /shownew without much exposure/feedback.