Skip to content

Instantly share code, notes, and snippets.

View nileshkant's full-sized avatar
🏠
Working from home

Nilesh Kant nileshkant

🏠
Working from home
View GitHub Profile
@nileshkant
nileshkant / bypass.js
Last active July 24, 2025 02:56
Access Mobbin Without a Subscription
// 1. Install the "User JavaScript and CSS" Chrome extension.
// 2. Enable it for Mobbin.
// 3. Paste the following script into the extension.
(function () {
// Function to unblur all images and remove blur overlay classes
function unblurImages() {
const groups = document.querySelectorAll('div.group.peer');
@nileshkant
nileshkant / readme.md
Created July 22, 2025 17:12
AI Podcast App PRD- gemini ai 2.5pro

Here is a detailed Product Requirement Document (PRD) for your AI-powered podcast app.

Product Requirement Document: "Synapse" - The AI-Powered Personalized Podcast Platform

1. Introduction and Purpose

Synapse is an AI-driven platform that transforms dense research papers, in-depth tech blogs, and other extensive written content into engaging, conversational podcasts. In a world of information overload, Synapse aims to make complex topics more accessible and digestible for intellectually curious individuals who may lack the time to read long-form content. The platform will leverage artificial intelligence to automate the entire podcast creation pipeline, from summarization and scriptwriting to audio generation and personalization. This allows users to consume high-quality, customized audio content on the go.

2. Goals and Objectives

@nileshkant
nileshkant / longPressButton.tsx
Created October 21, 2023 07:21
Detect long press using React custom hook.
import React from 'react';
import useLongPress from './useLongPress';
const LongPressButton: React.FC = () => {
const onLongPress = () => {
console.log('Long Press Detected');
};
const onClick = () => {
console.log('Click Detected');
<table style="border-color: 000000; border-collapse: collapse; text-align: center" border="1px">
<tbody>
<tr>
<td width="50">
<p>&nbsp;</p>
</td>
<td rowspan="2" width="40">
<p>Off</p>
</td>
<td width="32">
import React from "react";
interface columnWrapperType {
[key: string]: React.ReactNode[];
}
const MasonryLayout = (props: MasonryLayoutProps) => {
const columnWrapper: columnWrapperType = {};
const result = [];
@nileshkant
nileshkant / ToggleArray.js
Last active July 9, 2021 17:22
Toggle array elements. Example given using array of objects or number or string
// Solution 1
// using filter
const toggle = (arr, item, getValue = item => item) => {
if (arr.some(i => getValue(i) === getValue(item)))
return arr.filter(i => getValue(i) !== getValue(item));
else return [...arr, item];
};
// Solution 2 (Optimized)
// src/index.js
import 'dotenv/config';
import 'reflect-metadata';
import { createServer, Server as HttpServer } from 'http';
import { Application } from 'express';
import { Server } from './server';
import { dbConnection } from './dbConnection';
async function createDbConection() {
@nileshkant
nileshkant / change-ip-tables.sh
Created November 9, 2019 18:15 — forked from prog110/change-ip-tables.sh
AWS redirect port 80 -> 8080
iptables --insert INPUT --protocol tcp --dport 80 --jump ACCEPT
iptables --insert INPUT --protocol tcp --dport 8080 --jump ACCEPT
iptables --table nat --append PREROUTING --in-interface eth0 --protocol tcp --dport 80 --jump REDIRECT --to-port 8080
# run next line to have changes survive reboot
service iptables save