Amir Zakaria /lab

zak/lab · rev 3.2.0 · the lab is running

Amir
Zakaria

walk the lab ↓

five years,
one wrist.

Pick a year. The arm lifts with it. 2022 sits low, on the seam. 2026 is the board up.

the systems
under the page.

The pages are Next.js and TypeScript. Under them: Django, agents, and boards that have to move when the interface says they moved.

SYS-01Software live

Agent coding studio

Invite-only. A planner writes the plan and never touches a file. Workers edit a sandboxed tree under per-agent write scopes, behind gates that fail closed. Previews open on a separate origin, and GitHub gets a pull request, never a merge.

CockpitNginxDjangoCouncilPostgres
5 nodes · 4 hops
Next.jsTypeScriptDjangoLangGraphCelery
SYS-02Software live

Lecture classroom

A lecture becomes a transcript, a translation, a summary, a diagram, a quiz, and a tutor that answers from that lecture and its syllabus.

UploadSpeechIndexTutor
4 nodes · 3 hops
Next.jsDjangoCeleryFAISSAzure Speech
SYS-03Product live

Job packet drafter

Scores a posting against a real CV and drafts the packet. It does not click Apply. Below 4 out of 5 it says not to send it. Built on the MIT-licensed career-ops.

CVRadarScorePacket
4 nodes · 3 hops
Next.jsPrismaLangGraphInngestPostgres
FIN-05Product

Lender desk

The internal desk: underwriting through sanction to maker and checker disbursal. The browser talks to Next. Next talks to Django. A team build; the sanction screens, much of disbursal and the shared proxy are mine.

UnderwriteRecommendSanctionDisburse
4 nodes · 3 hops
Next.jsTypeScriptDjangoCeleryKeycloak
FIN-06Product

Loan intake app

Field staff open an application on a phone: applicant, co-applicant, documents, bureau and risk checks, a payment link. Camera, crop and GPS capture, installable as a PWA.

LeadConsentDocumentsRiskSubmit
5 nodes · 4 hops
Next.jsReactTypeScriptTailwindPWA
PRD-10Product live

Bookstore

An online Islamic bookshop. Catalog, cart, checkout, reviews, and an inventory desk that is not linked from the shop.

ShopAPIOrders
3 nodes · 2 hops
Next.jsDjangoPostgresTailwindThree.js
PRD-11Product

3D cafe website

The menu is a page. The room is a 3D scene you enter through the door. The menu, the reviews, the order link and a coupon hunt sit on the model.

MenuRoomCoupon
3 nodes · 2 hops
ReactViteThree.jsExpress

on the floor · hover to look

boards that
have to move.

Before the desk, the work was boards: a radio stylus, a wearable that speaks, and pages served by the microcontroller itself.

HW-07Hardware

Classroom board and stylus

A drawing surface, recorded lessons, and a three-button radio stylus. A pipeline turns each recording into a transcript, 17 translations and a summary. Built with Aishwarya.

StylusRF linkReceiverComputer
4 nodes · 3 hops
ReactFirebaseWhisperArduinoVirtualWire
HW-08Hardware

Wearable that reads aloud

Five buttons on a Pi, a camera, and a microphone. It reads text, names objects, answers out loud, and flags obstacles. Hardware side of a two-person build with Muhammad Sheikh.

CameraReadSpeak
3 nodes · 2 hops
PythonRaspberry PiCloud VisiongpiozeroTensorFlow Lite
HW-09Hardware

Boards with their own web page

The ESP8266 serves the page. A relay pair for a motor (up, stop, down) and a stepper on an A4988 (clockwise, counter-clockwise, stop).

PageGPIODriverMotor
4 nodes · 3 hops
ESP8266ArduinoA4988ESPAsyncWebServer

on the floor · hover to look

it fails
closed.

Penetration testing, vulnerability assessment, and hardening what I ship: separate origins, HttpOnly sessions, checks that fail closed.

SEC-04Security live

Fix checker

Proposes a fix only after the same detector passes on the patched tree, and re-checks it on a live preview once a person approves. It never merges.

DetectPatchApprovePreview
4 nodes · 3 hops
FastAPILangGraphPlaywrightPostgresNext.js

threat register

Every system on this site ships with one. Pick a row to open its dossier.

