around & free-ish — say hi

hi there,i'm shahid.

nice to meet you. i make websites, weird little bots, and the occasional thing i can't explain at parties.

p.s.
javascripttypescriptpythonc++c#reacttelegram botsnodegittailwindtoo much tea
javascripttypescriptpythonc++c#reacttelegram botsnodegittailwindtoo much tea
— ledger.txt (questionable but accurate)
0
cups of tea
give or take a kettle
no.01
0+
bugs blamed on git
git did not respond
no.02
0
meetings attended on purpose
this is the brag
no.03
0am
production server saved at 3
you owe me a tea
no.04
— A note
“i write code that works. the first time is a fluke. the fifth time is skill.”— me, probably at 2am
Based somewhere with decent internet
Tea drinker (non-negotiable)
Commits with actual messages
About

I build things that actually work.

hi, i'm shahid. i build things for the web, write bots for telegram, and occasionally have long quiet arguments with c++ that nobody wins. i've been at this long enough to know which stack overflow answers to trust and which to screenshot as warnings. i work fast, i actually reply to messages, and i've squashed an embarrassing number of bugs.

also: tea, lots of it. probably right now.

JS / TSPythonReactBots
— the journey so far

a quick timeline.

no corporate buzzwords. just what i did, where i did it, and what it taught me.

2023 — present~ self-directed

solo builder & freelance dev

i am the standup, the sprint, and the retrospective. it's efficient.

2021 — 2023~ remote contracts

full-stack developer

learned that 'quick fix' and 'technical debt' are the same thing with different pr descriptions.

2019 — 2021~ side projects that became real

bot developer & script writer

built a bot to automate my job. then realized the bot had better uptime than me.

2017 — 2019~ the beginning

code tinkerer

spent a year arguing with c++ compilers. won occasionally. grew stronger.

next chapter loading…
— what i do

six things i do well.

no portfolio cards. no screenshots. just the actual work — described honestly.

no.01

web applications

react frontends and full-stack apps. i care about speed, accessibility, and not making users want to close the tab.

no.02

telegram bots

bots that automate, respond, and occasionally develop personalities of their own. python + telegram bot api.

no.03

scripting & automation

python and shell scripts that do the boring parts so you don't have to. probably runs on a cron job.

no.04

systems programming

c++ and c# for when performance actually matters and you want to feel the consequences of your choices.

no.05

ui / ux implementation

i turn designs into pixel-accurate react components with tailwind. if the design is wrong, i'll tell you.

no.06

dev tooling

typescript types, git workflows, linting configs, ci setup. the stuff nobody wants to do but everyone needs.

— field notes

things people actually said.

~ names withheld to protect the productive
shipped in three days what we'd been arguing about for three months. mildly annoying. very impressive.
a product managervia telegram, 1:47am
the bot replied so fast i assumed it was sentient. then it made a pun. confirmed sentient.
bot user #4,2175-star review
he commented his code. voluntarily. i almost cried.
a backend devcode review, last tuesday
fixed in 12 minutes what a stack overflow thread couldn't fix in 8 years.
anonymous teammatedm, redacted
disclaimer: quotes dramatized. impressions are real.
— the stack

the stack i trust.

hover any pill — every one has an opinion.

runs everywhere. crashes everywhere. ship it.
javascript, but it argues with you first.
import solution → modulenotfounderror. classic.
for when you enjoy full control and full responsibility.
like java, but with better aesthetics.
one component to rule them all. and re-render them all.
i make bots. they're more productive than me.
javascript escaped the browser. we're processing this.
git push --force. this is fine.
i write css without writing css. not sorry.

Run me.

Yes, this actually works. Kind of.

JSshahid.js×
PYlife.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// shahid.js — handle with care
 
const shahid = {
name: "Shahid",
skills: ["JS", "TS", "Python", "C++", "React", "Bots"],
teaLevel: 100, // critical resource
bugs: 0, // (this is a lie)
available: true
};
 
function drinkTea() {
shahid.teaLevel += 50;
shahid.productivity *= 1.8;
return "much better";
}
 
function fixBug(bug) {
if (Math.random() > 0.5) {
return "fixed! (created 2 new bugs though)";
}
return "have you tried turning it off and on again?";
}
 
async function deployToProduction() {
console.log("running tests...");
await sleep(400); // prayer-based testing
console.log("tests: skipped (we live dangerously)");
console.log("deploying... 🚀");
return "deployed. fingers crossed.";
}
 
// main
drinkTea();
deployToProduction();
console.log("shahid.available:", shahid.available);
TERMINAL — bash — shahid@portfolio:~$
shahid@portfolio:~$ _ # hit ▶ Run to boot me up

// no semicolons were harmed in the making of this widget

— currently / a status page

what i'm up to right now.

all systems caffeinated · 05:54 PM
shipping
a telegram bot that out-types its users
in flight
listening to
lo-fi + the hum of my laptop fan
loop
reading
the changelog of a library i'll never use
ongoing
drinking
tea №3 of the day. cardamom, milk, regret optional
fuel
avoiding
merge conflicts and mondays
ongoing
open to
freelance, full-time, and tea recommendations
live
tz
gmt+ish
response
< 24h, usually < 1h
calendar
mon–fri · sat if it's fun
— the contact bit

let's talk.

i read every message. reply time is somewhere between “right now” and “after tea”.

shahid · made by hand · powered by tea