TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Ceritain ubah obrolan santai jadi CV rapi yang ramah ATS. Pilih buddy, ceritain pengalamanmu, download CV-nya.
Translation pending
ProductivityHTML · JavaScriptGitHub @renaldoliaoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A website (Bahasa Indonesia first, with an ID/EN switch, casual tone) that introduces Ceritain and its three career buddies (Kira the Cat, Kopi the Owl, Tobi the Dino), plus the tool itself: people sign up, pick a buddy, chat about their work life, and get an ATS-friendly CV they can unlock and download as a PDF. Payment is in test mode for now.
| Address | What it is |
|---|---|
/ | Home: what Ceritain is, 3 steps, buddies, price. |
/why-ats | Why an ATS-friendly CV matters, with sourced statistics. |
/buddies | Meet Kira, Kopi and Tobi in detail. |
/pricing | Pricing and all FAQs. |
/app | The tool. Sign up / log in, pick a buddy, chat, get the CV. |
| File | What it does |
|---|---|
index.html | Home page. |
why-ats.html, buddies.html, pricing.html | The other pages. |
lib/site.css, lib/site.js | Shared look, menu and footer for the other pages. |
app.html | The tool (sign up, chat, CV, payment popup, PDF). |
lib/i18n.js | The language switch. All Bahasa and English words for the site live here and in each page. |
lib/buddies.js | The buddies' drawings, colors and fonts (used by both pages). |
lib/fonts/ | Inter typeface for the CV (SIL Open Font License, free to use), trimmed to the letters a CV needs. |
lib/jspdf.umd.min.js | A free tool that creates the PDF file. |
api/chat.js | Talks to the AI during the chat. |
api/resume.js | Asks the AI to write the final CV. |
api/_buddies.js | Each buddy's personality and way of asking questions. |
api/_auth.js | Checks the visitor is logged in and within their daily limit. |
api/config.js | Tells the app how to reach the login service. |
privasi.html, syarat.html | Privacy Policy and Terms (Bahasa + English). Fill in your name and contact email in lib/i18n.js (OPERATOR, CONTACT). |
api/account.js | Users download all their data or delete their account (UU PDP rights). |
api/cleanup.js | Runs daily: deletes unpaid CVs after 90 days and old usage counts. Needs CRON_SECRET. |
api/cv.js, api/pay.js, api/_db.js | Save each CV in the user's account, and unlock it only after payment (checked on the server). |
api/_shared.js | Shared settings and chat-length limits. |
supabase-setup.sql | Database setup: usage counter and saved CVs (see below). Safe to run again. |
vercel.json | Lets /app work without typing .html. |
CVs are saved in the user's account, so they survive a phone change.
Before payment the browser only gets a scrambled preview. The full CV is sent only after the server marks it paid.
Payment is in test mode (PAYMENT_TEST_MODE, on by default). Set it to off before launch, and connect a real payment provider.
The real AI only answers people who are logged in with a confirmed email.
Each account gets a daily limit: 80 chat messages and 5 CVs by default.
Without accounts set up, the AI stays locked (the site shows a polite message).
Demo mode (no AI key) costs nothing, so it works without logging in.
supabase-setup.sql, and click Run.https://storycv-two.vercel.apphttps://storycv-two.vercel.app/appIn your Vercel project, open Settings → Environment Variables and add:
| Name | Value |
|---|---|
ANTHROPIC_API_KEY | your AI key |
SUPABASE_URL | Supabase Project URL |
SUPABASE_ANON_KEY | Supabase anon / publishable key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service_role / secret key |
Also add CRON_SECRET (any long random text) so the daily cleanup can run.
Optional: DAILY_MESSAGE_LIMIT, DAILY_RESUME_LIMIT (numbers), and STORYCV_MODEL = claude-haiku-4-5-20251001 for the cheaper AI.
Then go to Deployments, click the three dots on the newest one, and choose Redeploy.
startPayment() in app.html with Midtrans or Xendit, and confirm payments on the server before giving the PDF.PRICE_IDR in both index.html and app.html.lib/buddies.js.api/_buddies.js.index.html.api/resume.js.