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. Your own first project will score lower than a library maintained for years, and that is normal.

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 @archsetuweb/cli analyze --json > archsetu-report.json

    The first time, it may ask whether to install a package. Type y and press Enter. It then takes a few seconds, or up to a minute on a big project.

    When it finishes, your terminal will look like nothing happened. No message, no summary, just a fresh prompt. That is exactly right, and it is the moment most people wrongly assume it failed. Everything it measured went into a file instead of onto the screen.

  4. Upload the report

    Go to the share page and drag archsetu-report.json onto the box. It shows you what it understood about your project straight away, and you name it and publish from there. Your browser reads the file and sends only the numbers your page shows.

  5. Share your link

    You get a link straight away. Put it on your resume next to the project, in your LinkedIn profile or a post, 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.

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

Languages used
Which languages your project is written in, and how much of it each one is.
Size
How many files, lines and functions you wrote.
Complexity
How involved your functions are on average, and the most complicated one.
Tests
Whether your project has test files, and what share of it they are.
Original code
How much of your code is duplicated from elsewhere in the same project.
How you worked
If your project uses git: how many commits, over how many days, and how many people.

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
It asks whether to install a package
That is normal on the first run. Type y and press Enter. Nothing is installed permanently and it does not need administrator rights.
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