Skip to content

Instantly share code, notes, and snippets.

View Param-Harrison's full-sized avatar
❤️
⚡Helping engineers go from AI demos → production 🚀 https://learnwithparam.com

Paramanantham Harrison Param-Harrison

❤️
⚡Helping engineers go from AI demos → production 🚀 https://learnwithparam.com
View GitHub Profile
@Param-Harrison
Param-Harrison / restaurant_agent.py
Last active November 6, 2025 13:51
Restaurant Voice AI Agent using Livekit
"""
Restaurant Booking Voice Agent
==============================
🎯 LEARNING OBJECTIVES:
This demo teaches you how to build a LiveKit voice AI agent:
1. Voice Agent Architecture - How to structure a LiveKit voice agent
2. Speech-to-Text (STT) - How to configure STT for real-time transcription
3. Text-to-Speech (TTS) - How to configure TTS for natural voice responses
@Param-Harrison
Param-Harrison / django_deployment.md
Created April 29, 2024 15:25 — forked from FaridLU/deploy-django-production-ubuntu.md
Deploy Django project - Digital Ocean / AWS (EC2) - (Django + Redis + Gunicorn + Nginx + Supervisor + Lets Encrypt)

Login to your server via ssh

$ ssh root@server-ip-address

Initial Server Setup:

  1. Create a new user and set the password:
$ adduser ubuntu
---------------------------------------------------------------------------------------------------------------------
/* Schemas */
---------------------------------------------------------------------------------------------------------------------
create schema forum_example;
create schema forum_example_private;
---------------------------------------------------------------------------------------------------------------------
/* Extenstions */
---------------------------------------------------------------------------------------------------------------------
[
{
"id": "sku_HG9uF45PBaiuZm",
"categories": ["new arrivals"],
"name": "Timber Gray Sofa",
"price": "1000",
"description": "Stay a while. The Timber charme chocolat sofa is set atop an oak trim and flaunts fluffy leather back and seat cushions. Over time, this brown leather sofa’s full-aniline upholstery will develop a worn-in vintage look. Snuggle up with your cutie (animal or human) and dive into a bowl of popcorn. This sofa is really hard to leave. Natural color variations, wrinkles and creases are part of the unique characteristics of this leather. It will develop a relaxed vintage look with regular use.",
"brand": "Jason Bourne",
"currentInventory": 4
},
[
{
"categories": ["new arrivals"],
"name": "Timber Gray Sofa",
"price": "1000",
"description": "Stay a while. The Timber charme chocolat sofa is set atop an oak trim and flaunts fluffy leather back and seat cushions. Over time, this brown leather sofa’s full-aniline upholstery will develop a worn-in vintage look. Snuggle up with your cutie (animal or human) and dive into a bowl of popcorn. This sofa is really hard to leave. Natural color variations, wrinkles and creases are part of the unique characteristics of this leather. It will develop a relaxed vintage look with regular use.",
"brand": "Jason Bourne",
"currentInventory": 4
},
{
@Param-Harrison
Param-Harrison / app.js
Created January 22, 2020 10:13 — forked from joshnuss/app.js
Express.js role-based permissions middleware
// the main app file
import express from "express";
import loadDb from "./loadDb"; // dummy middleware to load db (sets request.db)
import authenticate from "./authentication"; // middleware for doing authentication
import permit from "./permission"; // middleware for checking if user's role is permitted to make request
const app = express(),
api = express.Router();
// first middleware will setup db connection
emulator -list-avds
emulator -avd <phone_id>
open -a Simulator
@Param-Harrison
Param-Harrison / gist:4c04b7689f6bd8b4b0a7a68508d47989
Created September 4, 2018 15:36 — forked from ehuynh/gist:2572398
Start and Stop Jenkins on OSX
# start
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
# stop
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
@Param-Harrison
Param-Harrison / slugify.js
Created April 13, 2018 14:13 — forked from mathewbyrne/slugify.js
Javascript Slugify
function slugify(text)
{
return text.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
.replace(/\-\-+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
.replace(/-+$/, ''); // Trim - from end of text
}
@Param-Harrison
Param-Harrison / Name matching in SQL Server.sql
Created April 4, 2018 11:51 — forked from Bergvca/Name matching in SQL Server.sql
Name matching in SQL Server example
-- First create matches using a UDF, here I am using a combination of Jaro Winkler and (a normalized version of) Levensthein
--
-- Input: cleaned_table: a table with "cleaned" names
-- Output: tmp_groups: a table with uid - group_id tuples. Each group_id contains all uid's that belong to names that match.
DROP TABLE #matches
SELECT a.clean_Name,
a.uid,
b.clean_Name clean_name_2,