Ansh Rajput
Click anywhere to breathe fireTap anywhere to breathe fire

Ansh Rajput · Open to co-op roles

I build software that real businesses run on.

Computer Engineering student at the University of Alberta and founder of UCert. Two client platforms in production, one SaaS in the works.

Running nowPinging servers…
  • certcanada.caISO consultancy platformNext.js, Express, PostgreSQL…
  • twishcare.caPsychotherapy practice siteNode.js, Express…
  • ucertISO certification SaaSNext.js, TypeScript, SupabaseIn development

Selected work

Three products, each with something you can try.

Replacing in-person ISO consulting with software

Getting ISO certified usually means consultants, binders, and a one-day audit. UCert puts certification, team training, and every audit record for a company in one multi-tenant platform. I design and build all of it.

A document engine that writes the paperwork
Company details are filled into Word templates automatically. Previews use mammoth.js because serverless hosting cannot run LibreOffice.
Training and self-assessment built in
10 ISO 9001 modules, a 30-question knowledge check, and a 73-question clause-level gap analysis that saves every answer as you go.
Billing that runs itself
Stripe across 3 plans: checkout, cancel and resume, webhook-driven subscription sync, and plan limits in the app.
Auditors see the whole year, not one day
In progress: role-based access so certification bodies review a company's full record instead of a snapshot.

Try it: a 3-question sample of the 73-question gap analysis

  1. Clause 4.3 Is the scope of your quality management system written down?

  2. Clause 5.2 Is your quality policy communicated and understood by staff?

  3. Clause 9.2 Do you run internal audits on a planned schedule?

0/3

answered

Getting an ISO consultancy found across Canada

A 29-page platform for a consultancy serving clients in every province. It brings in client inquiries from across the country and lets people book a consultation without any back-and-forth email.

Moved from React and Vite to Next.js
Server-rendered pages give search engines real HTML, and a sitemap fix stopped a third of the site from hiding.
Static HTML for Bing
Bing does not run JavaScript, so every page also ships as static HTML with its own title, canonical URL, and description.
Rate limiting keyed to email, not IP
The host assigns a new IP to every request, so IP-based limits did nothing. Keying on email does.

What Bing sees (simplified)

<!-- Generated static HTML, one per page -->
<html>
  <head>
    <title>ISO 9001 Consulting in Canada | CertCanada</title>
    <link rel="canonical" href="https://certcanada.ca/iso-9001" />
    <meta name="description" content="ISO 9001 certification support for Canadian businesses." />
  </head>
  <body>
    <h1>ISO 9001 Certification Consulting</h1>
    ...
  </body>
</html>

Pages indexed by search engines

+53% after the Next.js migration and sitemap fix

Taking a therapy practice online in three cities

A site for a psychotherapist seeing clients in Mississauga, Markham, and Burlington, and virtually across Canada. Delivered end to end and running as built.

Two emails for every inquiry
The owner gets the client's details right away, and the client gets an instant confirmation.
A honeypot instead of rate limiting
People reaching out to a therapist should never hit a wall. A hidden field stops bots without slowing anyone real.
Found locally
Schema markup, a dynamic sitemap, and 3 Google Business Profiles, one for each city.

Try it: send a test inquiry through the pipeline

Contact formHidden field: empty
Express serverValidates, then sends
To the therapistNew inquiry from Sam, with their details
To Sam“We got your message and will be in touch”

Pick one to watch the request move through.

More projects

Team and systems work from school.

About

Ansh Rajput

I’m Ansh Rajput. I study Computer Engineering at the University of Alberta, in the Software Engineering co-op program. Alongside school I have shipped platforms for two businesses, and I am now building UCert on my own.

I like problems where software replaces something slow and manual: paperwork, scheduling, a form nobody answers. Before writing code I worked in quality management and audits, which is why I care about records being right. Most recently I spent a co-op term as a computer technician, returning 100+ machines to Alberta classrooms in four months.

Languages
TypeScript, JavaScript, Python, C, C++, Java, Kotlin, SQL
Frameworks
Next.js, React, Node.js, Express, Tailwind CSS, Jetpack Compose
Data and services
PostgreSQL, Supabase, Firebase, SQLite, Stripe, Resend, Google Calendar API
Tools
Git, GitHub Actions, Docker, Linux, Vercel, Railway, Postman, Claude Code, Cursor

Hiring for a co-op or building something? Let's talk.

Edmonton, Alberta. I reply to every message.

What's this about?
or press ⌘/Ctrl + Enter

Protected the way I protect client sites: a honeypot for bots and email-keyed rate limiting. You'll get a copy of your message by email.