Games, apps, and other cool stuff
















A crossword app for iPhone, iPad and the web. Open any .puz file, solve with a keyboard or write answers in with Apple Pencil, and pick from 20+ themes. Free, with no ads and no subscriptions.
import { belongsTo, cast, hasMany, Schema, t, timestamps } from "egon-orm";
export class User extends Schema("users", {
id: t.bigint({ mode: "number" }).primaryKey().dbGenerated(),
email: t.string(),
name: t.string().nullable(),
...timestamps(),
}) {
static posts = hasMany(() => Post, { foreignKey: "authorId" });
static changeset(user: User | typeof User, params: unknown) {
return cast(user, params, ["email", "name"])
.validateRequired(["email"])
.validateFormat("email", /^[^@\s]+@[^@\s]+$/)
.uniqueConstraint("email");
}
}import { count, from } from "egon-orm";
import { repo } from "./repo.js";
import { User } from "./schemas.js";
const counts = await repo.all(
from(User, "u")
.leftJoinAssoc("u", "posts", "p")
.groupBy(({ u }) => u.id)
.select(({ u, p }) => ({ email: u.email, posts: count(p.id) })),
); // type: { email: string; posts: number }[]

Peer to Peer marketplace allowing users to buy and sell board games. List games, accessories and handmade upgrades, search listings from sellers and local game stores across the country, and let Dicemates handle the payment and shipping so buyers and sellers can trade with confidence.