idsystemhow it holds
SYS-01WhipPreviews run on a separate origin, and the proxy strips cookies and credentials before forwarding. Scope, syntax, compile, test and reviewer gates fail closed. Quotas fail closed at 402. GitHub is PR-only.
SYS-02EduX ClassroomThe tutor’s prompt carries the subject’s syllabus and a grounding rule: a prompt-level guard. Generated visualizers run in a sandboxed iframe under a strict CSP. Token allowances per organisation and per user.
SYS-03LumenOTP codes are HMAC-hashed and compared in constant time. The reset ticket dies when the password changes. A spent allowance returns 402. The model is told not to invent employers, titles, dates, or tools.
SEC-04WhipGuardThe outcome check fails closed if GitHub, Cloudflare and the dashboard disagree, and Slack when connected. A merged PR counts as a mismatch. Counsel is read-only and cannot approve. Only the worker holds the Docker socket.
FIN-05Loan origination deskRead and write are separate permission codes, enforced in Django as well as the UI, so a view-only user cannot post. The applicant’s consent OTP goes over SMS and WhatsApp and is separate from staff login. A cancelled deviation leaves an audit row.
FIN-06PraveshEach co-applicant’s consent is its own OTP, apart from staff login. An expired token comes back as 410, and the client refreshes once and busts the cache. A rule can interrupt a step with a deviation.
HW-07Smartboard and stylusRecordings stay on the machine that captured them. Transcripts go to a translation API. The stylus only emits one-character commands.
HW-08Blind AssistNothing runs until a button closes its circuit. The read-outs are spoken on the device. The assistant and its voice are cloud services.
HW-09ESP8266 web controlsLAN only. The pages have no login, so anyone on the network can press the buttons. Opposite relay directions never energise together.
PRD-10Spark & ShinePrices come from the server, not the client. Email OTP covers verification and password reset. The admin API checks staff permission on the server; the page’s path is simply not linked.
PRD-11LSD CafeCollects only an email address per coupon, stored on the server. Nothing is emailed out. The scene is served from the same origin, not a sandbox.

on the floor · hover to look

click a tool.
the bench answers.

A yes means something here is built with it. A no means it is not on this bench.

Interface
Systems
Agents
Hardware
Security

everything is on the bench

drag to throw · tap a tool to ask the bench

Next.js
TypeScript
C++
Docker
ESP8266
Tailwind
React
Three.js
PWA
Django
Python
FastAPI
Celery
Postgres
Express
LangGraph
Azure OpenAI
FAISS
Playwright
Arduino
Raspberry Pi
Separate origins
Fail-closed gates
HttpOnly sessions
OTP

the jobs,
as the CV tells them.

October 2025 — present

Product engineer

Saarathi Finance

Founding product engineer, web. Next.js on Django for a lender’s internal desk: underwriting, sanction and disbursal screens, a shared authenticated proxy, and the Pravesh, Connector and Central Access apps. Bulk email and inventory, end to end. 900+ pull requests authored, 270+ reviewed.

October 2025 — December 2025

Electronics mentor

The Innovation Story

Robotics and hardware development training.

March 2022 — October 2025

Security research scholar

CoE CNDS, VJTI

Reverse engineering, backend and API security, OS security, IoT and drone security, cryptographic implementation, and device and network reliability analysis.

November 2024 — October 2025

Math model trainer

Outlier

Writing and checking math so a model’s answers get clearer: chain-of-thought reasoning, and correcting hallucinations.

June 2024 — November 2024

IoT engineer

Dataviv Technologies

PCB design and assembly, wireless links over LAN and WLAN, real-time web interfaces, embedded Linux, and getting the system deployed and tuned.

2021 — present

Freelancing

Self employed

Web, security consultancy, hardware repair and assembly, teaching, and product work for small clients.

January 2022 — June 2024

Lead

GDSC VJTI

Started on the cyber security committee, then cyber security lead: workshops on cyber security and ethical hacking. From July 2023, GDSC VJTI lead, organising workshops, guest lectures and events for student developers.

June 2023 — October 2024

Student marketeer

Red Bull India

Campus presence across VJTI, ICT, XIE, and IES.

October 2020 — December 2021

Teaching assistant

Xavier Institute of Engineering

Online workshops on web development, security, Python, and robotics.

June 2020 — November 2021

Volunteer teacher

Awami Jr. College

Information technology for 11th and 12th grade. Exams, notes, and the lab machines.

marksUNESCO India-Africa Hackathon ’22Smart India Hackathon ↗Yukti Innovation ChallengeMicrosoft Founders Hub ↗7 intercollege events2 hardware patentsthe long version →

ask for the work.
the arm carries the request.

WO-01

Web development

Sites and web apps. The page, the API behind it, and the deploy.

WO-02

App development

Installable web apps that live on a phone or in a browser. Camera, GPS, and offline capture where the job needs them.

WO-03

Hardware development

Circuit, prototype, a web page served by the board, and the link into the software.

WO-04

3D printing

Enclosures, mounts, and prototype parts, printed from your model or modelled with you. Made for boards and devices that need a case.

WO-05

Product development

The whole thing: research, the interface, the system under it, and the hardware if the product has any.

WO-06

Security

Penetration testing, vulnerability assessment, and hardening what I ship: separate origins, HttpOnly sessions, checks that fail closed.

WO-07

Teaching

Workshops in web, security, Python, and robotics. Hardware training for students.

WO-08

Computer and laptop repair

Diagnostics, parts, upgrades, and machines that boot again.

write it here.
the arm holds the first line.

Send stores the note on this server.
Theory without practice is sterile; practice without theory is blind.

A missing page is a small game. Try one →

Each page load adds a record to a log on this server: your IP address and the city, region, country, postal code, approximate coordinates and network it resolves to; where you came from; your browser’s language, time zone and local time; device type; time spent; and the dossiers opened. A third-party location service (ipapi.co) sees your address once to resolve that. Do Not Track is honoured. Add ?notrack=1 to the address to opt out on this browser.

ZAK/LAB firmware 3.2.0

software · hardware · security

loading 0/…