ArchSetu
ArchSetu
छाप · Chhap

Prove what you built.

Everyone puts a GitHub link on their resume. Almost nobody opens it. Chhap turns any coding project on your computer into one clean page that says what you actually built, in ten seconds of someone's attention.

Free. No account. Your code never leaves your machine, and it works with 47 programming languages.

That example is Express, the Node.js library you have probably used, measured with this exact tool. Nothing on your page is a grade or a mark out of anything — it says what you built, what you built it with, and how much of it there is.

Whatever you code in, it works

47 languages are recognised, and 43 of them are read properly for functions and structure. You do not configure anything. Point it at your folder and it works out what is there.

Common in college projects

If your final-year project is in one of these, it is fully supported.

PythonJavaJavaScriptTypeScriptCC++C#PHPSQL

Mobile and app development

Android, iOS and cross-platform projects.

KotlinSwiftDartObjective-CGroovy / Gradle

Systems and backend

Compiled and performance-oriented languages.

GoRustRubyScalaZigNimCrystalSolidity

Functional

Fully parsed, same as everything else.

HaskellElixirErlangClojureOCamlF#Julia

Web frameworks

Single-file component formats are parsed as real code.

VueSvelteGraphQLProtocol Buffers

Scripting, build and infrastructure

The glue around a project counts as part of it.

Shell / BashPowerShellBatchPerlLuaMakefileDockerfileTerraformVim scriptEmacs Lisp

Counted, but not parsed for functions

These are recognised and their lines are counted, but they have no functions to find, so they do not affect complexity.

HTMLCSS / SCSSYAMLR

The full guide

Written for someone who has never used a terminal. It takes about five minutes the first time, and under a minute after that.

  1. Install Node.js, once

    Node.js is the program that runs the analyser. You install it one time and never think about it again. Get it from nodejs.org and choose the version marked LTS.

    To check it worked, open a terminal and run this. If you see a version number, you are set.

    node --version

    On a college lab computer you may not be allowed to install anything. If that is your situation, do this on a personal laptop, or ask your lab administrator to install Node.js. There is currently no way around this step, and we would rather tell you now than waste your time.

  2. Open a terminal inside your project folder

    This is the step people get stuck on. The terminal has to be inside the folder that holds your code, otherwise it will find nothing.

    Windows

    Open your project folder in File Explorer. Hold Shift, right-click on empty space inside the folder, and choose "Open PowerShell window here" or "Open in Terminal". If you do not see it, click the address bar at the top, type powershell, and press Enter.

    Mac

    Open your project folder in Finder, right-click it, and choose Services, then "New Terminal at Folder". If that option is missing, open Terminal, type cd followed by a space, then drag the folder onto the Terminal window and press Enter.

    Linux

    Right-click inside your project folder in the file manager and choose "Open in Terminal", or open a terminal and cd into the folder.

    Any, using VS Code

    Open your project folder in VS Code, then open the Terminal menu and choose New Terminal. It starts in your project folder already, so there is nothing to navigate.

  3. Run one command

    Copy this, paste it into the terminal, and press Enter. Nothing is installed permanently and you do not need administrator rights.

    npx --yes @archsetuweb/cli@latest share

    You will see a progress bar move as it works, and your link printed at the end. That is the whole thing: no file to find, nothing to upload.

    On the way it reads your README for a sentence about the project and your git remote for a link to the code, and prints both before it publishes, so you see what is going public. If there is nothing to read it still works — the page then describes the project from its measurements.

    If your terminal asks permission to install something, the command above already answers it for you. If you still see a question, type y and press Enter.

  4. Share your link

    Put it on your resume next to the project, in your LinkedIn profile, or in the message you send a recruiter. When you paste it into WhatsApp or LinkedIn it unfolds into a preview card, so people see what you built without opening anything.

    Prefer not to run a command that publishes straight away? There is a two-step route using a file on the share page.

What is archsetu-report.json, exactly?

Where did it come from?
The > at the end of the command means "put the result in a file instead of printing it". That is why your terminal stayed empty.
Where is it?
In the same folder the terminal was in, sitting next to your own code. If your computer hides file extensions, you will see it listed as archsetu-report.
What is inside it?
Measurements: how many files, which languages, how complex your functions are. It is ordinary text, and it contains no copy of your code.
Do I need to open it or understand it?
No. You hand it to the upload page and that is the end of your involvement with it.
Can I rename it or move it?
Yes. The upload checks what is inside the file, not what it is called or where it lives.

What your page shows

It is a page about your project, not a report card. There is no score and no grade on it. You do not have to fill anything in — everything below is read from your own project folder.

