Dennis Kinuthia

- TypeScript23%
- JavaScript23%
- CSS20%
- HTML12%
- Shell3%
- Python3%
- C2%
- EJS1%
Vite
React
Expo
Node
TypeScript
NestJS
Tailwind
Express
Fastify
GraphQL
Apollo
React Query
Deno
SQLite
PostgreSQL
MongoDB
Firebase
Supabase
Pocketbase
my-property-manager
last updated
Property management dashboard with vite , tanstack and pocketbase
- pocketbase
- react
- typescript
inventory-management
last updated
Typescript End-to-end type-safe inventory management system built with Hono.js, React, PostgreSQL, and Drizzle ORM. Features OpenAPI docs, audit logging, and role-based access.
- drizzle-orm
- honojs
- kubb
- nodejs
- react
- tailwind
- tanstack-form
- tanstack-react-query
- tanstack-router
- turborepo
postbase
last updated
Simple PostgreSQL GUI for visualizing your databases ,tables and their column types
- postgresql
- react
mark-my-words
last updated
A vscode extension to publish selected snippet of text to a post endpoint
- extension
- markdown
- publish
- vscode
CoLabs-Frontend
last updated
Frontend Repo for the CoLabs project
typed-pocketbase
last updated
Add types to the PocketBase JavaScript SDK
- npm
- pocketbase
- tsup
- typescript
- nodejs-cli
github-dashboard
last updated
Github dashboard buitl using react ,, vite , rakkasjs and relay
- graphql
- react
- relay
- tailwind
- vite
inventory-management
last updated
Typescript End-to-end type-safe inventory management system built with Hono.js, React, PostgreSQL, and Drizzle ORM. Features OpenAPI docs, audit logging, and role-based access.
- drizzle-orm
- honojs
- kubb
- nodejs
- react
- tailwind
- tanstack-form
- tanstack-react-query
- tanstack-router
- turborepo
pr
3
Private project
last updated
React devs KE 🇰🇪 Meetup February 2025 | Crafting Reusable Code with React & TypeScript: From Design to NPM
slides used in the presentation building the generic component In this example we'll use...
read morePublished at:
2/2/2025Cookies auto clearing after browser refresh issue , CORS related express cookies issue
This error is a combination of CORS issues and incorrect cookie settings. To resolve you need to set...
read morePublished at:
1/12/2025Brevo smtp emails to other gmail accounts silently failing , verified domain to the rescue
odemailer with Brevo is an excellent combination for sending free emails (up to 300 per day) within...
read morePublished at:
1/12/2025View transition theme animations
Add cool effect when trnsitionning from light to dark mode using css and view...
read morePublished at:
9/25/2024
Adding Typings for JSON parse
Technique for making JSON parse emit the input object type instead of any
const obj = {
a: 'hello',
b: 1,
c: undefined,
d: {
toJSON() {
return 42;
}
},
e: () => console.log('hi from e')
}
const str = JSON.stringify(obj);//?
// ^?
const parsed = JSON.parse(str);
// ^?
writePersonObject('');
function writePersonObject(str: Stringified<{firstname: string, lastname: string}>) {
}
type JsonifiedValue<T> = T extends string | number | null | boolean
? T
: T extends {toJSON(): infer R} ? R
: T extends undefined | ((...args: any[]) => any) ? never
: T extends object ? JsonifiedObject<T>
: never;
type JsonifiedObject<T> = {
[Key in keyof T as [JsonifiedValue<T[Key]>] extends [never] ? never : Key]: JsonifiedValue<T[Key]>
}
parsed.b
type Stringified<ObjType> = string & {source: ObjType};
interface JSON {
stringify<T>(value: T, replacer?: null | undefined, space?: string | number): Stringified<T>;
parse<T>(str: Stringified<T>, replacer?: null | undefined): JsonifiedObject<T>;
}