Open for Work | Ex @ZentorHQ | I build, ship, break, fix - mostly in full stack using ai tools.

Joined November 2023
563 Photos and videos
Pinned Tweet
My goals for 2026 are - > Getting a job as a full stack ai developer, preferably hybrid. > Gifting myself a new bike. > Gifting myself an iPhone. > 10k followers on Twitter. > Being mentally and physically healthy. Today is 22nd December 2025, 11 14 PM. What about you?
8
43
3,219
I would recommend chur chur naan to all ๐ŸคŒ
1
11
Dhanush retweeted
Jun 12
IT WORKED. Can't believe I'm using Minimax M3 in Codex App for free
37
8
378
127,169
exploring Indiranagar
2
41
Daily water filling ritual at the office...
20
The Fifa 2026 theme is grooving dude....
32
Tweeting from office
1
1
32
VCT LONDON WATCH PARTY IS GOING CRAZY...
1
63
I wonder where I got this laptop from... what you guys think?
52
Dhanush retweeted
Be the Answer. Rank Across Google & AI. "SEOitis" is live SEO is no longer just about ranking on Google. ChatGPT, Claude, Gemini, Perplexity, and Grok are answering your customers questions - with or without you. We built SEOitis to fix that. > Track how AI engines talk about your brand > Find the gaps > Research, write, and publish - one pipeline ๐Ÿ”— seoitis.com/
73
22
210
67,289
Dhanush retweeted
2
1
12
153
good night chat
11
My work demands developing AI Solutions and here I go
1
1
37
campusx for the win
1
33
my goals for the month of June - grow on X by posting my day to day stuff - connect with more real people
my goals for the month of June - grow my X account to 3k - share/ distribute the Practa growth marketer challenge - connect with more girl founders what are your goals?
2
3
391
the more time you spend learning, the harder it gets to get a job.
Don't waste 1-1.5y on learning in 2026
1
32
Dhanush retweeted
Don't waste 1-1.5y on learning in 2026
5
35
374
11,962
Dhanush retweeted

3
4
19
9,170
90% people don't take action, just because of the fear they carry everywhere.
2
19
Dhanush retweeted
๐—œ ๐˜๐—ต๐—ผ๐˜‚๐—ด๐—ต๐˜ ๐—บ๐—ผ๐˜ƒ๐—ถ๐—ป๐—ด ๐˜๐—ผ ๐—บ๐˜‚๐—น๐˜๐—ถ-๐˜‚๐˜€๐—ฒ๐—ฟ ๐˜€๐˜‚๐—ฝ๐—ฝ๐—ผ๐—ฟ๐˜ ๐—ผ๐—ป ๐—บ๐˜† ๐—ฎ๐—ฝ๐—ฝ ๐˜„๐—ผ๐˜‚๐—น๐—ฑ ๐—ท๐˜‚๐˜€๐˜ ๐—บ๐—ฒ๐—ฎ๐—ป ๐—ฎ๐—ฑ๐—ฑ๐—ถ๐—ป๐—ด ๐—ฎ๐˜‚๐˜๐—ต๐—ฒ๐—ป๐˜๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป. Turns out the real challenge was migrating existing production data safely. My app already had: โ€ข rewards โ€ข tasks โ€ข transactions โ€ฆbut all of them were modelled to support a single user. The problem: I couldnโ€™t lose or break existing data while introducing users. So hereโ€™s the migration strategy I used: 1. Added a ๐˜‚๐˜€๐—ฒ๐—ฟ๐˜€ table 2. Added nullable ๐˜‚๐˜€๐—ฒ๐—ฟ_๐—ถ๐—ฑ fields to: โ€ข rewards โ€ข tasks โ€ข transactions 3. Created a system user 4. Wrote a migration script to connect all existing records to that system user 5. Verified relationships and data integrity 6. Only then changed ๐˜‚๐˜€๐—ฒ๐—ฟ_๐—ถ๐—ฑ from optional -> required Mistakes I avoided: โ€ข Making ๐˜‚๐˜€๐—ฒ๐—ฟ_๐—ถ๐—ฑ required immediately โ€ข Writing destructive migrations โ€ข Breaking existing production records โ€ข Assuming auth alone solves multi-user architecture This was one of those features that looked simple from the UI side but completely changed the backend architecture.
2
1
4
71
๐—œ ๐˜๐—ต๐—ผ๐˜‚๐—ด๐—ต๐˜ ๐—บ๐—ผ๐˜ƒ๐—ถ๐—ป๐—ด ๐˜๐—ผ ๐—บ๐˜‚๐—น๐˜๐—ถ-๐˜‚๐˜€๐—ฒ๐—ฟ ๐˜€๐˜‚๐—ฝ๐—ฝ๐—ผ๐—ฟ๐˜ ๐—ผ๐—ป ๐—บ๐˜† ๐—ฎ๐—ฝ๐—ฝ ๐˜„๐—ผ๐˜‚๐—น๐—ฑ ๐—ท๐˜‚๐˜€๐˜ ๐—บ๐—ฒ๐—ฎ๐—ป ๐—ฎ๐—ฑ๐—ฑ๐—ถ๐—ป๐—ด ๐—ฎ๐˜‚๐˜๐—ต๐—ฒ๐—ป๐˜๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป. Turns out the real challenge was migrating existing production data safely. My app already had: โ€ข rewards โ€ข tasks โ€ข transactions โ€ฆbut all of them were modelled to support a single user. The problem: I couldnโ€™t lose or break existing data while introducing users. So hereโ€™s the migration strategy I used: 1. Added a ๐˜‚๐˜€๐—ฒ๐—ฟ๐˜€ table 2. Added nullable ๐˜‚๐˜€๐—ฒ๐—ฟ_๐—ถ๐—ฑ fields to: โ€ข rewards โ€ข tasks โ€ข transactions 3. Created a system user 4. Wrote a migration script to connect all existing records to that system user 5. Verified relationships and data integrity 6. Only then changed ๐˜‚๐˜€๐—ฒ๐—ฟ_๐—ถ๐—ฑ from optional -> required Mistakes I avoided: โ€ข Making ๐˜‚๐˜€๐—ฒ๐—ฟ_๐—ถ๐—ฑ required immediately โ€ข Writing destructive migrations โ€ข Breaking existing production records โ€ข Assuming auth alone solves multi-user architecture This was one of those features that looked simple from the UI side but completely changed the backend architecture.
2
1
4
71
If you found this useful: Follow me on ๐—ซ - x.com/dhanushdotcodes Connect on ๐—Ÿ๐—ถ๐—ป๐—ธ๐—ฒ๐—ฑ๐—œ๐—ป - linkedin.com/in/dhanushdotcoโ€ฆ Explore my work on ๐—š๐—ถ๐˜๐—›๐˜‚๐—ฏ - github.com/dhanushdotcodes
1
35