projects
caffeineeee.me
(TS, Fullstack)
repoMy personal site.
- • Built OAuth auth backend using Auth.js (NextAuth.js), enabling a more secure and easier login.
- • Enhanced code quality by implementing CI/CD pipelines with `pre-commit` hooks and Biome.js to automate linting, fixing, and formatting.
- • Improved the UX by adding swipe gesture-based navigation with animation, mimicking native behavior using TouchEvent.
- • Tools: TS/JS, Node.js, React, Next.js, Tailwind, Auth.js (NextAuth.js), Drizzle ORM, Turso libSQL (SQLite), Git.
url-shortener
(TS, Fullstack)
repowebsiteShorten your URL.
- • Applied BASE62 encoding to generate the shortened URL.
- • Used Next.js middleware for redirection if a short URL maps to a long URL.
- • Adopted Test-Driven Development (TDD) to develop the core functionalities by creating unit test cases with Jest, increasing reliability.
- • Tools: TS/JS, Node.js, React, Next.js, Tailwind, Auth.js (NextAuth.js), Drizzle ORM, Turso libSQL (SQLite), Jest, Git.
rest-api-ts-sqlite
(TS, Backend)
repowebsiteA REST API backend to manage order and inventory data.
- • Delivered a fully functional REST API backend, aligned with the technical requirements/specifications per the client's request, in 7 days.
- • Streamlined testing processes using Falso `@ngneat/falso` (a better, tree-shakeable alternative to Faker.js) to generate mock data.
- • Tools: TS/JS, Node.js, Turso libSQL (SQLite), Git.
apollo-server-graphql-jwt-ts-simple-auth-backend
(TS, Backend)
repoA credentials-based (email & password) auth backend using Apollo GraphQL.
- • Learned Apollo GraphQL from scratch and delivered a fully functional auth backend, aligned with the technical requirements/specifications per the client's request, in 10 days.
- • Automated the generation of JS scripts from TS using TS Compiler, allowing the backend to run by consuming the generated JS scripts.
- • Tools: TS/JS, Node.js, Apollo GraphQL, Turso libSQL (SQLite), JSON Web Token (JWT), Git.
hacker-news-clone
(TS, Frontend)
repowebsiteA fully responsive, 1-to-1 clone of the Hacker News website, https://news.ycombinator.com, to practice styling skills using Tailwind.
- • Tools: TS/JS, Node.js, React, Next.js, Tailwind, Git.
batak_toba_indonesian_nmt
(Python, Machine learning)
repoIt's like Google Translate, but for Batak Toba (BBC) and Indonesian (IND), because there wasn't an option for Batak Toba in Google Translate (not until around June 2024, per https://support.google.com/translate/answer/15139004, by which time I had submitted my paper).
- • It's enough to translate short sentences (<30 words) but not long paragraphs.
- • Try out the live models on HuggingFace, here:
- ϕ BBC -> IND: https://huggingface.co/kepinsam/bbc-to-ind-nmt-v5.
- ϕ IND -> BBC: https://huggingface.co/kepinsam/ind-to-bbc-nmt-v5.
- • Published a paper in the academic journal IJAAS (International Journal of Advances in Applied Sciences), which is indexed in Scopus Q4 and SINTA 1 (as of June 2024):
https://doi.org/10.11591/ijaas.v13.i4.pp830-839
. - • Tools: Python, PyTorch, Transformers, Git.