Day in the Life Timeline

Life at Company

A day in the life

Wondering what it's actually like to work here? Here's a look at a typical day for one of our engineers.

9:00 AM

Morning kickoff

Start the day with a quick async standup in Slack. Grab coffee, review overnight messages, and plan the focus blocks for the day.

9:30 AM

Deep work session

Two uninterrupted hours of focused coding. No meetings, no pings. This is when the most impactful work happens — feature builds, bug fixes, or architecture spikes.

11:30 AM

Design & engineering sync

A 30-minute collaborative session with design and product to align on upcoming features, review prototypes, and give early feedback.

12:00 PM

Lunch break

Step away from the screen. Some of us cook, some go for a walk, some join the optional virtual lunch hangout — no pressure either way.

1:00 PM

Code review & pairing

Review pull requests from teammates, leave thoughtful feedback, and pair program on tricky problems. Knowledge sharing is part of our DNA.

3:00 PM

Afternoon focus & wrap-up

Another deep work block to finish the day strong. Push commits, update tickets, and share progress. Log off on time — we respect boundaries.

About this block

Day in the Life TimelinePRO

A typical workday timeline with time stamps, activity icons, and descriptions. Shows candidates what daily life looks like at the company.

Careers15: Day in the Life Timeline

A vertical single-column timeline in a centered narrow container: an optional badge, <strong>-aware heading, and lede sit above a stack of time-stamped rows, each pairing a circular icon node (connected by a vertical line to the next row) with a time label, title, and optional description.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/careers15?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/careers15?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/careers15.tsx, plus the badge shadcn/ui primitive it uses for the section eyebrow.

Quick start

The installed file exports careers15Demo alongside the block: the exact props behind the preview above. Spread it to get a working day-in-the-life timeline in one line.

tsx
import { Careers15, careers15Demo } from "@/components/beste/block/careers15";

export default function Page() {
  return <Careers15 {...careers15Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Code, Coffee } from "lucide-react";
import { Careers15 } from "@/components/beste/block/careers15";

export default function Page() {
  return (
    <Careers15
      badge={{ label: "Life at Company", variant: "secondary" }}
      heading="A day in the <strong>life</strong>"
      description="Here's a look at a typical day for one of our engineers."
      items={[
        { time: "9:00 AM", title: "Morning kickoff", description: "Async standup in Slack, coffee, plan the day.", icon: Coffee },
        { time: "9:30 AM", title: "Deep work session", description: "Two uninterrupted hours of focused coding.", icon: Code },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }–Optional eyebrow badge above the heading
headingstring–Section heading, supports inline <strong>
descriptionstring–Lede paragraph under the heading
itemsTimelineItem[][]Rows rendered top-to-bottom in the timeline
classNamestring–Extra classes for the outer <section>
ts
type TimelineItem = {
  time: string;
  title: string;
  description?: string;
  icon?: LucideIcon;
};

Behavior notes

  • The entire header block (badge, heading, description) is conditionally rendered only when at least one of the three props is truthy; with all three omitted the timeline starts flush at the top.
  • heading is injected via dangerouslySetInnerHTML, so inline <strong> is supported and styled text-primary via the [&>strong] selector; any markup you pass is rendered as raw HTML.
  • The connecting vertical line is drawn per row only when index < items.length - 1, so the final row's icon node has no trailing line.
  • Each item's icon is optional: when omitted the circular node still renders as an empty bordered circle rather than collapsing.
  • An item's description is optional and its paragraph is skipped entirely when absent, but time and title always render.
  • Rows are keyed by array index, so reordering or removing items mid-list can reuse component state; there is no id-based keying.
  • The block is purely presentational: it has no internal state, no callbacks, and no click handlers, so it renders exactly the items you pass with no interaction wiring.

More Careers blocks

View all Careers
PRO

careers10

Hiring Process Timeline

PRO

careers36

Hiring Manager Profiles

PRO

careers22

Employee Spotlight Story

Get Pro access