
AI, Scalable Apps, Cloud, Architecture
Learn how-to create apps and websites.
Start creating apps that scale.
Become fullstack(🦆)* solution provider.
*simply be like a duck, fullstack (duck can fly, walk and swim :)
QuakApp
Realtime Gaming App with leaderboard
PINNED POSTS
- Event
- Service
- Aggregate
- ...

Kacper Walczak 06-03-2026
Local Voice Assistant with Ollama
Build your own local voice assistant powered by Ollama.

Kacper Walczak 06-03-2026
AI YouTube Thumbnail Generator
Generate YouTube thumbnails with FastAPI, Pillow and Ollama.
DDD

Kacper Walczak 04-09-2024
Domain Driven Design (DDD)
Lets learn how to utilize DDD approach with examples.
READ
Latest readings
Readings are sites which will help you with detailed
information about given topic. Read latest ones from Learn.
Local Voice Assistant with Ollama
Kacper Walczak · 06-03-2026
Build your own local voice assistant powered by Ollama.
AI YouTube Thumbnail Generator
Kacper Walczak · 06-03-2026
Generate YouTube thumbnails with FastAPI and Ollama.
05-09-2024
Compare Neo4j and Tigergraph databases, which is easier to work with, etc.
04-09-2024
Lets learn how to utilize DDD approach with examples.
03-09-2024
Service rebuild + NoSQL migration of millions of documents on Google Cloud.
LIBRARIES
QUAK Libraries
QUAK during the process of library creation is
focused mostly on end user experience. We devs,
deserved it. Click Library to learn more.

@media (prefers-color-scheme: dark) {
:root {
--background-color: #000;
--text-color: #fff;
}
}
@media (prefers-color-scheme: light) {
:root {
--background-color: #fff;
--text-color: #000;
}
}
body {
background-color: var(--background-color);
color: var(--text-color);
}import { http, Res } from "path/to/lib/http"; // http from bun-http repo
http.get("/", (req) => {
return new Res(`Hello from home`);
});
http.get("/product/:productId", (req) => {
return new Res(`Product id: ${req.params.productId}`);
});
http.post("/blog/create", (req) => {
return new Res(`${req.params}, ${req.query}, ${req.body}`);
});
const server = http.serve({ port: 3000 });
console.log(`Listening on port ${server.port}...`);
/* Example output
$ bun main.ts
[0.90ms] ".env"
Listening on port 3000...
8:27:48 PM: 200 GET /
8:27:52 PM: 200 GET /blog/123
8:27:56 PM: 405 POST /blog/123
8:27:58 PM: 200 GET /__endpoints // [DEV VIEW] list of all endpoints
*/
import { Qtheme } from '@quak.lib/qtheme'
import { darkTheme } from 'path/to/your/themes'
Qtheme.setTheme(darkTheme)
<body className="bg-color text-color">
<h1 className="text-primary">Hello world!</h1>
<p>This is regular text color</p>
<button className="btn">Action</button>
</body>
Use it as your reactive source of data.
class CounterStore extends Store<{count: number}> {
count$ = this.select(state => state.count)
constructor() { super({count: 0}) }
add(value: number) {
this.set({count: this.values.count + value})
}
}
@Component({
selector: 'app-counter',
template: `
<div>
<span>Count: {{counterStore.count$ | async}}</span>
<button (click)="counterStore.add(1)">Increment</button>
<button (click)="counterStore.add(5)">Add 5</button>
</div>
`
})
class CounterComponent implements OnInit {
constructor(public counterStore: CounterStore) {}
}
GAMES
QUAK Games
Play games made by QUAK
and have fun. Click game to play.
Quakky Game
Tap, tap, tap! Quakky is a simple 2D game
but addictive. Try to beat your highscore!