What your project does
The first paragraph of your README, taken automatically. No README, or want different words? Pass --about "what it does" and that is used instead.
What it is built with
Worked out from your project: the language, and the frameworks and databases named in your package.json, requirements.txt, pom.xml, Cargo.toml, Gemfile, composer.json or pubspec.yaml.
Links to the real thing
Your code, from your git "origin" remote, with any access token in it stripped out. Add a live demo with --demo https://your-demo-url, and a video or write-up the same way.
Size of the work
How many files, lines and functions there are.
How you worked
If your project uses git: how many commits, over how many days, and how many people.
Whether it has tests
Shown when it does. Never shown as a mark against you when it does not.

Making the page yours

The command works with nothing added. Add any of these to change what it guessed — for example npx --yes @archsetuweb/cli@latest share --demo https://my-app.vercel.app.

--about "what it does"
Your own words instead of the README paragraph.
--demo https://...
Where it is running, if it is running somewhere.
--repo https://...
Link to the code, if your git remote is wrong or missing.
--video https://...
A demo video. Worth more than any number on the page.
--highlight "..."
Something you want read. Repeat it for up to six.
--name "Project Name"
The title, if your folder is called something unhelpful.
--as my-project
The web address to claim: my-project.archsetu.com.

Your description and links are printed in the terminal before the page is created, so you always see what is about to go public. Nothing on the page is checked by ArchSetu, and the page says so.

What we will not pretend

  • Your page says the numbers are self-reported. You ran the analysis on your machine, so we say that rather than claiming we checked it. That honesty is the point, and it is what makes the page worth trusting.
  • It does not prove authorship. Nothing here can show who wrote the code.
  • It measures structure, not talent. These are counts and ratios. A lower number can simply mean an unusual project.
  • We do not guess at unused code. ArchSetu can flag code that looks unreachable, and on real projects it gets that wrong often enough that we keep it off your page entirely rather than risk a wrong mark against your name.

If something goes wrong

Nothing happened. The terminal printed nothing at all
That is success, not failure. The analyser writes its result into a file rather than onto the screen, so a silent terminal and a fresh prompt is what finishing looks like. Open your project folder and the file will be there.
I cannot find archsetu-report.json
It is in whichever folder the terminal was in when you ran the command, sitting alongside your own code. If your file manager hides file extensions you will see it as "archsetu-report". If it is genuinely not there, the command did not finish - scroll up in the terminal and read the error.
What even is a .json file? Do I need to open it?
No. It is an ordinary text file holding the measurements of your project - how many files, which languages, how complex. It contains no copy of your code. You never need to open it or understand it; you just hand it to the upload page.
It says npx is not recognised, or command not found
Node.js is not installed, or the terminal was open before you installed it. Install Node.js from nodejs.org, then close the terminal completely and open a new one. Check it worked by running: node --version
My file starts with "Need to install the following packages"
On the very first run npx asks permission to install, and on many setups that question is written into the file instead of onto the screen - so the terminal looks like it is hanging and the file can never be read. The command above now includes --yes, which skips the question entirely. Delete archsetu-report.json and run it again exactly as shown.
It asks whether to install a package
If you see that question on screen, type y and press Enter. Nothing is installed permanently and it does not need administrator rights. The command above avoids the question in the first place.
It says the analysis found no source files
The terminal is in the wrong folder. Run dir on Windows or ls on Mac and Linux, and check you can see your own code files listed. If you cannot, navigate to the right folder first.
My page shows no commits or days worked
Your project folder is not a git repository, so there is no history to read. That is not an error and the rest of the page still works. If you want that section, your project needs to be tracked with git.
The upload says the file is too large
The page reads the file in your browser, so very large projects will not fit. This is built for ordinary projects rather than huge codebases.
The file is not valid JSON
Upload archsetu-report.json itself, not a screenshot, a zip, or your source code. If the file is 0 bytes, the command failed - scroll up in the terminal and read the error above it.

Questions

Does my code get uploaded?
No. The measuring happens on your own computer. Even the report file stays on your computer: your browser reads it and sends only the small set of numbers your page displays.
Is it really free?
Yes, and there is no account to create. You do not need to sign in to make a link.
Does this prove I wrote the code?
No, and the page says so plainly. You ran the analysis yourself, so the numbers are self-reported. Chhap describes your project honestly rather than claiming to have verified it.
Can anyone find my page?
Only someone you give the link to. The link cannot be guessed, and search engines are told not to list it, so it will not appear when somebody searches your name.
What if my project is unfinished or small?
That is fine. The page describes what your project is, not whether it is good enough. A small, clean, well-tested project often reads better than a large messy one.
My project is mostly HTML and CSS. Will it work?
Yes, and those are counted. But they contain no functions, so complexity will be low and the function count small. That is a fact about the file types, not a judgement on your work. 43 of the 47 supported languages are parsed for functions.

Your project is already finished. Give it a page.

Five minutes the first time. Nothing to sign up for, nothing to pay, and nothing leaves your computer.

Make my page